Documentação da API
Emita e consulte documentos fiscais (NF-e e NFC-e) via API REST. A autenticação é feita por token Bearer, gerado no seu painel após criar a conta.
Autenticação
Todas as requisições exigem o cabeçalho Authorization com seu token. O ambiente (produção ou homologação) é definido pelo token utilizado.
Authorization: Bearer intnf_prod_xxxxx_xxxxxxxxxxxxxxxxxxxxGere e gerencie seus tokens na aba Tokens de API. O valor completo só é exibido uma vez.
URL base
A URL base é a mesma para todas as contas. Não há subdomínio por cliente — sua empresa é identificada automaticamente pelo token enviado no cabeçalho Authorization.
https://app.integranf.com.br/api/v1/api/v1/nfeEmite uma NF-e (modelo 55). A nota é numerada automaticamente, assinada digitalmente com o seu certificado A1 e transmitida à SEFAZ. O consumo do plano é contabilizado a cada emissão autorizada.
Os campos seguem o padrão do mercado (compatível com Integra Notas). Os tributos de cada item ficam dentro de imposto (icms, pis e cofins) e o pagamento aceita uma ou mais formas_pagamento. Campos não enviados assumem valores padrão.
Requisição
curl -X POST https://app.integranf.com.br/api/v1/nfe \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"natureza_operacao": "Venda de mercadoria",
"tipo_operacao": 1,
"finalidade_emissao": 1,
"consumidor_final": 1,
"presenca_comprador": 1,
"modalidade_frete": 9,
"destinatario": {
"nome": "CLIENTE EXEMPLO LTDA",
"cpf_cnpj": "05481336000137",
"inscricao_estadual": "ISENTO",
"indicador_inscricao_estadual": 9,
"email": "cliente@exemplo.com",
"endereco": {
"logradouro": "Rua das Flores",
"numero": "200",
"complemento": "Sala 5",
"bairro": "Centro",
"codigo_municipio": "3550308",
"municipio": "Sao Paulo",
"uf": "SP",
"cep": "01310000"
}
},
"itens": [
{
"numero_item": 1,
"codigo_produto": "PROD-001",
"descricao": "Produto Exemplo",
"codigo_ncm": "61091000",
"cest": "2806400",
"cfop": "5405",
"unidade_comercial": "UN",
"quantidade_comercial": 2,
"valor_unitario_comercial": 50.00,
"valor_bruto": 100.00,
"valor_desconto": 0.00,
"inclui_no_total": 1,
"imposto": {
"icms": {
"origem": 0,
"situacao_tributaria": "202",
"modalidade_base_calculo_st": 4,
"aliquota_margem_valor_adicionado_st": 40.00,
"valor_base_calculo_st": 140.00,
"aliquota_st": 18.00,
"valor_st": 25.20
},
"pis": { "situacao_tributaria": "07", "aliquota": 0, "valor": 0 },
"cofins": { "situacao_tributaria": "07", "aliquota": 0, "valor": 0 }
}
}
],
"pagamento": {
"formas_pagamento": [
{ "meio_pagamento": "01", "valor": 50.00 },
{ "meio_pagamento": "04", "valor": 75.20 }
]
},
"informacoes_adicionais_contribuinte": "Pedido 12345"
}'Empresas do Simples Nacional usam situacao_tributaria com o CSOSN (3 dígitos, ex.: 102, 202). Empresas do Regime Normal usam o CST (2 dígitos, ex.: 00, 10) e, nesse caso, informe também aliquota e valor_base_calculo. Os campos de ST (*_st) só são necessários quando há substituição tributária.
Resposta (201)
{
"sucesso": true,
"codigo": 100,
"mensagem": "Autorizado o uso da NF-e",
"chave": "35260611222333000181550010000000031503655428",
"xml": "PD94bWwgdmVyc2lvbj0iMS4wIi...", // nfeProc autorizado (base64)
"pdf": "JVBERi0xLjMKMyAwIG9iago8...", // DANFE em PDF (base64)
"data_hora_evento": "2026-06-08 11:25:22",
"protocolo": "135260000123456",
"status": "autorizado",
"numero": "3",
"serie": "1",
"identificacao": "3",
// Campos adicionais da plataforma:
"modelo": 55,
"documento_id": "a1b2c3d4-...",
"valor_total": 100.00,
"codigo_sefaz": "100",
"ambiente": 2
}Os campos xml e pdf vêm codificados em base64 para que o seu ERP possa armazená-los diretamente. Decodifique o xml para obter o nfeProc autorizado e o pdf para o DANFE imprimível.
/api/v1/nfceEmite uma NFC-e (modelo 65), a nota fiscal de consumidor usada em vendas no varejo presencial. É numerada automaticamente, assinada com o certificado A1, transmitida à SEFAZ e recebe o QR Code obrigatório no DANFE.
destinatario apenas quando o consumidor pedir o CPF/CNPJ na nota.Requisição
curl -X POST https://app.integranf.com.br/api/v1/nfce \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"natureza_operacao": "VENDA DENTRO DO ESTADO",
"serie": "1",
"numero": "1035",
"data_emissao": "2026-06-08T12:06:57-03:00",
"presenca_comprador": "1",
"destinatario": {
"cnpj": "15493535500128",
"nome": "EMPRESA MODELO",
"indicador_inscricao_estadual": "1",
"inscricao_estadual": "212055510",
"endereco": {
"logradouro": "AVENIDA TESTE",
"numero": "444",
"bairro": "CENTRO",
"codigo_municipio": "2408003",
"nome_municipio": "Mossoro",
"uf": "RN",
"cep": "59653120",
"telefone": "8499995555"
}
},
"itens": [
{
"numero_item": "1",
"origem": "0",
"inclui_no_total": "1",
"codigo_produto": "000297",
"descricao": "SAL GROSSO 50KGS",
"codigo_ncm": "55110011",
"cfop": "5102",
"unidade_comercial": "SC",
"quantidade_comercial": 10,
"valor_unitario_comercial": "22.45",
"valor_bruto": "224.50",
"valor_desconto": 0,
"imposto": {
"icms": {
"situacao_tributaria": "102",
"valor_base_calculo": "0.00",
"aliquota": "0.00",
"valor": "0.00"
},
"pis": { "situacao_tributaria": "01", "valor_base_calculo": 224.5, "aliquota": "1.65", "valor": "3.70" },
"cofins": { "situacao_tributaria": "01", "valor_base_calculo": 224.5, "aliquota": "7.60", "valor": "17.06" }
},
"informacoes_adicionais": "Valor aproximado tributos R$: 9,43 (4,20%) Fonte: IBPT"
}
],
"frete": { "modalidade_frete": "0" },
"pagamento": {
"formas_pagamento": [
{ "meio_pagamento": "01", "valor": "224.50", "tipo_integracao": "2" }
]
},
"informacoes_adicionais_contribuinte": "Obs. da nota fiscal"
}'Formato idêntico ao Integra Notas para facilitar a migração: os valores numéricos podem vir como número ou string (ex.: "22.45") e o emitente é sempre obtido do cadastro da empresa vinculado ao token (não envie dados de emitente no corpo). O destinatário é opcional na NFC-e — quando informado, aceita tanto pessoa física (cpf) quanto pessoa jurídica (cnpj + inscricao_estadual), com endereco opcional. Empresas do Simples usam situacao_tributaria com CSOSN (3 dígitos); Regime Normal usa CST (2 dígitos) com aliquota e valor_base_calculo.
Você pode identificar o consumidor por cpf, cnpj ou cpf_cnpj (o tipo é detectado pela quantidade de dígitos). Meios de pagamento comuns: 01 Dinheiro, 03 Crédito, 04 Débito, 17 PIX.
Resposta (201)
{
"sucesso": true,
"codigo": 100,
"mensagem": "Autorizado o uso da NFC-e",
"chave": "35260611222333000181650010000000011503655420",
"xml": "PD94bWwgdmVyc2lvbj0iMS4wIi...", // nfeProc autorizado (base64)
"pdf": "JVBERi0xLjMKMyAwIG9iago8...", // DANFCE em PDF (base64)
"data_hora_evento": "2026-06-08 11:25:22",
"protocolo": "135260000987654",
"status": "autorizado",
"numero": "1",
"serie": "1",
"identificacao": "1",
// Campos adicionais da plataforma:
"modelo": 65,
"documento_id": "f9e8d7c6-...",
"valor_total": 29.90,
"codigo_sefaz": "100",
"ambiente": 2
}Assim como na NF-e, xml e pdf são retornados em base64. O PDF da NFC-e (DANFCE) já inclui o QR Code e a URL de consulta pública.
/api/v1/nfce/{chave}Retorna os dados e o XML autorizado (nfeProc) de uma NFC-e pela chave de acesso de 44 dígitos.
curl https://app.integranf.com.br/api/v1/nfce/35260611222333000181650010000000011503655420 \
-H "Authorization: Bearer $TOKEN"/api/v1/nfce/pdf/{chave}Gera o DANFCE (PDF) de uma NFC-e autorizada pela chave de acesso. Por padrão retorna o binário application/pdf (pronto para o ERP imprimir ou salvar). Use ?formato=base64 para receber { "chave": "...", "pdf": "<base64>" }.
# Baixa o PDF diretamente
curl https://app.integranf.com.br/api/v1/nfce/pdf/35260611222333000181650010000000011503655420 \
-H "Authorization: Bearer $TOKEN" \
-o danfce.pdf
# Ou recebe o PDF em base64 (JSON)
curl "https://app.integranf.com.br/api/v1/nfce/pdf/35260611222333000181650010000000011503655420?formato=base64" \
-H "Authorization: Bearer $TOKEN"/api/v1/nfce/cancelaCancela uma NFC-e (modelo 65) autorizada por meio do Evento de Cancelamento (tpEvento 110111), transmitido à SEFAZ. Só é possível cancelar notas autorizadas e dentro do prazo legal da sua UF (a NFC-e costuma ter um prazo bem curto — em geral até 30 minutos após a autorização).
chave deve ter 44 dígitos e corresponder a uma NFC-e (modelo 65).Requisição
curl -X POST https://app.integranf.com.br/api/v1/nfce/cancela \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chave": "35260611222333000181650010000000011503655420",
"justificativa": "Cancelamento por erro de digitacao no valor dos itens"
}'Resposta (200)
{
"sucesso": true,
"codigo": 101,
"mensagem": "Homologado o cancelamento da NFC-e",
"data_hora_evento": "2026-06-12 17:18:48",
"protocolo": "141190000844226",
"xml": "PGV2ZW50byB4bWxucz0i...", // procEventoNFe (base64)
"pdf": "JVBERi0xLjMKMyAwIG9iago8...", // DANFCE em PDF (base64)
"xml_cancelado": "PD94bWwgdmVyc2lvbj0i..." // nfeProc autorizado original (base64)
}Resposta (erro)
{
"sucesso": false,
"codigo": 501,
"mensagem": "Apenas documentos autorizados podem ser cancelados."
}/api/v1/nfe/{chave}Retorna os dados e o XML autorizado (nfeProc) de um documento pela chave de acesso de 44 dígitos.
curl https://app.integranf.com.br/api/v1/nfe/35260611222333000181550010000000031503655428 \
-H "Authorization: Bearer $TOKEN"/api/v1/nfe/pdf/{chave}Gera o DANFE (PDF) de uma NF-e autorizada pela chave de acesso. Por padrão retorna o binário application/pdf (pronto para o ERP imprimir ou salvar). Use ?formato=base64 para receber { "chave": "...", "pdf": "<base64>" }.
# Baixa o PDF diretamente
curl https://app.integranf.com.br/api/v1/nfe/pdf/35260611222333000181550010000000031503655428 \
-H "Authorization: Bearer $TOKEN" \
-o danfe.pdf
# Ou recebe o PDF em base64 (JSON)
curl "https://app.integranf.com.br/api/v1/nfe/pdf/35260611222333000181550010000000031503655428?formato=base64" \
-H "Authorization: Bearer $TOKEN"/api/v1/nfe/cancelaCancela uma NF-e (modelo 55) autorizada por meio do Evento de Cancelamento (tpEvento 110111), transmitido à SEFAZ. Só é possível cancelar notas autorizadas e dentro do prazo legal da sua UF (em geral até 24 horas após a autorização).
chave deve ter 44 dígitos e corresponder a uma NF-e (modelo 55).Requisição
curl -X POST https://app.integranf.com.br/api/v1/nfe/cancela \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"chave": "35260611222333000181550010000000031503655428",
"justificativa": "Cancelamento por erro de digitacao no valor dos itens"
}'Resposta (200)
{
"sucesso": true,
"codigo": 101,
"mensagem": "Homologado o cancelamento da NF-e",
"data_hora_evento": "2026-06-12 17:18:48",
"protocolo": "141190000844226",
"xml": "PGV2ZW50byB4bWxucz0i...", // procEventoNFe (base64)
"pdf": "JVBERi0xLjMKMyAwIG9iago8...", // DANFE em PDF (base64)
"xml_cancelado": "PD94bWwgdmVyc2lvbj0i..." // nfeProc autorizado original (base64)
}Resposta (erro)
{
"sucesso": false,
"codigo": 501,
"mensagem": "Apenas documentos autorizados podem ser cancelados."
}/api/v1/documentosLista os documentos emitidos, ordenados do mais recente ao mais antigo. Aceita os parâmetros limit (máx. 100) e offset.
curl "https://app.integranf.com.br/api/v1/documentos?limit=20&offset=0" \
-H "Authorization: Bearer $TOKEN"/api/v1/contaRetorna dados da empresa, plano contratado, serviços habilitados e o consumo do mês corrente.
curl https://app.integranf.com.br/api/v1/conta \
-H "Authorization: Bearer $TOKEN"Códigos de status
200 / 201Requisição bem-sucedida.401Token ausente, inválido ou revogado.402Assinatura inativa ou em atraso.403Serviço não incluído no seu plano.412Cadastro incompleto (ex.: CSC ausente na NFC-e).422Payload inválido (dados fiscais incorretos).429Limite de documentos do plano atingido.502Falha na comunicação com a SEFAZ.