FISCALISTO / API / REFERENCIA
Mandar una cotización
La manda por correo con su PDF y la liga donde el cliente la ve, la acepta, pide cambios o la rechaza. Con send_email: false solo se marca enviada y contesta url, para que usted la mande por WhatsApp o su propio correo.
bearerAuthAutorizaciónBearer <llave>Su llave secreta: fk_test_… en pruebas, fk_live_… en producción. Desarrolladores › Llaves.
id*stringEl id del objeto.
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/json- body
send_email?booleanMandarla por correo, con su PDF y la liga (por omisión true). Con false solo se marca enviada y contesta url, para que usted la mande.
to?stringA quién (hasta 5 correos). Por omisión, el correo del cliente.
length <= 500message?stringUn mensaje en el correo.
length <= 2000auto_invoice?booleanAl aceptarla, timbrar la factura sola (con los datos fiscales del cliente; si no los tiene, la página se los pide primero). Por omisión false: la factura se timbra con POST /v1/quotes/{id}/invoice.
Correcto.
application/json- response
Una cotización: su cliente la ve en una liga, la acepta, pide cambios o la rechaza, y se factura.
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 (iss_…).
number*stringSu serie y folio, como lo ve el cliente (COT-12).
version*integerCambiar una ya enviada hace una versión nueva con el mismo número; el id contesta siempre la última.
-9007199254740991 <= value <= 9007199254740991status*stringdraft, sent, viewed (el cliente abrió la liga), accepted, rejected, expired (pasó valid_until) o invoiced.
"draft""sent""viewed""accepted""rejected""expired""invoiced"url*|La liga donde el cliente la ve, descarga su PDF, la acepta, pide cambios o la rechaza; null mientras sea borrador.
customer*A quién va: tax_id null si aún no tiene sus datos fiscales; catalog_id es su cliente (cus_…) en su catálogo, o null.
currency*stringLa moneda.
items*array<>Los conceptos, como los de una factura.
total*|El total con impuestos.
valid_until*stringSu último día de validez (AAAA-MM-DD).
terms*|Las condiciones impresas: entrega, anticipo, garantía…
notes*|Las notas, como las de una factura.
auto_invoice*booleanSi al aceptarla se timbra la factura sola.
customer_comment*|Lo que escribió el cliente al pedir cambios o al rechazarla, o null.
sent_at*|Cuándo se envió.
viewed_at*|Cuándo el cliente abrió la liga por primera vez.
decided_at*|Cuándo se aceptó o rechazó.
decided_by*|customer (en su liga) o user (usted, con POST /v1/quotes/{id}/accept o desde la app).
invoice*|La factura (inv_…) que se timbró de ella, o null.
created_at*|Cuándo se creó.
curl -X POST 'https://api.fiscalisto.com/v1/quotes/string/send' \ -H 'Authorization: Bearer fk_test_…' \ -H 'Idempotency-Key: 8f14e45f-ceea-467a-9575-6a1b0e5f3c21' \ -H 'Content-Type: application/json' \ -d '{ "to": "compras@cva.example", "message": "Le comparto la cotización del sitio."}'{ "id": "quo_OufpKqnrvx9p3Kd8wQm2XyT5uBcW8sKdLx", "object": "quote", "livemode": false, "issuer": "iss_OufpKqnrvx9p", "number": "COT-12", "version": 1, "status": "sent", "url": "https://fiscalisto.com/cotizacion/7Hq2mZr1XyT5uBcW8sKdLx0VeNOufpKq", "customer": { "tax_id": "ICV060329BY0", "name": "INMOBILIARIA CVA", "email": "compras@cva.example", "catalog_id": "cus_OufpKqnrvx9p42" }, "currency": "MXN", "items": [ { "description": "Desarrollo del sitio web", "product_key": "81112103", "quantity": 1, "unit_key": "E48", "unit_price": 45000 } ], "total": 52200, "valid_until": "2026-11-09", "terms": "50% de anticipo, entrega en 4 semanas.", "notes": null, "auto_invoice": true, "customer_comment": null, "sent_at": "2026-10-25T10:12:00-06:00", "viewed_at": null, "decided_at": null, "decided_by": null, "invoice": null, "created_at": "2026-10-25T10:05:00-06:00"}