Visão Geral
Gera um DANFE (Documento Auxiliar da Nota Fiscal Eletrônica) em formato PDF a partir de uma NFe armazenada no GuardaNFe.
Parâmetros
Chave de acesso da NFe (44 caracteres numéricos)Exemplo: 35170608530528000184550000000154301000771561
Token de autenticação da API
Accept
string
default:"application/pdf"
Tipo de conteúdo aceito na resposta
Exemplos de Requisição
curl -X GET "https://api.validanfe.com/GuardaNFe/GerarDanfe/35170608530528000184550000000154301000771561" \
-H "Accept: application/pdf" \
-H "X-API-KEY: SEU_TOKEN_AQUI" \
--output danfe_35170608530528000184550000000154301000771561.pdf
Códigos de Resposta
DANFE gerado com sucesso - retorna arquivo PDFContent-Type: application/pdfContent-Disposition: attachment; filename="danfe_{chaveNfe}.pdf"
Chave NFe inválida ou malformada
Token de autenticação ausente ou inválido
NFe não encontrada ou não pertence ao cliente
Erro interno ao gerar DANFE
Serviço de geração de DANFE temporariamente indisponível
Exemplos de Resposta
{
"message": "NFe não encontrada ou não pertence ao cliente."
}
Características do DANFE
Performance e Confiabilidade
Processo de Geração
Validação da NFe
Sistema verifica se a NFe existe e pertence ao cliente autenticado
Recuperação do XML
XML da NFe é recuperado do armazenamento seguro (AWS S3)
Processamento
XML é enviado para o serviço especializado de geração de DANFE
Geração do PDF
DANFE é gerado conforme layout oficial da Receita Federal
Entrega
PDF é retornado diretamente no response para download
Rate Limiting
Limite de RequisiçõesPara garantir a estabilidade do serviço:
- 5 gerações por minuto por token
- 50 gerações por hora por token
- Limite pode ser aumentado conforme plano contratado
Troubleshooting
NFe não encontrada:
- Verifique se a chave NFe está correta (44 dígitos)
- Confirme se a NFe foi enviada via API de envio
- Verifique se está usando o token correto
Timeout na geração:
- Sistema faz retry automático
- Tente novamente após alguns minutos
- Entre em contato se persistir
PDF corrompido:
- Verifique o Content-Type na resposta
- Salve o arquivo em modo binário
- Confirme que não houve truncamento
Métricas Importantes:
- Tempo médio de geração: ~3-5 segundos
- Taxa de sucesso: >99.5%
- Timeout configurado: 30s/40s/50s (tentativas)
Logs de Auditoria:
- Todas as gerações são registradas
- Incluído no relatório de uso da API
- Métricas disponíveis no dashboard
Visualização no Navegador
async function visualizarDanfe(chaveNfe) {
const response = await fetch(`/api/GuardaNFe/GerarDanfe/${chaveNfe}`, {
headers: { 'X-API-KEY': 'SEU_TOKEN' }
});
if (response.ok) {
const blob = await response.blob();
const url = URL.createObjectURL(blob);
window.open(url, '_blank');
}
}
React Component
import { useState } from 'react';
export function useDanfeGenerator() {
const [loading, setLoading] = useState(false);
const [error, setError] = useState(null);
const gerarDanfe = async (chaveNfe) => {
setLoading(true);
setError(null);
try {
const response = await fetch(`/api/GuardaNFe/GerarDanfe/${chaveNfe}`, {
headers: { 'X-API-KEY': process.env.REACT_APP_API_TOKEN }
});
if (!response.ok) {
throw new Error('Erro ao gerar DANFE');
}
const blob = await response.blob();
const url = URL.createObjectURL(blob);
window.open(url, '_blank');
} catch (err) {
setError(err.message);
} finally {
setLoading(false);
}
};
return { gerarDanfe, loading, error };
}
Base URL
A URL base para o GuardaNFe é:
https://api.validanfe.com/GuardaNFe
Próximos Passos
Dica de PerformancePara aplicações que geram muitos DANFEs:
- Implemente cache no frontend para evitar gerações duplicadas
- Use loading states para melhor experiência do usuário
- Considere geração em lote para múltiplas NFes