Pular para o conteúdo principal

Emitir NFe

POST /nfe/emitir

Emite uma Nota Fiscal Eletrônica (modelo 55).

Autenticação

Authorization: Bearer {token} ou x-api-key: {apiKey}

Parâmetros do Body

Campos Principais

CampoTipoObrigatórioDescrição
issuerIdstringID da empresa emissora
destinatarioobjectDados do destinatário
itemsarrayItens da nota fiscal
pagamentosarrayFormas de pagamento
naturezaOperacaostringNatureza da operação (padrão: "VENDA DE MERCADORIA")
serienumberSérie da NFe (padrão: 1)
numeronumberNúmero da NFe (auto-increment)
tpNFinteger0 Entrada, 1 Saída (padrão: 1)
idDestinteger1 Interna, 2 Interestadual, 3 Exterior
indFinalinteger0 Normal, 1 Consumidor Final
indPresinteger0 N/A, 1 Presencial, 2 Internet, 3 Teleatend., 4 Delivery, 9 Outros
finNFeinteger1 Normal, 2 Complementar, 3 Ajuste, 4 Devolução
transporteobjectDados de transporte
troconumberValor do troco
informacoesComplementaresstringInfo adicional (aparece no DANFE)
informacoesFiscostringInformações para o fisco

Objeto destinatario

CampoTipoObrigatórioDescrição
cnpjCpfstringCPF (11 dígitos) ou CNPJ (14 dígitos)
nomestringRazão social ou nome
enderecoobjectEndereço completo (ver abaixo)
iestringInscrição Estadual
indicadorIEinteger1 Contribuinte, 2 Isento, 9 Não contribuinte
emailstringE-mail do destinatário

Objeto endereco (do destinatário)

CampoTipoObrigatórioDescrição
logradourostringRua/Avenida
numerostringNúmero
bairrostringBairro
codigoMunicipiostringCódigo IBGE do município
municipiostringNome do município
ufstringUF (2 caracteres)
cepstringCEP
complementostringComplemento

Objeto items[]

CampoTipoObrigatórioDescrição
codigostringCódigo interno do produto
descricaostringDescrição do produto
ncmstringNCM (8 dígitos)
cfopstringCFOP (ex: "5102")
unidadestringUnidade de medida ("UN", "KG", etc.)
quantidadenumberQuantidade
valorUnitarionumberValor unitário
icmsobjectICMS do item
eanstringEAN/GTIN (ou "SEM GTIN")
ceststringCEST (7 dígitos)
valorTotalnumberCalculado automaticamente se omitido
descontonumberValor de desconto no item
pisobjectPIS do item
cofinsobjectCOFINS do item
ipiobjectIPI do item (produtos industriais)

Objeto icms (do item)

CampoTipoObrigatórioDescrição
origeminteger0 Nacional, 1 Estrangeira — Importação direta, 2 Estrangeira — Mercado interno
cststringCST ICMS: "00", "10", "20", "30", "40", "41", "50", "51", "60", "70", "90"
csosnstringCSOSN (Simples Nacional): "101", "102", "103", "201", "202", "300", "400", "500", "900"
aliquotanumberAlíquota ICMS (%)
baseCalculonumberBase de cálculo
valornumberValor do ICMS
baseCalculoSTnumberBase ICMS ST
aliquotaSTnumberAlíquota ICMS ST
valorSTnumberValor ICMS ST

Objeto pis / cofins (do item)

CampoTipoDescrição
cststringCST PIS/COFINS: "01", "02", "04", "06", "07", "08", "09", "49", "99"
baseCalculonumberBase de cálculo
aliquotanumberAlíquota (ex: 0.0065 = 0,65% PIS, 0.03 = 3% COFINS)
valornumberValor

Objeto ipi (do item)

CampoTipoDescrição
cststringCST IPI: "00", "49", "50", "51", "52", "53", "54", "55", "99"
baseCalculonumberBase de cálculo
aliquotanumberAlíquota IPI
valornumberValor IPI
cEnqstringCódigo enquadramento legal (tabela TIPI)

Objeto transporte

CampoTipoObrigatórioDescrição
modFreteinteger0 Emitente, 1 Destinatário, 2 Terceiros, 9 Sem frete
transportadoraobjectDados da transportadora
volumesarrayVolumes transportados

Objeto transportadora

CampoTipoDescrição
cnpjCpfstringCNPJ/CPF
nomestringRazão social
iestringInscrição Estadual
enderecostringEndereço
municipiostringMunicípio
ufstringUF

Objeto volumes[]

CampoTipoDescrição
quantidadeintegerQuantidade de volumes
especiestringEspécie (ex: "CAIXA")
pesoBrutonumberPeso bruto (KG)
pesoLiquidonumberPeso líquido (KG)

Objeto pagamentos[]

CampoTipoObrigatórioDescrição
formastring"01" Dinheiro, "02" Cheque, "03" Cartão Crédito, "04" Cartão Débito, "15" Boleto, "17" PIX, "90" Sem pagamento, "99" Outros
valornumberValor do pagamento

Exemplo

curl -X POST https://api.engineapi.com.br/nfe/emitir \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"issuerId": "ISSUER_ID",
"naturezaOperacao": "VENDA DE MERCADORIA",
"destinatario": {
"cnpjCpf": "99888777000155",
"nome": "Cliente SA",
"endereco": {
"logradouro": "Av Brasil", "numero": "500",
"bairro": "Centro", "codigoMunicipio": "3550308",
"municipio": "São Paulo", "uf": "SP", "cep": "01001000"
},
"indicadorIE": 1
},
"items": [{
"codigo": "PROD001", "descricao": "Produto Teste",
"ncm": "84713012", "cfop": "5102", "unidade": "UN",
"quantidade": 2, "valorUnitario": 150.00, "valorTotal": 300.00,
"icms": { "origem": 0, "cst": "00", "aliquota": 18,
"baseCalculo": 300.00, "valor": 54.00 }
}],
"pagamentos": [{ "forma": "01", "valor": 300.00 }],
"transporte": { "modFrete": 9 }
}'

Resposta (200)

{
"success": true,
"invoice": {
"id": "uuid-da-nota",
"accessKey": "35260211222333000144550010000000011000000019",
"number": 1,
"series": 1,
"status": "AUTHORIZED"
}
}

Consultar NFe

GET /nfe/:accessKey/consultar

curl https://api.engineapi.com.br/nfe/CHAVE_ACESSO/consultar \
-H "Authorization: Bearer SEU_TOKEN"

Cancelar NFe

POST /nfe/:accessKey/cancelar

CampoTipoObrigatórioDescrição
justificativastringMotivo do cancelamento (mín. 15 caracteres)
curl -X POST https://api.engineapi.com.br/nfe/CHAVE_ACESSO/cancelar \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "justificativa": "Erro na digitação dos dados do destinatário" }'

Carta de Correção NFe

POST /nfe/:accessKey/cce

CampoTipoObrigatórioDescrição
correcaostringTexto da correção (mín. 15 caracteres)
curl -X POST https://api.engineapi.com.br/nfe/CHAVE_ACESSO/cce \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "correcao": "Corrigir razão social do destinatário" }'

Download PDF (DANFE)

GET /nfe/:accessKey/pdf

Download XML

GET /nfe/:accessKey/xml

Status do Serviço

GET /nfe/status?uf=SP