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_xxxxxxxxxxxxxxxxxxxx

Gere 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
POST/api/v1/nfe
Emissão

Emite 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. 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 @nfe.json

JSON completo com todos os campos aceitos. Os que não forem enviados assumem valores padrão ou são omitidos do XML — apenas natureza_operacao, destinatario e itens (com descricao, cfop, codigo_ncm, quantidade e valores) são obrigatórios. serie e numero são opcionais (numeração automática), e o objeto emitente é ignorado — a emissão sempre usa o cadastro e o certificado vinculados ao token.

{
  "natureza_operacao": "Venda de mercadoria",
  "serie": 1,
  "numero": 123,
  "data_emissao": "2026-06-08T10:30:00-03:00",
  "tipo_operacao": 1,
  "finalidade_emissao": 1,
  "consumidor_final": 1,
  "presenca_comprador": 1,
  "modalidade_frete": 9,
  "informacoes_adicionais_contribuinte": "Pedido 12345",
  "informacoes_adicionais_fisco": "",

  "destinatario": {
    "nome": "CLIENTE EXEMPLO LTDA",
    "cpf_cnpj": "05481336000137",
    "inscricao_estadual": "ISENTO",
    "indicador_inscricao_estadual": 9,
    "email": "cliente@exemplo.com",
    "telefone": "1133224455",
    "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",
      "codigo_barras": "7891234567890",
      "cest": "2806400",
      "cfop": "5405",
      "unidade_comercial": "UN",
      "quantidade_comercial": 2,
      "valor_unitario_comercial": 50.00,
      "valor_bruto": 100.00,
      "valor_desconto": 0.00,
      "valor_frete": 0.00,
      "valor_seguro": 0.00,
      "valor_outras_despesas": 0.00,
      "inclui_no_total": 1,
      "informacoes_adicionais": "Observacao do item",
      "imposto": {
        "icms": {
          "origem": 0,
          "situacao_tributaria": "202",
          "aliquota": 18.00,
          "valor_base_calculo": 100.00,
          "valor": 18.00,
          "modalidade_base_calculo_st": 4,
          "aliquota_margem_valor_adicionado_st": 40.00,
          "aliquota_reducao_base_calculo_st": 0.00,
          "valor_base_calculo_st": 140.00,
          "aliquota_st": 18.00,
          "valor_st": 25.20,
          "valor_base_calculo_st_retido": 0.00,
          "aliquota_suportada_consumidor_final": 0.00,
          "valor_icms_proprio_substituto": 0.00,
          "valor_icms_st_retido": 0.00,
          "aliquota_fcp": 0.00,
          "valor_base_calculo_fcp": 0.00,
          "valor_fcp": 0.00
        },
        "pis":    { "situacao_tributaria": "07", "aliquota": 0, "valor_base_calculo": 0, "valor": 0 },
        "cofins": { "situacao_tributaria": "07", "aliquota": 0, "valor_base_calculo": 0, "valor": 0 }
      }
    }
  ],

  "pagamento": {
    "formas_pagamento": [
      { "meio_pagamento": "01", "valor": 50.00 },
      {
        "meio_pagamento": "03",
        "valor": 75.20,
        "tipo_integracao": 1,
        "cnpj_credenciadora": "01027058000191",
        "bandeira": "01",
        "numero_autorizacao": "A12345",
        "id_terminal_pagamento": "POS-0001"
      },
      { "meio_pagamento": "99", "valor": 10.00, "descricao_pagamento": "Vale-troca" }
    ],
    "valor_troco": 0.00
  },

  "notas_referenciadas": [
    { "nfe": { "chave": "35260611222333000181550010000000031503655428" } }
  ]
}

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.

ICMS cobrado anteriormente por ST — CST 60 / CSOSN 500

Para itens cujo ICMS já foi retido por substituição tributária em operação anterior, use o CST 60 (Regime Normal) ou o CSOSN 500 (Simples Nacional). A NT 2018.005 tornou obrigatórios os quatro campos do ST retido — se faltarem, a SEFAZ rejeita com "Nao informada vBCSTRet, pST, vICMSSubstituto e vICMSSTRet". Informe-os dentro de imposto.icms:

  • valor_base_calculo_st_retido — Base de Cálculo do ICMS Retido na operação anterior (vBCSTRet).
  • aliquota_suportada_consumidor_final — Alíquota suportada pelo consumidor final (pST).
  • valor_icms_proprio_substituto — Valor do ICMS próprio do Substituto (vICMSSubstituto).
  • valor_icms_st_retido — Valor do ICMS ST Retido na operação anterior (vICMSSTRet).

Esses valores não são somados aos totais da nota (o imposto já foi retido antes). O mesmo grupo vale para a NFC-e (CSOSN 500).

"imposto": {
  "icms": {
    "origem": 0,
    "situacao_tributaria": "60",
    "valor_base_calculo_st_retido": 140.00,
    "aliquota_suportada_consumidor_final": 18.00,
    "valor_icms_proprio_substituto": 12.60,
    "valor_icms_st_retido": 25.20
  }
}

Notas fiscais referenciadas (NFref)

Use o array opcional notas_referenciadas para vincular documentos fiscais anteriores (ex.: nota de devolução, complementar ou de ajuste). Cada item deve conter exatamente um dos tipos abaixo, gerando as tags correspondentes no grupo NFref do XML:

Em notas de devolução (finalidade_emissao: 4) as formas de pagamento enviadas são ignoradas: o XML é gerado com tPag=90 (Sem Pagamento) e vPag=0.00, evitando a rejeição 904("Informado indevidamente campo valor de pagamento").

  • nfe: { chave } — NF-e referenciada por chave de acesso (44 dígitos) → refNFe.
  • cte: { chave } — CT-e referenciado por chave de acesso → refCTe.
  • nf: { uf, anomes, cnpj, modelo, serie, numero } — NF modelo 1/1A ou 2 → refNF.
  • nota_produtor_rural: { uf, anomes, cnpj|cpf, inscricao_estadual, modelo, serie, numero } → refNFP.
  • cupom_fiscal: { modelo, numero_sequencial, coo } → Cupom Fiscal (refECF).
"notas_referenciadas": [
  { "nfe": { "chave": "35260611222333000181550010000000031503655428" } },
  {
    "nf": {
      "uf": "SP",
      "anomes": "2605",
      "cnpj": "11222333000181",
      "modelo": "01",
      "serie": "1",
      "numero": "123"
    }
  }
]

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.

POST/api/v1/nfce
Emissão

Emite 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.

Pré-requisitos: a NFC-e exige o CSC (Código de Segurança do Contribuinte) e o ID do CSC cadastrados em Dados da empresa. O destinatário é opcional — informe 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 @nfce.json

JSON completo com todos os campos aceitos. Apenas natureza_operacao e itens (com descricao, cfop, codigo_ncm, quantidade e valores) são obrigatórios. serie/numero são opcionais (numeração automática), o destinatario é opcional e o emitente é sempre obtido do cadastro vinculado ao token.

{
  "natureza_operacao": "VENDA DENTRO DO ESTADO",
  "serie": 1,
  "numero": 1035,
  "data_emissao": "2026-06-08T12:06:57-03:00",
  "presenca_comprador": 1,
  "informacoes_adicionais_contribuinte": "Obs. da nota fiscal",

  "destinatario": {
    "cpf_cnpj": "15493535500128",
    "nome": "EMPRESA MODELO",
    "email": "cliente@exemplo.com",
    "indicador_inscricao_estadual": 1,
    "inscricao_estadual": "212055510",
    "endereco": {
      "logradouro": "AVENIDA TESTE",
      "numero": "444",
      "complemento": "SALA 2",
      "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",
      "codigo_barras": "SEM GTIN",
      "descricao": "SAL GROSSO 50KGS",
      "codigo_ncm": "55110011",
      "cest": "",
      "cfop": "5102",
      "unidade_comercial": "SC",
      "quantidade_comercial": 10,
      "valor_unitario_comercial": "22.45",
      "valor_bruto": "224.50",
      "valor_desconto": 0,
      "valor_frete": 0,
      "valor_seguro": 0,
      "valor_outras_despesas": 0,
      "informacoes_adicionais": "Valor aproximado tributos R$: 9,43 (4,20%) Fonte: IBPT",
      "imposto": {
        "icms": {
          "origem": 0,
          "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" }
      }
    }
  ],

  "frete": { "modalidade_frete": 9 },

  "pagamento": {
    "formas_pagamento": [
      { "meio_pagamento": "01", "valor": "125.00", "tipo_integracao": 2 },
      {
        "meio_pagamento": "03",
        "valor": "100.00",
        "tipo_integracao": 1,
        "cnpj_credenciadora": "01027058000191",
        "bandeira": "01",
        "numero_autorizacao": "A12345",
        "id_terminal_pagamento": "POS-0001"
      },
      { "meio_pagamento": "99", "valor": "5.00", "descricao_pagamento": "Vale-troca" }
    ],
    "valor_troco": 0.50
  }
}

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, 99 Outros. Ao usar meio_pagamento: "99" (Outros), informe descricao_pagamento (tag xPag do XML) descrevendo a forma utilizada — é obrigatório pela SEFAZ e sua ausência causa a rejeição 441. Esse campo vale igualmente para NF-e e NFC-e.

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.

Emissão em contingência (offline)

Quando a SEFAZ está indisponível (falha de comunicação), a NFC-e é emitida automaticamente em contingência offline (tpEmis=9): a nota é numerada, assinada e recebe o QR Code no formato offline, sem depender da autorização imediata. O XML e o DANFCE (com o aviso "EMITIDA EM CONTINGÊNCIA") são devolvidos normalmente em base64, e a resposta vem com status "contingencia" e contingencia: true. A nota fica pendente de transmissão — retransmita-a depois pelo endpoint /api/v1/nfce/offline para obter a autorização.

Rejeições fiscais (dados incorretos) não entram em contingência — apenas a indisponibilidade do serviço. A emissão em contingência consome normalmente a cota do plano.

{
  "sucesso": true,
  "mensagem": "Emitida em contingencia offline (SEFAZ indisponivel). Pendente de transmissao.",
  "status": "contingencia",
  "contingencia": true,
  "chave": "35260611222333000181650010000000011903655426",
  "xml": "PD94bWwgdmVyc2lvbj0iMS4wIi...",   // NFC-e assinada em contingência (base64)
  "pdf": "JVBERi0xLjMKMyAwIG9iago8...",      // DANFCE em contingência (base64)
  "numero": "1",
  "serie": "1",
  "modelo": 65,
  "documento_id": "c3d4e5f6-...",
  "valor_total": 224.50,
  "ambiente": 2
}
POST/api/v1/nfce/offline
Contingência

Retransmite à SEFAZ uma NFC-e emitida em contingência offline, identificada pela chave de acesso. Quando o serviço da SEFAZ é normalizado, a nota é autorizada automaticamente e passa a ter protocolo; o mesmo XML assinado da contingência é reaproveitado (não há reemissão). Não consome nova cota do plano.

Só é possível retransmitir notas com status "contingencia". Se a SEFAZ continuar indisponível, a nota permanece pendente e a resposta retorna 503 — basta tentar novamente mais tarde.

Requisição

curl -X POST https://app.integranf.com.br/api/v1/nfce/offline \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "chave": "35260611222333000181650010000000011903655426"
}'

Resposta (200 — autorizada)

{
  "sucesso": true,
  "mensagem": "NFC-e autorizada com sucesso.",
  "status": "autorizado",
  "chave": "35260611222333000181650010000000011903655426",
  "protocolo": "135260000987654",
  "codigo_sefaz": "100",
  "xml": "PD94bWwgdmVyc2lvbj0iMS4wIi...",   // nfeProc autorizado (base64)
  "pdf": "JVBERi0xLjMKMyAwIG9iago8...",      // DANFCE autorizado (base64)
  "data_hora_evento": "2026-06-08 11:40:12",
  "documento_id": "c3d4e5f6-...",
  "ambiente": 2
}

Resposta (503 — SEFAZ ainda indisponível)

{
  "sucesso": false,
  "status": "contingencia",
  "contingencia": true,
  "mensagem": "SEFAZ ainda indisponível. A nota permanece em contingência; tente novamente mais tarde."
}
GET/api/v1/nfce/{chave}
Consulta

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"
GET/api/v1/nfce/pdf/{chave}
PDF

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"
POST/api/v1/nfce/cancela
Cancelamento

Cancela 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).

Justificativa obrigatória: entre 15 e 255 caracteres. A 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."
}
GET/api/v1/nfe/{chave}
Consulta

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"
GET/api/v1/nfe/pdf/{chave}
PDF

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"
POST/api/v1/nfe/cancela
Cancelamento

Cancela 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).

Justificativa obrigatória: entre 15 e 255 caracteres. A 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."
}
POST/api/v1/nfe/carta-correcao
Carta de correção

Emite uma Carta de Correção Eletrônica (CC-e, tpEvento 110110) vinculada a qualquer NF-e (modelo 55) emitida pelo CNPJ da sua empresa — venda, devolução de compra ou de venda. O XML do evento e o PDF (DACCe) são armazenados e retornados em base64. A numeração da carta é sequencial por NF-e (até 20).

Justificativa (texto da correção): entre 15 e 1000 caracteres. Cada nova carta substitui a anterior, portanto informe todas as correções desejadas. Não é permitido corrigir valores, impostos, quantidades, remetente/destinatário ou datas de emissão/saída. NF-e canceladas não aceitam carta de correção.

Requisição

curl -X POST https://app.integranf.com.br/api/v1/nfe/carta-correcao \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "chave": "50191213188739000110550010000012151581978542",
  "justificativa": "Teste de carta de correcao"
}'

Resposta (200)

{
  "sucesso": true,
  "codigo": 135,
  "mensagem": "Evento registrado e vinculado a NF-e",
  "data_hora_evento": "2019-09-16 17:09:02",
  "protocolo": "141190000844206",
  "xml_carta_correcao": "PHByb2NFdmVudG9ORmUgeG1sbnM9Imh0d...5GZT4=", // procEventoNFe (base64)
  "pdf_carta_correcao": "JVBERi0xLjMKMyAwIG9iago8PC9UeXBlI...AHCg==", // DACCe em PDF (base64)
  "numero_carta_correcao": 2
}

Resposta (erro)

{
  "sucesso": false,
  "codigo": 225,
  "mensagem": "O texto da correção deve ter entre 15 e 1000 caracteres."
}
GET/api/v1/documentos
Listagem

Lista 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"
GET/api/v1/conta
Conta

Retorna 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"

Distribuição de Documentos Fiscais (DFe)

Plano DFe

A função DFe permite buscar na SEFAZ (Ambiente Nacional) as notas fiscais emitidas contra o CNPJ da sua empresa (onde você é o destinatário), baixar o XML/PDF de cada documento e registrar a manifestação do destinatário. Disponível apenas para contas cujo plano contempla o serviço DFe.

Apenas uma plataforma pode buscar os documentos de um CNPJ por vez. A SEFAZ exige um intervalo mínimo entre consultas: por isso, quando não há novos documentos, respeitamos automaticamente uma janela de 1 hora e, nesse período, a busca retorna os documentos já capturados sem acionar a SEFAZ (o horário liberado vem em proxima_consulta). Esse controle evita a rejeição Consumo Indevido (cStat 656); buscas simultâneas por outra ferramenta ainda podem dispará-la.
POST/api/v1/dfe/nfe/busca
DFe

Recupera os documentos fiscais destinados ao CNPJ da empresa. A consulta pagina automaticamente pelo NSU (último número sequencial) já processado, persistindo os resumos e as NF-e completas recebidas. Todos os campos do corpo são opcionais e funcionam como filtro local do resultado.

Requisição

curl -X POST https://app.integranf.com.br/api/v1/dfe/nfe/busca \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "periodo": "2020-10",
  "data": "2020-10-15",
  "doc": "06338788000127",
  "relacao": "D"
}'

Resposta (200)

{
  "sucesso": true,
  "codigo": 1000,
  "mensagem": "Sucesso.",
  "docs": [
    {
      "chave": "41190806338788000127550010000010011537233885",
      "numero": 100,
      "serie": 1,
      "cnpj": "06338788000127",
      "razao": "EMPRESA TESTE",
      "data": "2019-08-29T08:32:38-03:00",
      "valor": "10.00",
      "cstat": "100",
      "nsu": "523",
      "relacao": "D",
      "eventos": []
    }
  ],
  "eventos_proprios": [],
  "notas_nao_disponiveis": [],
  "ultNSU": "523",
  "maxNSU": "523",
  "proxima_consulta": "2026-09-10T15:00:00.000Z"
}

Após localizar um documento na busca, use a rota /api/v1/dfe/nfe/mostra para obter o xml e o pdf em base64. Quando proxima_consulta estiver preenchido, novas chamadas antes desse horário retornam os documentos já capturados (do cache) sem consultar a SEFAZ — evitando a rejeição 656.

GET/api/v1/dfe/nfe/mostra
DFe

Retorna um documento fiscal pela chave de acesso, com xml e pdf em base64 (quando a NF-e completa já foi capturada na busca) e a lista de eventos vinculados. A chave pode ir na query ?chave= ou no corpo JSON.

curl "https://app.integranf.com.br/api/v1/dfe/nfe/mostra?chave=41190806338788000127550010000010011537233885" \
  -H "Authorization: Bearer $TOKEN"

Resposta (200)

{
  "sucesso": true,
  "codigo": 1000,
  "mensagem": "Sucesso.",
  "doc": {
    "chave": "41190806338788000127550010000010011537233885",
    "cnpj": "06338788000127",
    "razao": "EMPRESA TESTE",
    "data": "2019-08-29T08:32:38-03:00",
    "valor": "10.00",
    "cstat": "100",
    "nsu": "523",
    "relacao": "D",
    "xml": "PG5mZVByb2MgdmVyc2Fv...",   // nfeProc (base64)
    "pdf": "JVBERi0xLjMKMyAwIG9i...",   // DANFE (base64)
    "eventos": []
  }
}
POST/api/v1/dfe/nfe/manifesta
DFe

Registra a manifestação do destinatário sobre a NF-e no Ambiente Nacional. O evento é assinado com o certificado A1 da empresa e transmitido à SEFAZ.

tipo_evento: 210200 Confirmação da Operação · 210210 Ciência da Operação · 210220 Desconhecimento da Operação · 210240 Operação não Realizada (exige justificativa de 15 a 255 caracteres).

Requisição

curl -X POST https://app.integranf.com.br/api/v1/dfe/nfe/manifesta \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "chave": "50191213188739000110550010000012151581978542",
  "tipo_evento": "210240",
  "justificativa": "nao comprei esta mercadoria"
}'

Resposta (200)

{
  "sucesso": true,
  "codigo": 135,
  "mensagem": "Evento registrado e vinculado a NF-e",
  "data_hora_evento": "2019-09-16 17:34:03",
  "protocolo": "891190004733543",
  "xml": "PD94bWwgdmVyc2lvbj0i..."   // procEventoNFe (base64)
}

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.