engineAPIengineAPI
// guias

Migrar do Focus NFe

Guia de migração do Focus NFe para engineAPI: mapeamento de endpoints, campos e diferenças de comportamento.

Migrar do Focus NFe

Tempo estimado de migração: 2–3 horas de desenvolvimento


Diferenças Principais

AspectoFocus NFeengineAPI
AutenticaçãoToken no header Authorization: Token {key}Bearer JWT ou x-api-key
Identificador da notaref (string livre)id (UUID gerado automaticamente)
Empresa no pedidoQuery param ref_emitente ou headerissuerId no body
WebhooksURL de callback por notaWebhooks configuráveis globalmente
AmbienteSubdomínio diferente (sandbox.)Todo emissor nasce em homologação (ambienteFiscal: 2); promover para produção é self-service, ver Sandbox

Mapeamento de Endpoints

Focus NFeengineAPINotas
POST /v2/nfePOST /v1/nfePayload diferente, ver Emitir NFe
GET /v2/nfe/{ref}GET /v1/nfe/{id}refid UUID
DELETE /v2/nfe/{ref}POST /v1/nfe/{idOuChave}/cancelarMétodo diferente
POST /v2/nfe/{ref}/carta_correcaoPOST /v1/nfe/{accessKey}/carta-correcaoN/A
GET /v2/nfe/{ref}.xmlGET /v1/nfe/xml/{accessKey}N/A
GET /v2/nfe/{ref}.pdfGET /v1/nfe/pdf/{accessKey}N/A
GET /v2/nfce/{ref}GET /v1/nfce/{id}N/A
POST /v2/nfsePOST /v1/nfseN/A
POST /v2/emitentesPOST /v1/companiesN/A

Mapeamento de Campos (Emissão NFe)

Raiz

Campo Focus NFeCampo engineAPINotas
refN/AengineAPI gera o id automaticamente
natureza_operacaonaturezaOperacaocamelCase na engineAPI
forma_pagamentopagamentos[].formaArray obrigatório (mín. 1), não objeto singular

Destinatário

Campo Focus NFeCampo engineAPINotas
cnpj_destinatariodestinatario.cnpjCpfCampo único (11 a 14 dígitos), não há cnpj/cpf separados
cpf_destinatariodestinatario.cnpjCpfMesmo campo do CNPJ acima
nome_destinatariodestinatario.nomeN/A
logradouro_destinatariodestinatario.endereco.logradouroN/A
numero_destinatariodestinatario.endereco.numeroN/A
bairro_destinatariodestinatario.endereco.bairroN/A
municipio_destinatariodestinatario.endereco.municipioN/A
uf_destinatariodestinatario.endereco.ufN/A
cep_destinatariodestinatario.endereco.cepN/A
codigo_municipio_destinatariodestinatario.endereco.codigoMunicipioN/A

Item

O payload de NFe usa o array items (mínimo 1, não itens).

Campo Focus NFeCampo engineAPINotas
numero_itemN/ANão existe campo de número por item: o índice do array já identifica o item
codigo_produtoitems[].codigoN/A
descricaoitems[].descricaoN/A
codigo_ncmitems[].ncmN/A
cfopitems[].cfopN/A
unidade_comercialitems[].unidadeN/A
quantidade_comercialitems[].quantidadeN/A
valor_unitario_comercialitems[].valorUnitarioN/A
valor_total_brutoitems[].valorTotalOpcional, recalculado se ausente
origem_mercadoriaitems[].icms.origemN/A
situacao_tributaria / csosnitems[].icms.cst / items[].icms.csosnN/A

Diferenças importantes


Checklist de Migração

·

Criar conta na engineAPI

Registre-se em app.engineapi.com.br e gere sua API Key.

·

Cadastrar empresas emissoras

POST /v1/companies para cada CNPJ. Guarde os id retornados (issuerId).

·

Upload dos certificados

POST /v1/companies/{issuerId}/certificate com o .pfx de cada empresa.

·

Testar em homologação

Todo emissor novo já nasce em homologação (ambienteFiscal: 2). Emita notas de teste e valide os mapeamentos, sem precisar configurar nada.

·

Adaptar payloads

Converta snake_case → camelCase e reorganize os campos conforme a tabela acima.

·

Configurar webhooks

Configure PATCH /v1/webhooks/config em vez de callback por nota.

·

Migrar para produção

Promover o emissor para produção é self-service, ver Sandbox.

·

Desativar Focus NFe

Após validar a estabilidade por 1–2 semanas, cancele o plano no Focus NFe.


Próximos passos