FocusNFE¶
O adaptador FocusNFE reproduz o contrato do provedor: os mesmos caminhos, os mesmos corpos e os mesmos códigos. Migrar é trocar o endereço base e a credencial.
Estas páginas cobrem apenas o que muda. Tudo o que é idêntico continua descrito na documentação do próprio FocusNFE, e não reescrevemos nada disso de propósito. O texto duplicado divergiria do original com o tempo, e você teria duas fontes que discordam sobre a mesma rota.
- Guia de migração — para onde apontar, como autenticar e um
curlponta a ponta: emissão, consulta e cancelamento. - Compatibilidade — o que o adaptador aceita, o que ele recusa e onde ele diverge do provedor, item a item.
- Referência — contrato completo, gerado a partir do código.
Superfície atendida¶
| Rota | O que faz |
|---|---|
POST /v2/nfce?ref= |
Emite um documento |
GET /v2/nfce/{ref} |
Consulta, com completa=1 opcional |
DELETE /v2/nfce/{ref} |
Cancela |
POST /v2/nfce/{ref}/email |
Envia o documento por e-mail |
POST /v2/nfce/inutilizacao |
Inutiliza uma faixa de numeração |
GET /v2/nfce/inutilizacoes |
Lista inutilizações |
POST /v2/hooks · GET /v2/hooks · GET/DELETE /v2/hooks/{id} |
Gatilhos (webhooks) |
GET /arquivos/… · GET /notas_fiscais_consumidor/… |
Arquivos, sob o mesmo formato de caminho do provedor |
O que não está nesta lista não está implementado nesta versão. ECONF, os endpoints do produto "NFC-e local", a API de empresas e a superfície de NF-e 55 estão na página de compatibilidade, com o motivo.
Diferenças que mais afetam código existente¶
caminho_danfeserve um PDF. O caminho mantém a terminação.htmldo provedor, mas o conteúdo é o DANFCe em PDF (content-type: application/pdf). Se o seu código interpreta o HTML do DANFCe, ele quebra. Se ele apenas repassa o arquivo, funciona.- IBS/CBS obrigatório. Todo item precisa dos campos da reforma tributária. Sem eles, a SEFAZ rejeita. Ver Validação.
- Numeração pela API é o padrão, igual ao provedor. O adaptador recusa
numeroecodigo_unicopor padrão. Ele aceitanumerosó em credenciais na faixa de numeração pelo cliente, e nunca aceitacodigo_unico. forma_emissao=offlinenão é aceito. A contingência aqui é automática: quando a SEFAZ não responde, nós emitimos offline sozinhos e a resposta já vem comcontingencia_offline. Ver Contingência.- Subconjunto estrito. O adaptador recusa com
422qualquer campo fora do subconjunto suportado, em vez de ignorá-lo.