Pular para o conteúdo principal

API de Emissão de NFSe (1.0.0)

Primeiros Passos

Bem-vindo à nossa plataforma de emissão de Nota Fiscal de Serviços Eletrônica (NFSe)!

Estamos aqui para simplificar sua experiência, tornando o processo de emissão rápido, intuitivo, seguro e eficiente. Nossa API proporciona a melhor comunicação entre as softhouses e prefeituras, tirando a burocracia na preparação dos dados essenciais para emissão das notas fiscais.

Com nossa solução, informações recorrentes, como os dados do prestador, regime tributário e certificado digital, serão previamente configuradas no portal, enquanto nossa API facilitará a integração, solicitando apenas informações específicas, como tomador, serviços e valores de impostos, em um formato JSON simples.

É importante mencionar que o município precisa estar homologado com a nossa plataforma. Caso o município desejado não esteja na lista de estados e cidades homologadas, você poderá entrar em contato com nossa equipe comercial para viabilizar a homologação.

Vamos começar?

Cadastro

Para seguir nos passos abaixo é preciso do cadastro da empresa em nossa plataforma. Esse é um requisito para obter as credenciais de homologação e produção para utilização de nossos serviços.

Acesse nosso portal de parceiros Integro Parceiros para cadastro de sua empresa:

Informar os seguintes dados no formulário:

  • Razão Social
  • CNPJ
  • Inscrição Municipal
  • Endereço completo
  • ...Imagem do Formulário de Cadastro...

Importação do Certificado Digital

O certificado digital é uma peça fundamental para garantir a autenticidade e validade jurídica das notas fiscais emitidas. Ele é utilizado exclusivamente para assinar os documentos fiscais, assegurando sua conformidade com os padrões legais e proteção contra alterações indevidas.

Passos para Importação

  1. Acesse o portal e faça login com suas credenciais.
  2. No menu de configurações, selecione a opção Certificado Digital.
  3. Faça o upload do arquivo do certificado (A1 ou A3) e insira a senha correspondente.
  4. Conclua o processo para associar o certificado ao cadastro do prestador.

Segurança do Certificado

Entendemos que a segurança do seu certificado digital é essencial. Por isso, nossa plataforma foi projetada para utilizar o certificado apenas durante o processo de assinatura dos documentos fiscais, mantendo-o armazenado de forma segura e criptografada. Não realizamos nenhum uso indevido ou acesso não autorizado aos seus dados.

Emitente

Upload de Certificado Digital

Realiza o upload de um certificado digital no formato Base64, valida a senha e armazena o certificado com uma chave única gerada pelo sistema.

Request Body schema: application/json
required
cnpjEmissor
required
string

CNPJ da empresa emitente associada ao certificado

base64
required
string

Conteúdo do certificado digital codificado em Base64 (formato .pfx)

senha
required
string

Senha de acesso ao certificado digital

Responses

Response Schema: application/json
chaveCertificado
string

Identificador único gerado para o certificado armazenado

vencimento
string <date-time>

Data de validade do certificado (NotAfter)

Request samples

Content type
application/json
{
  • "cnpjEmissor": "string",
  • "base64": "string",
  • "senha": "string"
}

Response samples

Content type
application/json
{
  • "chaveCertificado": "string",
  • "vencimento": "2019-08-24T14:15:22Z"
}

Consulta de Emitentes

Retorna todos os emitentes cadastrados na plataforma associados ao usuário autenticado. Cada emitente inclui dados cadastrais básicos e seu respectivo endereço.

Responses

Response Schema: application/json
Array
codigo
integer or null

Código interno do emitente

razaoSocial
string

Razão social da empresa emitente

nomeFantasia
string

Nome fantasia da empresa emitente

cpfCnpj
string

CNPJ ou CPF do emitente

inscricaoEstadual
string or null

Inscrição estadual do emitente

inscricaoMunicipal
string or null

Inscrição municipal do emitente

telefone
string

Telefone de contato

email
string or null

E-mail de contato

usuarioPrefeitura
string or null

Usuário da prefeitura (para autenticação em prefeituras que exigem)

senhaPrefeitura
string or null

Senha da prefeitura (para autenticação em prefeituras que exigem)

codigoCnae
string

Código CNAE principal do emitente

incentivadorCultural
boolean

Indica se o emitente é incentivador cultural

incentivoFiscal
string

Descrição do incentivo fiscal se houver

optanteSimples
boolean

Indica se o emitente é optante pelo Simples Nacional

regimeTributacao
integer

Código do regime de tributação do emitente

ativo
boolean

Indica se o emitente está ativo

object (EnderecoEmitente)

Endereço cadastrado do emitente

Response samples

Content type
application/json
[
  • {
    }
]

Consulta de Emitente por Código

Retorna os dados do emitente com o código informado, caso esteja cadastrado na base de dados do usuário autenticado.

path Parameters
codigo
required
integer

Código interno do emitente

Responses

Response Schema: application/json
codigo
integer or null

Código interno do emitente

razaoSocial
string

Razão social da empresa emitente

nomeFantasia
string

Nome fantasia da empresa emitente

cpfCnpj
string

CNPJ ou CPF do emitente

inscricaoEstadual
string or null

Inscrição estadual do emitente

inscricaoMunicipal
string or null

Inscrição municipal do emitente

telefone
string

Telefone de contato

email
string or null

E-mail de contato

usuarioPrefeitura
string or null

Usuário da prefeitura (para autenticação em prefeituras que exigem)

senhaPrefeitura
string or null

Senha da prefeitura (para autenticação em prefeituras que exigem)

codigoCnae
string

Código CNAE principal do emitente

incentivadorCultural
boolean

Indica se o emitente é incentivador cultural

incentivoFiscal
string

Descrição do incentivo fiscal se houver

optanteSimples
boolean

Indica se o emitente é optante pelo Simples Nacional

regimeTributacao
integer

Código do regime de tributação do emitente

ativo
boolean

Indica se o emitente está ativo

object (EnderecoEmitente)

Endereço cadastrado do emitente

Response samples

Content type
application/json
{
  • "codigo": 0,
  • "razaoSocial": "string",
  • "nomeFantasia": "string",
  • "cpfCnpj": "string",
  • "inscricaoEstadual": "string",
  • "inscricaoMunicipal": "string",
  • "telefone": "string",
  • "email": "string",
  • "usuarioPrefeitura": "string",
  • "senhaPrefeitura": "string",
  • "codigoCnae": "string",
  • "incentivadorCultural": true,
  • "incentivoFiscal": "string",
  • "optanteSimples": true,
  • "regimeTributacao": 0,
  • "ativo": true,
  • "endereco": {
    }
}

Consulta de Emitente por CPF/CNPJ

Retorna os dados do emitente associado ao CPF ou CNPJ informado, se houver.

path Parameters
cpfCnpj
required
string^[0-9]{11}|[0-9]{14}$
Example: 12345678000199

CPF ou CNPJ do emitente (somente números)

Responses

Response Schema: application/json
codigo
integer or null

Código interno do emitente

razaoSocial
string

Razão social da empresa emitente

nomeFantasia
string

Nome fantasia da empresa emitente

cpfCnpj
string

CNPJ ou CPF do emitente

inscricaoEstadual
string or null

Inscrição estadual do emitente

inscricaoMunicipal
string or null

Inscrição municipal do emitente

telefone
string

Telefone de contato

email
string or null

E-mail de contato

usuarioPrefeitura
string or null

Usuário da prefeitura (para autenticação em prefeituras que exigem)

senhaPrefeitura
string or null

Senha da prefeitura (para autenticação em prefeituras que exigem)

codigoCnae
string

Código CNAE principal do emitente

incentivadorCultural
boolean

Indica se o emitente é incentivador cultural

incentivoFiscal
string

Descrição do incentivo fiscal se houver

optanteSimples
boolean

Indica se o emitente é optante pelo Simples Nacional

regimeTributacao
integer

Código do regime de tributação do emitente

ativo
boolean

Indica se o emitente está ativo

object (EnderecoEmitente)

Endereço cadastrado do emitente

Response samples

Content type
application/json
{
  • "codigo": 0,
  • "razaoSocial": "string",
  • "nomeFantasia": "string",
  • "cpfCnpj": "string",
  • "inscricaoEstadual": "string",
  • "inscricaoMunicipal": "string",
  • "telefone": "string",
  • "email": "string",
  • "usuarioPrefeitura": "string",
  • "senhaPrefeitura": "string",
  • "codigoCnae": "string",
  • "incentivadorCultural": true,
  • "incentivoFiscal": "string",
  • "optanteSimples": true,
  • "regimeTributacao": 0,
  • "ativo": true,
  • "endereco": {
    }
}

Consulta de emitentes por termo

Lista até 50 emitentes do usuário filtrados por CNPJ/CPF, razão social ou nome fantasia.

path Parameters
termo
required
string

Termo de busca (não vazio)

Responses

Response Schema: application/json
Array
codigo
integer or null

Código interno do emitente

razaoSocial
string

Razão social da empresa emitente

nomeFantasia
string

Nome fantasia da empresa emitente

cpfCnpj
string

CNPJ ou CPF do emitente

inscricaoEstadual
string or null

Inscrição estadual do emitente

inscricaoMunicipal
string or null

Inscrição municipal do emitente

telefone
string

Telefone de contato

email
string or null

E-mail de contato

usuarioPrefeitura
string or null

Usuário da prefeitura (para autenticação em prefeituras que exigem)

senhaPrefeitura
string or null

Senha da prefeitura (para autenticação em prefeituras que exigem)

codigoCnae
string

Código CNAE principal do emitente

incentivadorCultural
boolean

Indica se o emitente é incentivador cultural

incentivoFiscal
string

Descrição do incentivo fiscal se houver

optanteSimples
boolean

Indica se o emitente é optante pelo Simples Nacional

regimeTributacao
integer

Código do regime de tributação do emitente

ativo
boolean

Indica se o emitente está ativo

object (EnderecoEmitente)

Endereço cadastrado do emitente

Response samples

Content type
application/json
[
  • {
    }
]

Cadastra um novo emitente

Registra um novo emitente no sistema, vinculando-o ao usuário da sessão.

Request Body schema: application/json
required
codigo
integer or null

Código interno do emitente

razaoSocial
string

Razão social da empresa emitente

nomeFantasia
string

Nome fantasia da empresa emitente

cpfCnpj
string

CNPJ ou CPF do emitente

inscricaoEstadual
string or null

Inscrição estadual do emitente

inscricaoMunicipal
string or null

Inscrição municipal do emitente

telefone
string

Telefone de contato

email
string or null

E-mail de contato

usuarioPrefeitura
string or null

Usuário da prefeitura (para autenticação em prefeituras que exigem)

senhaPrefeitura
string or null

Senha da prefeitura (para autenticação em prefeituras que exigem)

codigoCnae
string

Código CNAE principal do emitente

incentivadorCultural
boolean

Indica se o emitente é incentivador cultural

incentivoFiscal
string

Descrição do incentivo fiscal se houver

optanteSimples
boolean

Indica se o emitente é optante pelo Simples Nacional

regimeTributacao
integer

Código do regime de tributação do emitente

ativo
boolean

Indica se o emitente está ativo

object (EnderecoEmitente)

Endereço cadastrado do emitente

Responses

Response Schema: application/json
mensagem
string
cpfCnpj
string
codigo
integer

Request samples

Content type
application/json
{
  • "codigo": 0,
  • "razaoSocial": "string",
  • "nomeFantasia": "string",
  • "cpfCnpj": "string",
  • "inscricaoEstadual": "string",
  • "inscricaoMunicipal": "string",
  • "telefone": "string",
  • "email": "string",
  • "usuarioPrefeitura": "string",
  • "senhaPrefeitura": "string",
  • "codigoCnae": "string",
  • "incentivadorCultural": true,
  • "incentivoFiscal": "string",
  • "optanteSimples": true,
  • "regimeTributacao": 0,
  • "ativo": true,
  • "endereco": {
    }
}

Response samples

Content type
application/json
{
  • "mensagem": "Emitente cadastrado com sucesso.",
  • "cpfCnpj": "12345678000199",
  • "codigo": 101
}

Atualiza os dados de um emitente

Atualiza as informações de um emitente já existente com base no seu código.

Request Body schema: application/json
required
codigo
integer or null

Código interno do emitente

razaoSocial
string

Razão social da empresa emitente

nomeFantasia
string

Nome fantasia da empresa emitente

cpfCnpj
string

CNPJ ou CPF do emitente

inscricaoEstadual
string or null

Inscrição estadual do emitente

inscricaoMunicipal
string or null

Inscrição municipal do emitente

telefone
string

Telefone de contato

email
string or null

E-mail de contato

usuarioPrefeitura
string or null

Usuário da prefeitura (para autenticação em prefeituras que exigem)

senhaPrefeitura
string or null

Senha da prefeitura (para autenticação em prefeituras que exigem)

codigoCnae
string

Código CNAE principal do emitente

incentivadorCultural
boolean

Indica se o emitente é incentivador cultural

incentivoFiscal
string

Descrição do incentivo fiscal se houver

optanteSimples
boolean

Indica se o emitente é optante pelo Simples Nacional

regimeTributacao
integer

Código do regime de tributação do emitente

ativo
boolean

Indica se o emitente está ativo

object (EnderecoEmitente)

Endereço cadastrado do emitente

Responses

Response Schema: application/json
mensagem
string
cpfCnpj
string
codigo
integer

Request samples

Content type
application/json
{
  • "codigo": 0,
  • "razaoSocial": "string",
  • "nomeFantasia": "string",
  • "cpfCnpj": "string",
  • "inscricaoEstadual": "string",
  • "inscricaoMunicipal": "string",
  • "telefone": "string",
  • "email": "string",
  • "usuarioPrefeitura": "string",
  • "senhaPrefeitura": "string",
  • "codigoCnae": "string",
  • "incentivadorCultural": true,
  • "incentivoFiscal": "string",
  • "optanteSimples": true,
  • "regimeTributacao": 0,
  • "ativo": true,
  • "endereco": {
    }
}

Response samples

Content type
application/json
{
  • "mensagem": "Emitente atualizado com sucesso.",
  • "cpfCnpj": "12345678000199",
  • "codigo": 101
}

Exclui um emitente

Remove logicamente (ou fisicamente, dependendo da implementação) um emitente a partir do seu código.

path Parameters
codigo
required
integer
Example: 101

Código do emitente a ser excluído

Responses

Response Schema: application/json
mensagem
string

Response samples

Content type
application/json
{
  • "mensagem": "Emitente excluido com sucesso."
}

Consulta um webhook de emitente

Retorna os detalhes de um webhook associado ao emitente do usuário da sessão.

path Parameters
codigo
required
string <uuid>

Identificador único (GUID) do webhook

Responses

Response Schema: application/json
codigo
string or null <uuid>

Obrigatório no PUT; omitido no POST para novo registro

evento
integer <int32> (EventoComunicacao)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11
ativo
boolean
url
string or null
codigoEmitente
integer <int32>

Response samples

Content type
application/json
{
  • "codigo": "81e48cac-c3e8-4135-aad1-32f73b3b54da",
  • "evento": 0,
  • "ativo": true,
  • "url": "string",
  • "codigoEmitente": 0
}

Exclui um webhook de emitente

Remove permanentemente um webhook associado ao emitente do usuário da sessão.

path Parameters
codigo
required
string <uuid>
Example: 6f9619ff-8b86-d011-b42d-00cf4fc964ff

Identificador único (GUID) do webhook a ser excluído

Responses

Response Schema: application/json
mensagem
string

Response samples

Content type
application/json
{
  • "mensagem": "Webhook excluído com sucesso."
}

Lista webhooks de um emitente

Retorna todos os webhooks vinculados ao emitente informado (do usuário autenticado).

path Parameters
codigoEmitente
required
integer

Responses

Response Schema: application/json
Array
codigo
string or null <uuid>

Obrigatório no PUT; omitido no POST para novo registro

evento
integer <int32> (EventoComunicacao)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11
ativo
boolean
url
string or null
codigoEmitente
integer <int32>

Response samples

Content type
application/json
[
  • {
    }
]

Cadastra um webhook de emitente

Cria um novo webhook para o emitente informado no corpo da requisição.

Request Body schema: application/json
required
codigo
string or null <uuid>

Obrigatório no PUT; omitido no POST para novo registro

evento
integer <int32> (EventoComunicacao)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11
ativo
boolean
url
string or null
codigoEmitente
integer <int32>

Responses

Response Schema: application/json
codigo
string or null <uuid>

Obrigatório no PUT; omitido no POST para novo registro

evento
integer <int32> (EventoComunicacao)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11
ativo
boolean
url
string or null
codigoEmitente
integer <int32>

Request samples

Content type
application/json
{
  • "codigo": "81e48cac-c3e8-4135-aad1-32f73b3b54da",
  • "evento": 0,
  • "ativo": true,
  • "url": "string",
  • "codigoEmitente": 0
}

Response samples

Content type
application/json
{
  • "codigo": "81e48cac-c3e8-4135-aad1-32f73b3b54da",
  • "evento": 0,
  • "ativo": true,
  • "url": "string",
  • "codigoEmitente": 0
}

Atualiza um webhook de emitente

Atualiza os dados de um webhook existente vinculado ao emitente do usuário da sessão.

Request Body schema: application/json
required
codigo
string or null <uuid>

Obrigatório no PUT; omitido no POST para novo registro

evento
integer <int32> (EventoComunicacao)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11
ativo
boolean
url
string or null
codigoEmitente
integer <int32>

Responses

Response Schema: application/json
codigo
string or null <uuid>

Obrigatório no PUT; omitido no POST para novo registro

evento
integer <int32> (EventoComunicacao)
Enum: 0 1 2 3 4 5 6 7 8 9 10 11
ativo
boolean
url
string or null
codigoEmitente
integer <int32>

Request samples

Content type
application/json
{
  • "codigo": "81e48cac-c3e8-4135-aad1-32f73b3b54da",
  • "evento": 0,
  • "ativo": true,
  • "url": "string",
  • "codigoEmitente": 0
}

Response samples

Content type
application/json
{
  • "codigo": "81e48cac-c3e8-4135-aad1-32f73b3b54da",
  • "evento": 0,
  • "ativo": true,
  • "url": "string",
  • "codigoEmitente": 0
}

Notas de Serviço - NFSe

Envio de NFSe

Este endpoint permite enviar notas fiscais de serviço.

Request Body schema: application/json
required
identificacaoEmitente
string or null

Identificação única do emitente do lote

Array of objects or null (NotaFiscalResumida)

Lista de notas fiscais que compõem o lote

enviarParaProducao
boolean

Define se a nota será enviada para produção (true) ou apenas homologação/teste (false)

urlWebhook
string or null

URL para notificação via webhook (opcional)

Responses

Response Schema: application/json
protocolo
string

Identificador externo do protocolo

status
string
mensagem
string or null
Array of objects or null (ProtocoloNotaResponse)
dadosCancelamento
object or null

Request samples

Content type
application/json
{
  • "identificacaoEmitente": "string",
  • "notas": [
    ],
  • "enviarParaProducao": true,
  • "urlWebhook": "string"
}

Response samples

Content type
application/json
{
  • "protocolo": "string",
  • "status": "string",
  • "mensagem": "string",
  • "notas": [
    ],
  • "dadosCancelamento": { }
}

Consulta de Nota Fiscal

Retorna os dados da nota fiscal eletrônica, incluindo links para o XML e PDF.

path Parameters
codigoNota
required
integer

Código identificador da nota fiscal.

Responses

Response Schema: application/json
codigoNota
integer

Código interno da nota fiscal

tipoNota
string or null

Tipo da nota fiscal

numero
string or null

Número da nota fiscal emitida

rps
string

Número do RPS (Recibo Provisório de Serviços)

serie
string

Série da nota fiscal

situacao
string

Situação/status da nota (texto)

dataEmissao
string <date>

Data de emissão da nota

codigoVerificacao
string or null

Código de verificação da nota (quando aplicável)

xml
string or null <uri>

URL para download do XML da nota fiscal.

pdf
string or null <uri>

URL para download do PDF da nota fiscal.

dataHoraCancelamento
string or null <date-time>

Data e hora do cancelamento da nota (se houver).

protocolo
string or null

Protocolo de processamento da nota.

Response samples

Content type
application/json
{}

Lista notas por ambiente

Retorna até 50 notas do usuário cujo identificador de protocolo (ambiente) começa com o prefixo informado (ex.: homologação vs produção, conforme prefixo gravado no protocolo).

path Parameters
ambiente
required
string

Responses

Response Schema: application/json
Array
codigoNota
integer
codigoEmitente
integer
cpfCnpjEmitente
string
nomeEmitente
string
numeroRPS
string
serieRPS
string
loteRPS
integer
valorTotal
number
status
string
dataAutorizacao
string or null <date>
tempoDeProcessamento
string or null
protocolo
string or null

Protocolo de processamento da nota.

Response samples

Content type
application/json
[
  • {
    }
]

Lista notas por ambiente e termo

Até 50 notas filtradas por ambiente (prefixo do protocolo) e termo (código da nota, CNPJ, número, razão/nome fantasia ou identificador do protocolo).

path Parameters
ambiente
required
string
termo
required
string

Responses

Response Schema: application/json
Array
codigoNota
integer
codigoEmitente
integer
cpfCnpjEmitente
string
nomeEmitente
string
numeroRPS
string
serieRPS
string
loteRPS
integer
valorTotal
number
status
string
dataAutorizacao
string or null <date>
tempoDeProcessamento
string or null
protocolo
string or null

Protocolo de processamento da nota.

Response samples

Content type
application/json
[
  • {
    }
]

Consulta de NFSe por protocolo

Permite consultar as notas fiscais de serviço associadas a um determinado protocolo de envio. O protocolo é informado como parâmetro de rota.

path Parameters
protocolo
required
string

Identificador externo do protocolo (GUID/string retornado no envio)

Responses

Response Schema: application/json
protocolo
string

Identificador externo do protocolo

status
string
mensagem
string or null
Array of objects or null (ProtocoloNotaResponse)
dadosCancelamento
object or null

Response samples

Content type
application/json
{
  • "protocolo": "string",
  • "status": "string",
  • "mensagem": "string",
  • "notas": [
    ],
  • "dadosCancelamento": { }
}

Cancelamento de NFSe

Permite cancelar uma nota fiscal de serviço previamente emitida. O cancelamento é realizado com base no código da nota fiscal. É possível informar opcionalmente uma URL de webhook para ser notificado com o resultado do processamento.

path Parameters
codigoNota
required
integer

Código da nota fiscal a ser cancelada

Request Body schema: application/json
urlWebhook
string <uri>

URL para notificação via webhook (opcional)

Responses

Response Schema: application/json
protocolo
string

Identificador externo do protocolo

status
string
mensagem
string or null
Array of objects or null (ProtocoloNotaResponse)
dadosCancelamento
object or null

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "protocolo": "string",
  • "status": "string",
  • "mensagem": "string",
  • "notas": [
    ],
  • "dadosCancelamento": { }
}

Download do XML da nota fiscal

Retorna o arquivo XML referente à nota fiscal identificada pelo codigoNota.

path Parameters
codigoNota
required
integer

Código da nota fiscal.

Responses

Response Schema: application/xml
string <binary>

Response samples

Content type
application/json
{
  • "mensagem": "string"
}

Download do PDF da nota fiscal

Retorna o arquivo PDF referente à nota fiscal identificada pelo codigoNota.

path Parameters
codigoNota
required
integer

Código da nota fiscal.

Responses

Response Schema: application/pdf
string <binary>

Response samples

Content type
application/json
{
  • "mensagem": "string"
}