Migrar do Focus NFe
Tempo estimado de migração: 2–3 horas de desenvolvimentoDiferenças Principais
| Aspecto | Focus NFe | Engine API |
|---|---|---|
| Autenticação | Token no header Authorization: Token {key} | Bearer JWT ou x-api-key |
| Identificador da nota | ref (string livre) | id (UUID gerado automaticamente) |
| Empresa no pedido | Query param ref_emitente ou header | issuerId no body |
| Webhooks | URL de callback por nota | Webhooks configuráveis globalmente |
| Ambiente | Subdomínio diferente (sandbox.) | Campo environment na empresa |
Mapeamento de Endpoints
| Focus NFe | Engine API | Notas |
|---|---|---|
POST /v2/nfe | POST /nfe/emitir | Payload diferente |
GET /v2/nfe/{ref} | GET /nfe/{id} | ref → id UUID |
DELETE /v2/nfe/{ref} | POST /nfe/{id}/cancelar | Método diferente |
POST /v2/nfe/{ref}/carta_correcao | POST /nfe/{id}/carta-correcao | — |
GET /v2/nfe/{ref}.xml | GET /nfe/{id}/xml | — |
GET /v2/nfe/{ref}.pdf | GET /nfe/{id}/pdf | — |
GET /v2/nfce/{ref} | GET /nfce/{id} | — |
POST /v2/nfse | POST /nfse/emitir | — |
POST /v2/emitentes | POST /companies | — |
Mapeamento de Campos (Emissão NFe)
Raiz
| Campo Focus NFe | Campo Engine API | Notas |
|---|---|---|
ref | — | Engine API gera o id automaticamente |
natureza_operacao | naturezaOperacao | camelCase na Engine API |
forma_pagamento | pagamento.forma | Objeto separado |
Destinatário
| Campo Focus NFe | Campo Engine API |
|---|---|
cnpj_destinatario | destinatario.cnpj |
cpf_destinatario | destinatario.cpf |
nome_destinatario | destinatario.nome |
logradouro_destinatario | destinatario.endereco.logradouro |
numero_destinatario | destinatario.endereco.numero |
bairro_destinatario | destinatario.endereco.bairro |
municipio_destinatario | destinatario.endereco.municipio |
uf_destinatario | destinatario.endereco.uf |
cep_destinatario | destinatario.endereco.cep |
codigo_municipio_destinatario | destinatario.endereco.codigoMunicipio |
Item
| Campo Focus NFe | Campo Engine API |
|---|---|
numero_item | itens[].numero |
codigo_produto | itens[].codigo |
descricao | itens[].descricao |
codigo_ncm | itens[].ncm |
cfop | itens[].cfop |
unidade_comercial | itens[].unidade |
quantidade_comercial | itens[].quantidade |
valor_unitario_comercial | itens[].valorUnitario |
valor_total_bruto | itens[].valorTotal |
origem_mercadoria | itens[].icms.origem |
situacao_tributaria / csosn | itens[].icms.cst / itens[].icms.csosn |
Gotchas — O que é diferente
Não existe mais `ref` — use o id retornado
Não existe mais `ref` — use o id retornado
No Focus NFe, você define um
ref livre para identificar a nota. Na Engine API, o id é um UUID gerado automaticamente no momento da emissão. Armazene-o no seu banco de dados.Cancelamento muda de método
Cancelamento muda de método
Focus NFe:
DELETE /v2/nfe/{ref}. Engine API: POST /nfe/{id}/cancelar com o campo motivo no body (texto de 15 a 255 caracteres).Ambiente não é mais subdomínio
Ambiente não é mais subdomínio
Focus NFe usa
sandbox.focusnfe.com.br. Na Engine API, o ambiente é o campo environment: 2 no cadastro da empresa — o endpoint é sempre api.engineapi.com.br.nomes de campos em camelCase
nomes de campos em camelCase
O Focus NFe usa
snake_case nos campos. A Engine API usa camelCase. Use a tabela de mapeamento acima como referência.Checklist de Migração
Criar conta na Engine API
Registre-se em app.engineapi.com.br e gere sua API Key.
Próximos passos
Autenticação
JWT e API Keys da Engine API
Webhooks
Configurar notificações em tempo real