FISCALISTO / API / REFERENCIA
FISCALISTO / API / REFERENCIA
Una venta que su comprador factura él mismo: con el código (code) y el total en el portal del emisor (url, que puede incrustar en su página con fiscalisto.js), da sus datos fiscales y la factura se timbra al momento con los timbres de su cuenta. Lo que nadie factura entra solo en la factura global del periodo. Registrar otra vez el mismo folio con el mismo total contesta el ticket que ya existe (los reintentos son seguros); con otro total, 409.
bearerAuthAutorizaciónBearer <llave>Su llave secreta: fk_test_… en pruebas, fk_live_… en producción. Desarrolladores › Llaves.
Idempotency-Key?stringOpcional (los SDK la mandan solos). Si la respuesta se pierde, repita la solicitud con el mismo valor durante 24 horas: contesta lo mismo, con idempotent-replayed: true, y no lo hace dos veces (ni crea, ni manda correos, ni cobra).
1 <= length <= 255application/jsonissuer?stringEl emisor (iss_…) que vendió. Por omisión, su único emisor.
folio*stringEl folio de la venta en su sistema, único por emisor: letras, números, - _ / y punto. Registrar el mismo folio con el mismo total responde el ticket que ya existe.
1 <= length <= 40total*numberLo que se cobró, impuestos incluidos y sin propina.
0 < value <= 10000000tip?numberPropina: no va en la factura. El cliente puede escribir el total con ella o sin ella.
0 <= value <= 10000000payment_form*stringc_FormaPago de la venta: 01 efectivo, 04 tarjeta de crédito…
^\d{2}$sold_at?stringCuándo se vendió: ISO 8601 (2026-10-02T13:45:00-06:00) o la hora de la Ciudad de México sin zona. Por omisión, ahora.
length <= 40product?stringUn producto (prd_…) de su catálogo: el concepto de la factura.
description?stringEl concepto. Con product, reemplaza su descripción; sin él, va con product_key.
1 <= length <= 1000product_key?stringc_ClaveProdServ (8 dígitos), si no usa product.
^\d{8}$unit_key?stringc_ClaveUnidad. Por omisión, la de la clave del producto.
^[A-Z0-9]{1,3}$iva?stringTasa de IVA incluida en el total. Por omisión 0.16.
"0""0.16""0.08""exento"Correcto.
application/jsonUna venta que su comprador puede facturar él mismo en el portal del emisor (autofactura).
id*stringIdentificador del objeto, con su prefijo (iss_, inv_, ret_, cus_, prd_, emp_, bat_, brn_, whs_, stm_, adj_, evt_, whe_).
livemode*booleantrue en producción (llaves fk_live_), false en pruebas (fk_test_). Lo de pruebas no vale ante el SAT.
object*stringQué tipo de objeto es («invoice», «customer»…).
issuer*stringEl emisor que vendió.
folio*stringEl folio de la venta en su sistema.
code*stringLo que su comprador escribe en el portal junto con el total: el folio y 4 caracteres al azar (A123-K7QX). Imprímalo en el ticket o mándelo con la compra.
status*stringpending (se puede facturar), invoiced (su comprador lo facturó: la factura en invoice), global (entró en la factura global del periodo) o cancelled.
"pending""invoiced""global""cancelled"url*|La página del portal con el código ya escrito: el comprador pone el total y sus datos. Puede incrustarla con fiscalisto.js. null si ya no está pendiente.
total*numberLo que se cobró, impuestos incluidos y sin propina.
tip*numberLa propina (no va en la factura).
payment_form*stringc_FormaPago de la venta.
description*stringEl concepto de la factura.
product_key*stringc_ClaveProdServ del concepto.
sold_at*stringCuándo se vendió.
date-timeinvoiceable_until*stringEl último día (AAAA-MM-DD) en que el comprador puede facturarlo; después entra en la factura global.
invoice*|La factura (inv_…) que hizo su comprador, o null.
global_invoice*|La factura global (inv_…) en que entró, o null.
customer*|A quién se facturó, o null.
created_at*|Cuándo se registró.
curl -X POST 'https://api.fiscalisto.com/v1/tickets' \ -H 'Authorization: Bearer fk_test_…' \ -H 'Idempotency-Key: 8f14e45f-ceea-467a-9575-6a1b0e5f3c21' \ -H 'Content-Type: application/json' \ -d '{ "folio": "A1042", "total": 580, "payment_form": "04", "product_key": "90101501", "description": "Consumo de alimentos", "sold_at": "2026-10-24T14:32:00-06:00"}'{ "id": "tkt_OufpKqnrvx9p6hW1yQbT3mZr8sKdLx0VeN", "object": "ticket", "livemode": false, "issuer": "iss_OufpKqnrvx9p", "folio": "A1042", "code": "A1042-K7QX", "status": "pending", "url": "https://fiscalisto.com/autofactura/Tx8mQ2vLp9WnR4c?c=A1042-K7QX", "total": 580, "tip": 0, "payment_form": "04", "description": "Consumo de alimentos", "product_key": "90101501", "sold_at": "2026-10-24T14:32:00-06:00", "invoiceable_until": "2026-10-31", "invoice": null, "global_invoice": null, "customer": null, "created_at": "2026-10-24T14:32:05-06:00"}