Webhooks

Webhooks de Notas de Saída (DF-e)

Cadastrar endpoints, filtrar eventos de emissão e receber notificações em tempo real de NF-e, NFC-e, NFS-e, CT-e e MDF-e.

Os Webhooks de Notas de Saída (DF-e) permitem que o seu ERP, e-commerce ou sistema de faturamento receba notificações assíncronas instantâneas sobre todas as emissões fiscais realizadas pela sua empresa: NF-e (Produto), NFC-e (Varejo), NFS-e (Serviços), CT-e (Transporte) e MDF-e (Manifesto).

Você pode cadastrar e gerenciar seus endpoints diretamente pelo Dashboard da NFER ou programaticamente via API REST. Cada endpoint é vinculado à sua empresa e recebe uma chave secreta exclusiva (whsec_...) para validação de assinaturas HMAC-SHA256.

Permissões e Níveis de Acesso no Backend

  • Chave de API da Empresa (Company API Key): Possui controle total para listar, criar, editar, testar e rotacionar secrets via API REST.
  • Membros (Owner, Administrador e Operador): Podem gerenciar endpoints pelo Dashboard e disparar testes de conectividade.
  • Perfil Contador: Acesso restrito a somente leitura (GET). O backend bloqueia tentativas de criação, edição ou exclusão de webhooks por contadores para proteger a infraestrutura de integrações do sistema emissor.
  • Isolamento Multi-Tenant: Todas as requisições são filtradas estritamente pelo ID da empresa ativa, impedindo qualquer acesso cruzado entre organizações.

1. Endpoints de Gerenciamento da API

OperaçãoMétodo e RotaReferência Técnica
Cadastrar Endpoint de WebhookPOST /v1/webhooksVer Parâmetros →
Listar Webhooks CadastradosGET /v1/webhooksVer Listagem →
Atualizar URL ou EventosPUT /v1/webhooks/:idVer Atualização →
Remover Endpoint de WebhookDELETE /v1/webhooks/:idVer Exclusão →
Rotacionar Secret HMACPOST /v1/webhooks/:id/rotate-secretVer Rotação de Secret →
Testar Conectividade HTTPPOST /v1/webhooks/:id/test-connectionVer Ping de Teste →
Disparar Evento SimuladoPOST /v1/webhooks/:id/testVer Disparo Fake →
Histórico de Entregas & LogsGET /v1/webhooks/:id/deliveriesVer Entregas →

2. Eventos Suportados de Notas de Saída

Você pode cadastrar endpoints específicos para determinados eventos de emissão ou utilizar "*" para assinar todas as notas de saída:

EventoDocumentoDescrição do Disparo
nfe.autorizadaNF-e / NFC-eDocumento autorizado com sucesso na SEFAZ (cStat 100/150). Retorna chave de 44 dígitos e protocolo.
nfe.erroNF-e / NFC-eEmissão rejeitada pelo Fisco. Retorna erroCstat e erroMotivo com a justificativa técnica.
nfe.canceladaNF-e / NFC-eCancelamento fiscal (evento 110111) homologado com sucesso na SEFAZ.
nfe.denegadaNF-e / NFC-eUso denegado pela SEFAZ por irregularidade cadastral do emitente ou destinatário.
nfe.contingenciaNF-e / NFC-eNota gerada em contingência offline (NFC-e) ou em SVC (SEFAZ Virtual de Contingência).
nfe.batch.completedNF-e (Lote)Processamento assíncrono de lote concluído com sucesso.
nfse.autorizadaNFS-e NacionalNota fiscal de serviço autorizada perante o ADN / prefeitura com link do XML e PDF.
cte.autorizadoCT-eConhecimento de Transporte emitido e autorizado perante a SEFAZ.
mdfe.autorizadoMDF-eManifesto Eletrônico de Documentos Fiscais autorizado com DAMDFE.

Para ver os schemas completos e exemplos de payloads JSON de cada evento, acesse o Catálogo de Eventos de Emissão.

3. Cadastrando um Endpoint para Notas de Saída via cURL

Para criar um novo endpoint inscrito nos eventos de notas de saída, informe a URL pública HTTPS e a lista de eventos desejados:

curl -X POST "https://api.nfer.me/v1/webhooks" \
-H "Authorization: Bearer sec_live_sua_chave_secreta" \
-H "Content-Type: application/json" \
-d '{
"url": "https://api.seusistema.com.br/webhooks/nfer",
"description": "Faturamento — Notas de Saída",
"events": [
"nfe.autorizada",
"nfe.erro",
"nfe.cancelada",
"nfe.denegada"
]
}'

Resposta de sucesso retornando o identificador e a chave secreta gerada:

{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"url": "https://api.seusistema.com.br/webhooks/nfer",
"active": true,
"events": [
"nfe.autorizada",
"nfe.erro",
"nfe.cancelada",
"nfe.denegada"
],
"description": "Servidor de Faturamento Principal",
"signed": true,
"secret": "whsec_live_9a8b7c6d5e4f3a2b1c0d9e8f7a6b5c4d",
"createdAt": "2026-09-20T19:00:00.000Z",
"updatedAt": "2026-09-20T19:00:00.000Z"
}

Guarde o Segredo com Segurança

O campo secret só é retornado de forma visível na criação ou quando você rotaciona o segredo. Armazene-o nas variáveis de ambiente do seu servidor (NFER_WEBHOOK_SECRET) para validar os payloads recebidos.

4. Rotação de Segredo sem Downtime

Se houver suspeita de vazamento de credenciais ou para cumprir políticas corporativas periódicas de segurança, utilize o endpoint de rotação:

curl -X POST "https://api.nfer.me/v1/webhooks/3fa85f64-5717-4562-b3fc-2c963f66afa6/rotate-secret" \
-H "Authorization: Bearer sec_live_sua_chave_secreta"

A NFER mantém um período de carência (dual-signature) de 24 horas onde você pode validar tanto com a chave anterior quanto com a nova, permitindo atualizar o deploy dos seus servidores sem descartar entregas legítimas.