Arquivos: XML e DANFE NFC-e
Depois da autorização, os arquivos ficam disponíveis por job_id.
GET /v1/nfce/{job_id}/file/{tipo}
tipo | Conteúdo |
|---|---|
xml | XML autorizado, com o protocolo |
pdf | DANFE NFC-e em cupom de 80 mm |
xml_cancelamento | XML do evento de cancelamento, quando houver |
log | log técnico do processamento |
As rotas genéricas por job também servem, e são as mesmas para qualquer documento:
GET /v1/jobs/{job_id}/arquivos # o que existe para este job
GET /v1/jobs/{job_id}/file/{tipo} # baixa o arquivo
GET /v1/jobs/{job_id}/download/{tipo} # devolve a URL assinada, sem baixar
GET /v1/jobs/{job_id}/arquivos lista o que existe, com tamanho e URL pronta. Um job de
cancelamento, por exemplo, tem xml_cancelamento e log, mas não tem xml — pedir o xml
dele devolve 404.
O DANFE NFC-e não é o DANFE da NF-e
O pdf da NFC-e é o DANFE NFC-e: layout de cupom para impressora térmica de 80 mm, com o
QR Code que o consumidor usa para consultar a nota no portal da SEFAZ.
Se a sua aplicação imprime o PDF da NF-e hoje, ela não serve para a NFC-e sem ajuste: são tamanhos de papel diferentes, e mandar um cupom para a bandeja A4 desperdiça a folha inteira.
O QR Code depende do CSC configurado para a empresa (PUT /v1/empresas/{cpf_cnpj}/nfce). Sem
CSC não há QR Code válido, e a SEFAZ rejeita a nota antes de chegar ao PDF.
Guarde o XML
A obrigação de guarda recai sobre o XML autorizado. O cupom pode ser regerado a partir dele; o contrário não é verdade.
Vale igual para a NFC-e, mesmo ela sendo entregue ao consumidor em papel térmico — que desbota.
A retenção dos arquivos no Conota depende do plano. Sua operação deve armazenar os XMLs no próprio ambiente — não trate a API como arquivo definitivo.
Pacotes mensais
Para fechamento contábil, o Conota gera pacotes ZIP com os XMLs do mês anterior:
GET /v1/arquivos/zips # o que está disponível
GET /v1/arquivos/zip-mensal?tipo=nfce&competencia=2026-08 # baixa
Repare no tipo=nfce: cada tipo de documento tem o seu pacote. Os ZIPs são gerados no dia 1º de
cada mês e o download vem por URL assinada, com validade curta.