DANFE Web
← ApresentaçãoAPI de impressão de documento fiscal: recebe o XML autorizado de NF-e, NFC-e, MDF-e ou NFS-e (Padrão Nacional) e devolve o PDF do DANFE/DAMDFE/DANFSe, pronto para o cliente final visualizar e baixar.
Autenticação
Todo endpoint (exceto /api/health) exige um token Bearer, fornecido pela EXATA:
Authorization: Bearer <seu_token>
Resposta sempre no envelope:
{ "status": "success" | "error", "message": "...", "data": { ... } | null }
Tipos de documento
| type | Documento |
|---|---|
nfe | DANFE de NF-e — padrão retrato |
nfce | DANFE de NFC-e |
mdfe | DAMDFE de MDF-e — padrão retrato |
nfse | DANFSe de NFS-e — somente Padrão Nacional |
Layout (orientação) do documento
options.layout sobrepõe o padrão (retrato) para aquele documento específico:
| options.layout | Efeito |
|---|---|
retrato | padrão de NFe/MDFe |
paisagem | DANFE/DAMDFE deitado |
simplificado | DANFE simplificado |
nfce | layout de cupom (NFC-e) |
msg_eletronica | mensagem eletrônica |
Gerar e registrar um documento
POST https://danfe.seacweb.com.br/api/documents
Authorization: Bearer <token>
Content-Type: application/json
{
"type": "nfe",
"xml": "<XML autorizado, texto puro ou base64>",
"options": {
"layout": "retrato",
"logo_url": "https://.../logo.png",
"footer": "Impresso por Minha Software House",
"margins": { "top": 5, "bottom": 5, "left": 5, "right": 5 }
}
}
Resposta (201):
{
"status": "success",
"message": "Document rendered successfully.",
"data": {
"id": 4823,
"access_key": "35250912345678000190550010000012341123456789",
"pdf_base64": "JVBERi0xLjc…",
"pdf_hex": "255044462d312e37…",
"public_url": "https://danfe.seacweb.com.br/nota.php?id=4823&exp=…&sig=…",
"download_url": "https://danfe.seacweb.com.br/nota.php?id=4823&…&download=1",
"expires_at": "2026-09-18T14:31:00-03:00"
}
}
Envie o header Accept: application/pdf para receber o PDF cru (binário), sem o envelope JSON.
Outras rotas
| Rota | O que faz |
|---|---|
POST /api/documents/preview | Gera o PDF sem registrar (sem link público) |
GET /api/documents/{access_key} | Metadados do documento já registrado |
GET /api/documents/{access_key}/pdf | Re-renderiza e devolve o PDF |
GET /api/documents/{access_key}/link | Gera um link público novo (validade 7 dias) |
GET/POST /api/config | Marca (nome/logo/cor) e defaults de impressão da sua conta |
Link público
Cada documento registrado ganha um link (public_url) para enviar ao destinatário/contador/cliente
final — sem token, com assinatura própria. Expira em 7 dias; renove com
GET /api/documents/{access_key}/link. Parâmetros ?raw=1 (PDF embutido) e
?download=1 (força download).
Erros
| HTTP | Quando |
|---|---|
| 400 | JSON inválido; link público incompleto |
| 401 | sem token; token inválido; conta suspensa |
| 404 | rota inexistente; documento não encontrado para a conta |
| 410 | link público expirado |
| 422 | validação (tipo inválido, XML ausente/ilegível, chave de acesso inválida) |
| 500 | falha da ACBrLib / infraestrutura |
Dúvidas ou acesso: fale com a EXATA Sistemas.