GET https://api.fire.rest/v1/orders/21ec1f6c-c301-4528-b999-7836c1d21c6c/fiscal-print
x-api-key: <sua_api_key>
Accept: application/json
{
"fiscal": {
"countryCode": "BR",
"documentType": "nfce",
"documentNumber": "1000013",
"authorizationProtocol": "141200000956123",
"authorizedAt": "2026-05-06T01:23:10.991Z",
"pdfUrl": "https://api.fiscal-provider.example/nfce/<docId>/pdf",
"xmlUrl": "https://api.fiscal-provider.example/nfce/<docId>/xml",
"status": "authorized",
"source": "authority",
"graphic": null
},
"countryData": {
"chaveAcesso": "41201008187168000160558050010000131609769080",
"serie": "1",
"serialNumber": 1
},
"company": {
"legalName": "Sandbox LTDA",
"tradeName": "Sandbox",
"govIdType": "CNPJ",
"govIdNumber": "00000000000000"
},
"store": {
"name": "Loja Centro - SP",
"code": "BR-SP-001",
"govIdType": "CNPJ",
"govIdNumber": "00000000000000",
"stateRegistration": "000000000000",
"city": "São Paulo",
"address": "Av. Paulista 1578, Bela Vista",
"phone": "1132094347"
},
"buyer": {
"isFinalConsumer": true,
"govIdType": "FINAL_CONSUMER",
"govIdNumber": "00000000000",
"name": "CONSUMIDOR FINAL",
"email": null,
"phone": null,
"address": null
},
"order": {
"id": "21ec1f6c-c301-4528-b999-7836c1d21c6c",
"orderCode": "OC-br-001",
"status": "COMPLETED",
"isCancelled": false,
"businessDayDate": "2026-05-06",
"createdAt": "2026-05-06T01:22:59.028Z"
}
}
Repare que não há fiscalRepresentation. O Brasil fiscaliza por callback, sem passar pelo
Fiscal Gateway: não há documento numerado pela Fire para espelhar, então a chave simplesmente não
vem. A resposta é a mesma de sempre, campo por campo.
{
"fiscal": {
"countryCode": "EC",
"documentNumber": "001-001-000000003",
"authorizationProtocol": "1508202601179001234500120010010000000031234567813",
"authorizedAt": null,
"pdfUrl": null,
"xmlUrl": null,
"status": "processing",
"source": "representation",
"graphic": {
"qr": "1508202601179001234500120010010000000031234567813"
}
},
"countryData": {
"numeroComprobante": "001-001-000000003",
"claveAcceso": "1508202601179001234500120010010000000031234567813",
"numeroAutorizacion": null,
"ambiente": "PRODUCCION"
},
"fiscalRepresentation": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA",
"documentNumber": "001-001-000000003",
"issuedAt": "2026-08-15T22:32:14.826Z",
"numberingStatus": "GENERATED",
"authorizationMode": "ONLINE",
"authorizationLabel": "EMISION NORMAL",
"environment": "PRODUCTION",
"providerCode": "hio",
"countryData": {
"numeroComprobante": "001-001-000000003",
"claveAcceso": "1508202601179001234500120010010000000031234567813",
"establecimiento": "001",
"puntoEmision": "001",
"secuencial": "000000003",
"ambiente": "PRODUCCION"
},
"graphic": { "qr": "1508202601179001234500120010010000000031234567813" },
"failure": null,
"compensates": null,
"history": []
},
"company": {
"legalName": "INT FOOD SERVICES CORP SA",
"tradeName": "KFC",
"govIdType": "RUC",
"govIdNumber": "1791415132001"
},
"order": {
"orderCode": "FUEL-EC-PRINT-0002",
"status": "COMPLETED",
"isCancelled": false
}
}
{
"fiscal": {
"countryCode": "EC",
"documentNumber": "001-001-000000009",
"status": "authorized",
"source": "representation",
"graphic": { "qr": "1508202604179001234500120010010000000091234567815" }
},
"countryData": {
"numeroComprobante": "001-001-000000009",
"claveAcceso": "1508202604179001234500120010010000000091234567815",
"numeroAutorizacion": null,
"ambiente": "PRODUCCION"
},
"fiscalRepresentation": {
"documentType": "CREDIT_NOTE",
"documentLabel": "NOTA DE CREDITO RIDE",
"documentNumber": "001-001-000000009",
"issuedAt": "2026-08-15T23:05:11.402Z",
"numberingStatus": "GENERATED",
"authorizationMode": "ONLINE",
"authorizationLabel": "EMISION NORMAL",
"environment": "PRODUCTION",
"providerCode": "hio",
"countryData": {
"numeroComprobante": "001-001-000000009",
"claveAcceso": "1508202604179001234500120010010000000091234567815",
"ambiente": "PRODUCCION"
},
"graphic": { "qr": "1508202604179001234500120010010000000091234567815" },
"failure": null,
"compensates": {
"documentNumber": "001-001-000000008",
"issuedAt": "2026-08-15T23:02:41.237Z",
"reason": "ORDER_CANCELLATION",
"reasonLabel": "Anulación de pedido"
},
"history": [
{
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA",
"documentNumber": "001-001-000000008",
"issuedAt": "2026-08-15T23:02:41.237Z",
"numberingStatus": "GENERATED",
"countryData": {
"numeroComprobante": "001-001-000000008",
"claveAcceso": "1508202601179001234500120010010000000081234567819",
"ambiente": "PRODUCCION"
},
"graphic": { "qr": "1508202601179001234500120010010000000081234567819" },
"compensates": null
}
]
},
"order": {
"orderCode": "FUEL-EC-NC-0030",
"status": "CANCELLED",
"isCancelled": true
}
}
{
"fiscal": {
"countryCode": "CO",
"documentNumber": "SETP990000001",
"authorizationProtocol": "9c4f1e… (o CUFE)",
"authorizedAt": null,
"pdfUrl": null,
"xmlUrl": null,
"status": "processing",
"source": "representation",
"graphic": null
},
"countryData": {
"numeroComprobante": "SETP990000001",
"cufe": "9c4f1e… (96 caracteres hexadecimais)",
"prefijo": "SETP",
"numeroDian": "990000001",
"qrCode": "https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=9c4f1e…",
"ambiente": "PRODUCCION"
},
"fiscalRepresentation": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA ELECTRONICA DE VENTA",
"documentNumber": "SETP990000001",
"issuedAt": "2026-08-16T14:21:03.118Z",
"numberingStatus": "GENERATED",
"authorizationMode": "ONLINE",
"authorizationLabel": "VALIDACION PREVIA"
}
}
A nota de crédito não substitui a fatura: ela a desloca. Em cima fica o documento vigente —a
nota, com o seu próprio número e o seu compensates— e a fatura que o cliente levou impressa
desce para history, com o mesmo formato. Para reimprimi-la, você a tira de lá.
O ticket é impresso antes de o SRI responder. No exemplo acima source: "representation" e
authorizedAt: null: o comprovante já tem o seu número —numeroComprobante, o que vai no
papel— mas numeroAutorizacion continua vazio porque o órgão ainda não se pronunciou. Quando o
fizer, o número do comprovante não muda; soma-se a autorização.
{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key"
}
}
{
"error": {
"code": "forbidden",
"message": "API key is missing the orders:read scope"
}
}
{
"error": {
"code": "not_found",
"message": "Order not found"
}
}
Dados fiscais para impressão
Obtenha os dados fiscais imprimíveis de um pedido — emissor, loja, comprador, referências do documento e campos específicos por país. Use para renderizar um recibo ou nota fiscal do lado da sua integração.
GET https://api.fire.rest/v1/orders/21ec1f6c-c301-4528-b999-7836c1d21c6c/fiscal-print
x-api-key: <sua_api_key>
Accept: application/json
{
"fiscal": {
"countryCode": "BR",
"documentType": "nfce",
"documentNumber": "1000013",
"authorizationProtocol": "141200000956123",
"authorizedAt": "2026-05-06T01:23:10.991Z",
"pdfUrl": "https://api.fiscal-provider.example/nfce/<docId>/pdf",
"xmlUrl": "https://api.fiscal-provider.example/nfce/<docId>/xml",
"status": "authorized",
"source": "authority",
"graphic": null
},
"countryData": {
"chaveAcesso": "41201008187168000160558050010000131609769080",
"serie": "1",
"serialNumber": 1
},
"company": {
"legalName": "Sandbox LTDA",
"tradeName": "Sandbox",
"govIdType": "CNPJ",
"govIdNumber": "00000000000000"
},
"store": {
"name": "Loja Centro - SP",
"code": "BR-SP-001",
"govIdType": "CNPJ",
"govIdNumber": "00000000000000",
"stateRegistration": "000000000000",
"city": "São Paulo",
"address": "Av. Paulista 1578, Bela Vista",
"phone": "1132094347"
},
"buyer": {
"isFinalConsumer": true,
"govIdType": "FINAL_CONSUMER",
"govIdNumber": "00000000000",
"name": "CONSUMIDOR FINAL",
"email": null,
"phone": null,
"address": null
},
"order": {
"id": "21ec1f6c-c301-4528-b999-7836c1d21c6c",
"orderCode": "OC-br-001",
"status": "COMPLETED",
"isCancelled": false,
"businessDayDate": "2026-05-06",
"createdAt": "2026-05-06T01:22:59.028Z"
}
}
Repare que não há fiscalRepresentation. O Brasil fiscaliza por callback, sem passar pelo
Fiscal Gateway: não há documento numerado pela Fire para espelhar, então a chave simplesmente não
vem. A resposta é a mesma de sempre, campo por campo.
{
"fiscal": {
"countryCode": "EC",
"documentNumber": "001-001-000000003",
"authorizationProtocol": "1508202601179001234500120010010000000031234567813",
"authorizedAt": null,
"pdfUrl": null,
"xmlUrl": null,
"status": "processing",
"source": "representation",
"graphic": {
"qr": "1508202601179001234500120010010000000031234567813"
}
},
"countryData": {
"numeroComprobante": "001-001-000000003",
"claveAcceso": "1508202601179001234500120010010000000031234567813",
"numeroAutorizacion": null,
"ambiente": "PRODUCCION"
},
"fiscalRepresentation": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA",
"documentNumber": "001-001-000000003",
"issuedAt": "2026-08-15T22:32:14.826Z",
"numberingStatus": "GENERATED",
"authorizationMode": "ONLINE",
"authorizationLabel": "EMISION NORMAL",
"environment": "PRODUCTION",
"providerCode": "hio",
"countryData": {
"numeroComprobante": "001-001-000000003",
"claveAcceso": "1508202601179001234500120010010000000031234567813",
"establecimiento": "001",
"puntoEmision": "001",
"secuencial": "000000003",
"ambiente": "PRODUCCION"
},
"graphic": { "qr": "1508202601179001234500120010010000000031234567813" },
"failure": null,
"compensates": null,
"history": []
},
"company": {
"legalName": "INT FOOD SERVICES CORP SA",
"tradeName": "KFC",
"govIdType": "RUC",
"govIdNumber": "1791415132001"
},
"order": {
"orderCode": "FUEL-EC-PRINT-0002",
"status": "COMPLETED",
"isCancelled": false
}
}
{
"fiscal": {
"countryCode": "EC",
"documentNumber": "001-001-000000009",
"status": "authorized",
"source": "representation",
"graphic": { "qr": "1508202604179001234500120010010000000091234567815" }
},
"countryData": {
"numeroComprobante": "001-001-000000009",
"claveAcceso": "1508202604179001234500120010010000000091234567815",
"numeroAutorizacion": null,
"ambiente": "PRODUCCION"
},
"fiscalRepresentation": {
"documentType": "CREDIT_NOTE",
"documentLabel": "NOTA DE CREDITO RIDE",
"documentNumber": "001-001-000000009",
"issuedAt": "2026-08-15T23:05:11.402Z",
"numberingStatus": "GENERATED",
"authorizationMode": "ONLINE",
"authorizationLabel": "EMISION NORMAL",
"environment": "PRODUCTION",
"providerCode": "hio",
"countryData": {
"numeroComprobante": "001-001-000000009",
"claveAcceso": "1508202604179001234500120010010000000091234567815",
"ambiente": "PRODUCCION"
},
"graphic": { "qr": "1508202604179001234500120010010000000091234567815" },
"failure": null,
"compensates": {
"documentNumber": "001-001-000000008",
"issuedAt": "2026-08-15T23:02:41.237Z",
"reason": "ORDER_CANCELLATION",
"reasonLabel": "Anulación de pedido"
},
"history": [
{
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA",
"documentNumber": "001-001-000000008",
"issuedAt": "2026-08-15T23:02:41.237Z",
"numberingStatus": "GENERATED",
"countryData": {
"numeroComprobante": "001-001-000000008",
"claveAcceso": "1508202601179001234500120010010000000081234567819",
"ambiente": "PRODUCCION"
},
"graphic": { "qr": "1508202601179001234500120010010000000081234567819" },
"compensates": null
}
]
},
"order": {
"orderCode": "FUEL-EC-NC-0030",
"status": "CANCELLED",
"isCancelled": true
}
}
{
"fiscal": {
"countryCode": "CO",
"documentNumber": "SETP990000001",
"authorizationProtocol": "9c4f1e… (o CUFE)",
"authorizedAt": null,
"pdfUrl": null,
"xmlUrl": null,
"status": "processing",
"source": "representation",
"graphic": null
},
"countryData": {
"numeroComprobante": "SETP990000001",
"cufe": "9c4f1e… (96 caracteres hexadecimais)",
"prefijo": "SETP",
"numeroDian": "990000001",
"qrCode": "https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=9c4f1e…",
"ambiente": "PRODUCCION"
},
"fiscalRepresentation": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA ELECTRONICA DE VENTA",
"documentNumber": "SETP990000001",
"issuedAt": "2026-08-16T14:21:03.118Z",
"numberingStatus": "GENERATED",
"authorizationMode": "ONLINE",
"authorizationLabel": "VALIDACION PREVIA"
}
}
A nota de crédito não substitui a fatura: ela a desloca. Em cima fica o documento vigente —a
nota, com o seu próprio número e o seu compensates— e a fatura que o cliente levou impressa
desce para history, com o mesmo formato. Para reimprimi-la, você a tira de lá.
O ticket é impresso antes de o SRI responder. No exemplo acima source: "representation" e
authorizedAt: null: o comprovante já tem o seu número —numeroComprobante, o que vai no
papel— mas numeroAutorizacion continua vazio porque o órgão ainda não se pronunciou. Quando o
fizer, o número do comprovante não muda; soma-se a autorização.
{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key"
}
}
{
"error": {
"code": "forbidden",
"message": "API key is missing the orders:read scope"
}
}
{
"error": {
"code": "not_found",
"message": "Order not found"
}
}
- Contexto do emissor — entidade legal, gov ID, info de loja, inscrição estadual
- Referências fiscais por país — chave de acesso, CUFE, clave de acceso, CAE, folio, etc., conforme país
- Contexto do comprador — destinatário, com flag de anônimo/consumidor final
- Resumo do pedido — código, status, dia de negócio
Duas versões, as duas vivas
GET /api/v1/restaurant-os/injected-orders/{orderId}/fiscal-print
GET /api/v2/restaurant-os/injected-orders/{orderId}/fiscal-print
| v1 | v2 | |
|---|---|---|
| Blocos da resposta | fiscal, countryData, company, store, buyer, order | os mesmos + fiscalRepresentation |
Códigos do órgão em countryData | crus (ambiente: "2") | traduzidos (ambiente: "PRODUCCION") |
| Nota de crédito | não dá para compor | compensates + history |
ambiente é o mesmo campo com outro
valor— e mudá-lo na v1 tiraria o dado debaixo dos pés de um caixa já integrado. Não há data de
descontinuação para a v1.fiscalRepresentation).fiscalRepresentation— o documento tal como foi numerado, com o seu histórico. É o que torna imprimível uma nota de crédito: trazcompensates(qual nota anula, com o motivo já redigido) e essa nota inteira emhistory. Na v1 essa informação não existe.- Rótulos resolvidos —
FACTURA,NOTA DE CREDITO RIDE,EMISION NORMAL,PRODUCCION: os códigos do órgão já traduzidos, para que você não carregue a tabela dele dentro do seu POS. - A data de emissão (
issuedAt) do comprovante, que a v1 não expõe.
Autenticação
orders:read. Vendor-scoped: a API key deve pertencer ao mesmo vendor dono da loja/pedido.Path parameters
| referência | o que é |
|---|---|
orders.id | o UUID interno do Fire (coincide com data.orderId em order.completed) |
order_external | o id que você atribuiu ao criar o pedido |
metadata.order_id | cópia do id externo dentro do pedido |
Query parameters
vendorId foi removido — se enviado, é ignorado.GET https://api.fire.rest/v1/orders/21ec1f6c-c301-4528-b999-7836c1d21c6c/fiscal-print
x-api-key: <sua_api_key>
Accept: application/json
Resposta
Mostrar fiscal
Mostrar fiscal
BR, CO, EC, CL, AR, VE.nfce, nfe, factura_electronica, dte, factura_a.001-020-000000123 (e aparece também como
countryData.numeroComprobante), enquanto a resposta do SRI vive em
countryData.numeroAutorizacion.null até o documento ser autorizado.processing, authorized, cancelled, …), ou null se o pedido não é fiscalizado. Sem isso os null acima são ambíguos: não dá para distinguir “o órgão ainda não autorizou” de “autorizou mas falta o dado”.documentNumber, authorizationProtocol e countryData:authority— confirmados pelo órgão. São definitivos.representation— emitidos pela numeração fiscal antes de o órgão responder. É o que já foi impresso no caixa e não vai mudar, mas ainda não está autorizado:authorizedAtcontinuanullde propósito.null— nem uma coisa nem outra.
representation NÃO deve dizer que está autorizado.null quando não devolveu nenhum ou a venda não foi numerada.É devolvido porque a reimpressão é justamente o caso em que o ticket original já não existe: no Equador o QR coincide com a chave de acesso e poderia ser reconstruído, mas num país onde ele leve outra coisa o caixa não teria com que montá-lo.fiscal.countryCode. Exemplos:- BR:
chaveAcesso(44 dígitos),serie,serialNumber - CO:
cufe,prefijo,numeroDian - EC:
numeroComprobante,claveAcceso(49 dígitos),numeroAutorizacion,ambiente - CL:
folio,ted,tipoDte,trackId - AR:
cae,fechaVtoCae,puntoVenta,numeroComprobante,tipoComprobante - VE:
numeroControl,numeroFactura,rifEmisor
ambiente: "2" —é assim que o SRI define— e na v2 chega "PRODUCCION", que é o que vai
impresso. Na v1 esse campo continua trazendo "2", sem mudanças.
É o mesmo critério da numeração fiscal: traduzir isso do lado do ponto de venda
significaria que cada integrador carrega a sua cópia da tabela do órgão, e o primeiro que a
copiar errado imprime “PRUEBAS” numa nota de produção.Um país sem tabela de rótulos devolve os seus valores tal como vieram.null: não está lá.É o mesmo formato que viaja em data.fiscalRepresentation dos eventos, então quem aprende a ler
um lê o outro.fiscal. Respondem perguntas diferentes: fiscal é o documento
com o veredito do órgão por cima —estado, protocolo, data de autorização— e muda quando o
órgão responde. Este outro é o que foi impresso no caixa e não muda nunca.Quando o SRI autoriza, fiscal.status passa a authorized e aparecem o PDF e o XML, mas o
número do comprovante continua o mesmo. São dois fatos, não duas versões do mesmo.Mostrar fiscalRepresentation
Mostrar fiscalRepresentation
SALE_INVOICE ou CREDIT_NOTE. Canônico: significa o mesmo em todos os países.FACTURA, NOTA DE CREDITO RIDE. Já traduzido.GENERATED, FAILED). NÃO é o veredito do órgão — esse
vive em fiscal.status.ONLINE · OFFLINE · BATCH.EMISION NORMAL / EMISION POR CONTINGENCIA. No Equador o SRI exige que seja impresso.SANDBOX / PRODUCTION). Não confunda com o ambiente do órgão, que
viaja dentro de countryData com o código do país.N. FACTURA MODIFICADA e FECHA EMISION FAC..É um ponteiro, não uma cópia: documentNumber é a chave com a qual se resolve contra
history, onde está o documento inteiro com o seu bloco de país. Traz ainda reasonLabel, o
motivo já redigido.Mostrar store
Mostrar store
BR-SP-001).Mostrar buyer
Mostrar buyer
true para consumidor anônimo (ex.: placeholder BR CONSUMIDOR FINAL). Quando é true, name, email, phone, address tipicamente são null e govIdType é "FINAL_CONSUMER" com govIdNumber: null (ou um placeholder por país).CPF, CNPJ, RUT, DNI, etc.).null para isFinalConsumer: true.{
"fiscal": {
"countryCode": "BR",
"documentType": "nfce",
"documentNumber": "1000013",
"authorizationProtocol": "141200000956123",
"authorizedAt": "2026-05-06T01:23:10.991Z",
"pdfUrl": "https://api.fiscal-provider.example/nfce/<docId>/pdf",
"xmlUrl": "https://api.fiscal-provider.example/nfce/<docId>/xml",
"status": "authorized",
"source": "authority",
"graphic": null
},
"countryData": {
"chaveAcesso": "41201008187168000160558050010000131609769080",
"serie": "1",
"serialNumber": 1
},
"company": {
"legalName": "Sandbox LTDA",
"tradeName": "Sandbox",
"govIdType": "CNPJ",
"govIdNumber": "00000000000000"
},
"store": {
"name": "Loja Centro - SP",
"code": "BR-SP-001",
"govIdType": "CNPJ",
"govIdNumber": "00000000000000",
"stateRegistration": "000000000000",
"city": "São Paulo",
"address": "Av. Paulista 1578, Bela Vista",
"phone": "1132094347"
},
"buyer": {
"isFinalConsumer": true,
"govIdType": "FINAL_CONSUMER",
"govIdNumber": "00000000000",
"name": "CONSUMIDOR FINAL",
"email": null,
"phone": null,
"address": null
},
"order": {
"id": "21ec1f6c-c301-4528-b999-7836c1d21c6c",
"orderCode": "OC-br-001",
"status": "COMPLETED",
"isCancelled": false,
"businessDayDate": "2026-05-06",
"createdAt": "2026-05-06T01:22:59.028Z"
}
}
fiscalRepresentation. O Brasil fiscaliza por callback, sem passar pelo
Fiscal Gateway: não há documento numerado pela Fire para espelhar, então a chave simplesmente não
vem. A resposta é a mesma de sempre, campo por campo.{
"fiscal": {
"countryCode": "EC",
"documentNumber": "001-001-000000003",
"authorizationProtocol": "1508202601179001234500120010010000000031234567813",
"authorizedAt": null,
"pdfUrl": null,
"xmlUrl": null,
"status": "processing",
"source": "representation",
"graphic": {
"qr": "1508202601179001234500120010010000000031234567813"
}
},
"countryData": {
"numeroComprobante": "001-001-000000003",
"claveAcceso": "1508202601179001234500120010010000000031234567813",
"numeroAutorizacion": null,
"ambiente": "PRODUCCION"
},
"fiscalRepresentation": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA",
"documentNumber": "001-001-000000003",
"issuedAt": "2026-08-15T22:32:14.826Z",
"numberingStatus": "GENERATED",
"authorizationMode": "ONLINE",
"authorizationLabel": "EMISION NORMAL",
"environment": "PRODUCTION",
"providerCode": "hio",
"countryData": {
"numeroComprobante": "001-001-000000003",
"claveAcceso": "1508202601179001234500120010010000000031234567813",
"establecimiento": "001",
"puntoEmision": "001",
"secuencial": "000000003",
"ambiente": "PRODUCCION"
},
"graphic": { "qr": "1508202601179001234500120010010000000031234567813" },
"failure": null,
"compensates": null,
"history": []
},
"company": {
"legalName": "INT FOOD SERVICES CORP SA",
"tradeName": "KFC",
"govIdType": "RUC",
"govIdNumber": "1791415132001"
},
"order": {
"orderCode": "FUEL-EC-PRINT-0002",
"status": "COMPLETED",
"isCancelled": false
}
}
{
"fiscal": {
"countryCode": "EC",
"documentNumber": "001-001-000000009",
"status": "authorized",
"source": "representation",
"graphic": { "qr": "1508202604179001234500120010010000000091234567815" }
},
"countryData": {
"numeroComprobante": "001-001-000000009",
"claveAcceso": "1508202604179001234500120010010000000091234567815",
"numeroAutorizacion": null,
"ambiente": "PRODUCCION"
},
"fiscalRepresentation": {
"documentType": "CREDIT_NOTE",
"documentLabel": "NOTA DE CREDITO RIDE",
"documentNumber": "001-001-000000009",
"issuedAt": "2026-08-15T23:05:11.402Z",
"numberingStatus": "GENERATED",
"authorizationMode": "ONLINE",
"authorizationLabel": "EMISION NORMAL",
"environment": "PRODUCTION",
"providerCode": "hio",
"countryData": {
"numeroComprobante": "001-001-000000009",
"claveAcceso": "1508202604179001234500120010010000000091234567815",
"ambiente": "PRODUCCION"
},
"graphic": { "qr": "1508202604179001234500120010010000000091234567815" },
"failure": null,
"compensates": {
"documentNumber": "001-001-000000008",
"issuedAt": "2026-08-15T23:02:41.237Z",
"reason": "ORDER_CANCELLATION",
"reasonLabel": "Anulación de pedido"
},
"history": [
{
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA",
"documentNumber": "001-001-000000008",
"issuedAt": "2026-08-15T23:02:41.237Z",
"numberingStatus": "GENERATED",
"countryData": {
"numeroComprobante": "001-001-000000008",
"claveAcceso": "1508202601179001234500120010010000000081234567819",
"ambiente": "PRODUCCION"
},
"graphic": { "qr": "1508202601179001234500120010010000000081234567819" },
"compensates": null
}
]
},
"order": {
"orderCode": "FUEL-EC-NC-0030",
"status": "CANCELLED",
"isCancelled": true
}
}
{
"fiscal": {
"countryCode": "CO",
"documentNumber": "SETP990000001",
"authorizationProtocol": "9c4f1e… (o CUFE)",
"authorizedAt": null,
"pdfUrl": null,
"xmlUrl": null,
"status": "processing",
"source": "representation",
"graphic": null
},
"countryData": {
"numeroComprobante": "SETP990000001",
"cufe": "9c4f1e… (96 caracteres hexadecimais)",
"prefijo": "SETP",
"numeroDian": "990000001",
"qrCode": "https://catalogo-vpfe.dian.gov.co/document/searchqr?documentkey=9c4f1e…",
"ambiente": "PRODUCCION"
},
"fiscalRepresentation": {
"documentType": "SALE_INVOICE",
"documentLabel": "FACTURA ELECTRONICA DE VENTA",
"documentNumber": "SETP990000001",
"issuedAt": "2026-08-16T14:21:03.118Z",
"numberingStatus": "GENERATED",
"authorizationMode": "ONLINE",
"authorizationLabel": "VALIDACION PREVIA"
}
}
compensates— e a fatura que o cliente levou impressa
desce para history, com o mesmo formato. Para reimprimi-la, você a tira de lá.source: "representation" e
authorizedAt: null: o comprovante já tem o seu número —numeroComprobante, o que vai no
papel— mas numeroAutorizacion continua vazio porque o órgão ainda não se pronunciou. Quando o
fizer, o número do comprovante não muda; soma-se a autorização.{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key"
}
}
{
"error": {
"code": "forbidden",
"message": "API key is missing the orders:read scope"
}
}
{
"error": {
"code": "not_found",
"message": "Order not found"
}
}
graphicénull. O QR é a URL do catálogo da DIAN e trafega emcountryData.qrCode. No Equador o QR deriva da chave de acesso e por isso é entregue à parte; aqui já chega resolvido, e duplicá-lo daria duas cópias que podem divergir.- Os rótulos são os da DIAN:
FACTURA ELECTRONICA DE VENTAem vez deFACTURA, eVALIDACION PREVIAem vez deEMISION NORMAL. ambientechega traduzido igual ao Equador, mas atenção ao código de origem: a DIAN usa1para produção e o SRI usa para homologação. O Fire resolve isso, e por isso os dois leemPRODUCCIONaqui.authorizationProtocolleva o CUFE, que é o que identifica o documento perante o órgão — o equivalente da chave de acesso equatoriana.
store, company e order não mudam por país, então são omitidos aqui e valem
os do exemplo do Equador.Padrões comuns
- Fetch no momento da impressão. Chame este endpoint na hora de imprimir/renderizar e persista a resposta se precisar de artefatos duráveis —
pdfUrlexmlUrlpodem ser URLs assinadas que expiram. - Flag de consumidor final. Sempre verifique
buyer.isFinalConsumerantes de renderizar detalhes do comprador. Para consumidores anônimos em BR,govIdNumberé"00000000000"e os outros campos do comprador sãonull. - UI específica por país. Use
fiscal.countryCodepara despachar para o template de renderização correto — DANFCE para BR NFC-e, estilo DIAN para CO, SRI para EC, etc.

