> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# 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.

<Warning>
  **API de parceiro.** Este endpoint é destinado a integradores de plataforma. Clientes padrão do Fire não têm acesso direto — entre em contato com seu account manager se precisar desta integração.
</Warning>

Retorna o contexto fiscal consolidado de um pedido específico — os dados que seu point-of-sale ou backoffice renderizaria em um recibo/nota fiscal impresso ou digital. Expõe:

* **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

Endpoint somente leitura. Sem side effects.

## 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
```

Mesmo caminho, mesma autenticação, mesmos parâmetros. O que muda é a resposta:

|                                   | 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`              |

<Note>
  **A v1 não se mexeu e não vai se mexer.** Se a sua integração já a consome, você não precisa fazer
  nada: os mesmos campos e os mesmos valores de sempre.

  A v2 existe porque uma das mudanças **não é aditiva** — `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.
</Note>

**O que a v2 acrescenta**, e por que pode te importar:

* **`fiscalRepresentation`** — o documento **tal como foi numerado**, com o seu histórico. É o que
  torna imprimível uma **nota de crédito**: traz `compensates` (qual nota anula, com o motivo já
  redigido) e essa nota inteira em `history`. 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.

Todo o resto —emissor, loja, comprador, pedido— é idêntico nas duas.

## Autenticação

<ParamField header="x-api-key" type="string" required>
  Sua API key do Fire com scope `orders:read`. Vendor-scoped: a API key deve pertencer ao mesmo vendor dono da loja/pedido.
</ParamField>

## Path parameters

<ParamField path="orderId" type="string" required>
  Qualquer uma das três referências públicas do pedido:

  | referência          | o que é                                                                                                 |
  | ------------------- | ------------------------------------------------------------------------------------------------------- |
  | `orders.id`         | o UUID interno do Fire (coincide com `data.orderId` em [`order.completed`](/pt/events/order-completed)) |
  | `order_external`    | o id que você atribuiu ao criar o pedido                                                                |
  | `metadata.order_id` | cópia do id externo dentro do pedido                                                                    |

  Não precisa traduzir: use o id que você já conhece.
</ParamField>

## Query parameters

<Info>O vendor é resolvido a partir da sua API key (vendor-scoped). O parâmetro `vendorId` foi **removido** — se enviado, é ignorado.</Info>

<RequestExample>
  ```http theme={null}
  GET https://api.fire.rest/v1/orders/21ec1f6c-c301-4528-b999-7836c1d21c6c/fiscal-print
  x-api-key: <sua_api_key>
  Accept: application/json
  ```
</RequestExample>

## Resposta

<ResponseField name="fiscal" type="object">
  Referências fiscais comuns do documento, independente do país.

  <Expandable title="fiscal">
    <ResponseField name="countryCode" type="string">
      Código de país ISO 3166-1 alpha-2: `BR`, `CO`, `EC`, `CL`, `AR`, `VE`.
    </ResponseField>

    <ResponseField name="documentType" type="string">
      Tipo de documento específico por país — ex.: `nfce`, `nfe`, `factura_electronica`, `dte`, `factura_a`.
    </ResponseField>

    <ResponseField name="documentNumber" type="string | null">
      O número **visível** do comprovante, tal como o provedor o compôs conforme a convenção do
      seu país. É o que vai impresso.

      Não confunda com o número de autorização: são fatos distintos e viajam em campos distintos.
      No Equador o número é `001-020-000000123` (e aparece também como
      `countryData.numeroComprobante`), enquanto a resposta do SRI vive em
      `countryData.numeroAutorizacion`.
    </ResponseField>

    <ResponseField name="authorizationProtocol" type="string | null">
      Protocolo de autorização da autoridade tributária (SEFAZ para BR, DIAN para CO, SRI para EC, SII para CL, AFIP para AR, SENIAT para VE). `null` até o documento ser autorizado.
    </ResponseField>

    <ResponseField name="authorizedAt" type="string | null">
      Timestamp ISO 8601 UTC de quando a autoridade carimbou a autorização.
    </ResponseField>

    <ResponseField name="pdfUrl" type="string | null">
      URL para obter o PDF renderizado (DANFE para BR NF-e, DANFCE para BR NFC-e, equivalentes específicos por país nos outros). Pode ser efêmera em produção — baixe e persista ao receber.
    </ResponseField>

    <ResponseField name="xmlUrl" type="string | null">
      URL para obter o XML canônico da autoridade.
    </ResponseField>

    <ResponseField name="status" type="string | null">
      Estado fiscal do pedido (`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".
    </ResponseField>

    <ResponseField name="source" type="string | null">
      De onde saem `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**: `authorizedAt` continua `null` de propósito.
      * `null` — nem uma coisa nem outra.

      **Um ticket impresso a partir de `representation` NÃO deve dizer que está autorizado.**
    </ResponseField>

    <ResponseField name="graphic" type="object | null">
      O artefato imprimível que o provedor devolveu ao numerar (QR e afins), tal como veio. `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.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="countryData" type="object">
  Referências do documento específicas por país. O formato varia conforme `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`

  <Note>
    **Só na v2: os valores vêm traduzidos, não no código do órgão.** No Equador o provedor manda
    `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**.
  </Note>
</ResponseField>

<ResponseField name="fiscalRepresentation" type="object">
  **Só na v2.** O documento tal como foi numerado, com o seu histórico e os rótulos já resolvidos.
  Na v1 esta chave não existe.

  Dentro da v2, **aparece somente quando a venda passou pelo Fiscal Gateway.** Se o comércio fiscaliza apenas por
  callback —Brasil, agregadores, ou o gateway desativado— a chave **não vem na resposta**. Não chega
  como `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.

  <Note>
    **Por que está separado de `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.
  </Note>

  <Expandable title="fiscalRepresentation">
    <ResponseField name="documentType" type="string">
      `SALE_INVOICE` ou `CREDIT_NOTE`. Canônico: significa o mesmo em todos os países.
    </ResponseField>

    <ResponseField name="documentLabel" type="string | null">
      Como se intitula no papel: `FACTURA`, `NOTA DE CREDITO RIDE`. Já traduzido.
    </ResponseField>

    <ResponseField name="documentNumber" type="string | null">
      O número visível, tal como o provedor daquele país o compôs.
    </ResponseField>

    <ResponseField name="issuedAt" type="string | null">Data de emissão do comprovante.</ResponseField>

    <ResponseField name="numberingStatus" type="string | null">
      Como terminou o ato de **numerar** (`GENERATED`, `FAILED`). NÃO é o veredito do órgão — esse
      vive em `fiscal.status`.
    </ResponseField>

    <ResponseField name="authorizationMode" type="string | null">`ONLINE` · `OFFLINE` · `BATCH`.</ResponseField>

    <ResponseField name="authorizationLabel" type="string | null">
      `EMISION NORMAL` / `EMISION POR CONTINGENCIA`. No Equador o SRI exige que seja impresso.
    </ResponseField>

    <ResponseField name="environment" type="string | null">
      Ambiente do gateway (`SANDBOX` / `PRODUCTION`). Não confunda com o `ambiente` do órgão, que
      viaja dentro de `countryData` com o código do país.
    </ResponseField>

    <ResponseField name="providerCode" type="string | null">Qual integração numerou.</ResponseField>

    <ResponseField name="countryData" type="object | null">
      O vocabulário do órgão, com os valores já traduzidos para imprimir.
    </ResponseField>

    <ResponseField name="graphic" type="object | null">
      O imprimível que o provedor entregou — o QR e afins.
    </ResponseField>

    <ResponseField name="failure" type="object | null">
      Por que NÃO há documento. Presente somente quando a numeração falhou.
    </ResponseField>

    <ResponseField name="compensates" type="object | null">
      **Qual documento este anula.** Só em notas de crédito. No Equador é impresso como
      `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.
    </ResponseField>

    <ResponseField name="history" type="array">
      Os documentos anteriores deste pedido, do mais antigo ao mais recente. Vazio numa venda
      simples; com a nota anulada quando entra a nota de crédito.

      Cada entrada tem **o mesmo formato** que o documento de cima, para que você aplique a mesma
      lógica de impressão aos dois. O que o cliente levou impresso não se perde: se move.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="company" type="object | null">
  Entidade legal que emite o documento.

  <Expandable title="company">
    <ResponseField name="legalName" type="string | null">Razão social / legal name.</ResponseField>
    <ResponseField name="tradeName" type="string | null">Nome fantasia / trade name.</ResponseField>
    <ResponseField name="govIdType" type="string | null">`CNPJ` / `NIT` / `RUC` / `RUT` / `CUIT` / `RIF`.</ResponseField>
    <ResponseField name="govIdNumber" type="string | null">Formato específico por país.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="store" type="object | null">
  Info a nível de loja para o cabeçalho impresso.

  <Expandable title="store">
    <ResponseField name="name" type="string | null">Nome de exibição.</ResponseField>
    <ResponseField name="code" type="string | null">Código de loja (ex.: `BR-SP-001`).</ResponseField>
    <ResponseField name="govIdType" type="string | null">Igual ao de company, repetido por conveniência.</ResponseField>
    <ResponseField name="govIdNumber" type="string | null">Igual ao de company.</ResponseField>
    <ResponseField name="stateRegistration" type="string | null">Inscrição Estadual (IE) para BR, equivalente em outros países.</ResponseField>
    <ResponseField name="city" type="string | null">Cidade.</ResponseField>
    <ResponseField name="address" type="string | null">Endereço.</ResponseField>
    <ResponseField name="phone" type="string | null">Telefone da loja.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="buyer" type="object">
  Destinatário do documento.

  <Expandable title="buyer">
    <ResponseField name="isFinalConsumer" type="boolean">
      `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).
    </ResponseField>

    <ResponseField name="govIdType" type="string | null">Tipo de documento do comprador (`CPF`, `CNPJ`, `RUT`, `DNI`, etc.).</ResponseField>
    <ResponseField name="govIdNumber" type="string | null">Número do documento do comprador.</ResponseField>
    <ResponseField name="name" type="string | null">Nome do comprador. `null` para `isFinalConsumer: true`.</ResponseField>
    <ResponseField name="email" type="string | null">E-mail do comprador.</ResponseField>
    <ResponseField name="phone" type="string | null">Telefone do comprador.</ResponseField>
    <ResponseField name="address" type="string | null">Endereço do comprador.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="order" type="object">
  Contexto mínimo do pedido para cross-reference.

  <Expandable title="order">
    <ResponseField name="id" type="string">Igual a `path.orderId`.</ResponseField>
    <ResponseField name="orderCode" type="string | null">Código curto (ex.: `OC-br-001`).</ResponseField>
    <ResponseField name="status" type="string">`OPEN`, `COMPLETED` ou `CANCELLED`.</ResponseField>
    <ResponseField name="isCancelled" type="boolean">Flag de conveniência para `status === "CANCELLED"`.</ResponseField>
    <ResponseField name="businessDayDate" type="string | null">`YYYY-MM-DD`.</ResponseField>
    <ResponseField name="createdAt" type="string">ISO 8601 UTC.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 (v1 e v2) — pedido BR fiscal-enabled theme={null}
  {
    "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"
    }
  }
  ```

  <Note>
    **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.
  </Note>

  ```json 200 (v2) — pedido EC numerado, ainda sem autorizar theme={null}
  {
    "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
    }
  }
  ```

  ```json 200 (v2) — pedido EC anulado: em cima a nota de crédito, embaixo a fatura theme={null}
  {
    "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
    }
  }
  ```

  ```json 200 (v2) — pedido CO numerado (os blocos que mudam) theme={null}
  {
    "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"
    }
  }
  ```

  <Note>
    **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á.
  </Note>

  <Note>
    **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.
  </Note>

  ```json 401 — API key inválida theme={null}
  {
    "error": {
      "code": "unauthorized",
      "message": "Invalid or missing API key"
    }
  }
  ```

  ```json 403 — scope incorreto theme={null}
  {
    "error": {
      "code": "forbidden",
      "message": "API key is missing the orders:read scope"
    }
  }
  ```

  ```json 404 — não encontrado / não pertence ao vendor theme={null}
  {
    "error": {
      "code": "not_found",
      "message": "Order not found"
    }
  }
  ```
</ResponseExample>

<Note>
  **O que muda ao imprimir na Colômbia**, em relação ao exemplo do Equador acima:

  * **`graphic` é `null`.** O QR é a URL do catálogo da DIAN e trafega em
    `countryData.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 VENTA` em vez de `FACTURA`, e
    `VALIDACION PREVIA` em vez de `EMISION NORMAL`.
  * **`ambiente` chega traduzido igual ao Equador**, mas atenção ao código de origem: a DIAN
    usa `1` para produção e o SRI usa para homologação. O Fire resolve isso, e por isso os
    dois leem `PRODUCCION` aqui.
  * `authorizationProtocol` leva o **CUFE**, que é o que identifica o documento perante o
    órgão — o equivalente da chave de acesso equatoriana.

  Os blocos `store`, `company` e `order` não mudam por país, então são omitidos aqui e valem
  os do exemplo do Equador.
</Note>

## 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 — `pdfUrl` e `xmlUrl` podem ser URLs assinadas que expiram.
* **Flag de consumidor final.** Sempre verifique `buyer.isFinalConsumer` antes de renderizar detalhes do comprador. Para consumidores anônimos em BR, `govIdNumber` é `"00000000000"` e os outros campos do comprador são `null`.
* **UI específica por país.** Use `fiscal.countryCode` para despachar para o template de renderização correto — DANFCE para BR NFC-e, estilo DIAN para CO, SRI para EC, etc.

## Relacionado

<CardGroup cols={2}>
  <Card title="Evento order.completed" icon="receipt" href="/pt/events/order-completed">
    O snapshot completo do pedido — muito mais rico que fiscal-print, usado para integrações não-print.
  </Card>

  <Card title="Evento order.invoiced" icon="file-invoice" href="/pt/events/order-invoiced">
    Apenas Brasil — dispara quando a SEFAZ autoriza; carrega as mesmas referências fiscais.
  </Card>

  <Card title="Callback fiscal" icon="webhook" href="/pt/api-reference/fiscal-callback">
    O endpoint inbound que seu provedor fiscal usa para atualizar o estado fiscal.
  </Card>
</CardGroup>
