1. Conexão
Envia o mesmo JSON da aba Emitir para uma fila persistente: a API devolve um solicitacao_id (202) e o worker transmite quando possível, repete em falhas temporárias e consulta antes de reenviar. Receber não é autorizar: só AUTORIZADA ou REJEITADA são o resultado oficial.
Também funciona nos endpoints de emissão: POST /nfe (ou /nfce, /nfse, /cte, /cteos, /mdfe) com o header Prefer: respond-async (marque a opção na aba Emitir). Reprocessar usa o JSON do corpo da aba Emitir como "dados corrigidos" (obrigatório para REJEITADA). Cancelar remove apenas a tarefa ainda não transmitida, não um documento fiscal.
Usa o documento escolhido na aba "Emitir". O histórico de eventos existe para NF-e e NFC-e.
Cancelamento: NF-e/NFC-e /cancelamento; NFS-e, CT-e, CT-e OS e MDF-e /cancelar. A CC-e do CT-e e do CT-e OS usa correcoes (grupo, campo, valor): aqui é enviada como observação do exemplo.
Busca na SEFAZ as NF-e (e CT-e/MDF-e) emitidas contra o CNPJ da sua empresa e guarda o XML. É incremental (por NSU). A SEFAZ exige aguardar 1 hora quando não há documentos novos; a API respeita isso. Resumos (RESUMO) viram XML completo depois da Manifestação do Destinatário.
Baixar por chave e Manifestação do Destinatário (NF-e)
Documentos recebidos
| NSU | Tipo | Natureza | Emitente | Valor | Emissão | Chave | XML |
|---|---|---|---|---|---|---|---|
| Clique em "Listar recebidos". | |||||||
NF-e, NFC-e, CT-e, CT-e OS e MDF-e usam a consulta oficial de status de serviço da SEFAZ (cStat 107 = em operação). A NFS-e Nacional não publica status oficial: mostramos a conectividade com o Sistema Nacional.
Receptor (PHP) — valide sempre a assinatura
$ts = $_SERVER['HTTP_X_WEBHOOK_TIMESTAMP'] ?? '';
$sig = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'] ?? '';
$body = file_get_contents('php://input');
$ok = abs(time() - (int)$ts) <= 300
&& hash_equals('sha256=' . hash_hmac('sha256', $ts . '.' . $body, getenv('WEBHOOK_SECRET')), $sig);
if (!$ok) { http_response_code(401); exit; }
$evento = json_decode($body, true); // $evento['event'], $evento['data']
http_response_code(200); // responda 2xx rapidamente; trate repetidos pelo $evento['id']
A configuração automática preenche naturezas, tributação e IBS/CBS a partir do CRT da empresa (é idempotente). Certificado A1, séries e módulos (NFS-e, CT-e, CT-e OS, MDF-e, DF-e) são configurados no painel.
Uma única classe resolve autenticação, empresa, Idempotency-Key, erros e downloads. Copie para o seu servidor e use os atalhos (emitir, solicitar/aguardar (fila assíncrona), preview, calcular, consultar, pdf, cancelar, sincronizarDfe, statusSefaz, verificarWebhook...).
Resposta
Aguardando uma chamada…
Código equivalente da última chamada (para o seu servidor)
Faça uma chamada acima para ver o código equivalente.
A chave aparece como SUA_API_KEY. Erros vêm padronizados: success, error.code, error.message e request_id (informe-o ao suporte).