Introdução à consulta de CNPJ com a NFE.io
Nesse artigo vamos introduzir como é feita a consulta de CPF via API da NFE.io
A consulta de CNPJ tem como base a busca dos dados do cartão CNPJ de empresas que estão disponíveis no site da Receita Federal. Os dados que a API retorna são as informações encontradas a partir da consulta feita na seguinte url:
https://servicos.receita.fazenda.gov.br/servicos/cnpjreva/cnpjreva_solicitacao.asp
Ao acessar a url acima, você é direcionado para a página mostrada abaixo. Nessa imagem, é possível observar que, a partir da informação de um CNPJ, são retornados os dados cadastrais da informação usada na consulta.
Figura 1. Imagem de exemplo da página de consulta do cartão CNPJ
Abaixo segue um exemplo do cartão CNPJ de uma consulta feita.
Figura 2. Cartão CNPJ econtrado na busca
1. Base para a consulta de CNPJ
Para poder se consultar os dados cadastrais do cartão CNPJ a partir da API da NFE.io é necessário informar o CNPJ da empresa a ser consultada. É possível encontrar mais informações sobre a API na documentação da NFE.io na seguinte url:
https://nfe.io/docs/desenvolvedores/rest-api/consulta-de-cnpj-v1/
Nela é possível observar a existência de duas versões para a consulta de CNPJ. Ambas as url's estão abaixo.
Método | URL |
---|---|
GET | https://legalentity.api.nfe.io/v1/legalentities/basicInfo/{federalTaxNumber} |
Método | URL |
---|---|
GET | https://legalentity.api.nfe.io/v2/legalentities/basicInfo/{federalTaxNumber} |
O CNPJ a ser informado deve estar no mesmo campo da informação federalTaxNumber. O número deve ser informado sem barras traços e pontos.
Ambas as versões trazem os mesmos dados. A diferença entre a V1 e a V2 é que na V1 a situação cadastral retorna o dado como é disposto pela RFB. Na V2 esse dado é parametrizado de acordo com uma lista de status pré determinada com os parâmetros em inglês.
O parâmametro necessário para conseguir autenticar a chamada na API é a informação da api key. Ela está disponível na plataforma da NFE.io, e é necessário que seja utilizada a autenticação referente a consulta de dados.
Abaixo segue o exemplo de uma chamada feita. Nela o número 191 representa o número do CNPJ a ser consultado e dado 5th... é início de uma api key de autenticação.
url: https://legalentity.api.nfe.io/v2/legalentities/basicInfo/191?apiKey=5th...
2. Parâmetros retornados
A consulta da API pode retornar os seguintes status:
Tabela 1. Tipos de status que a API retorna | Status |
---|---|
200 | Dados consultados da RFB |
400 | Parâmetro informado de forma incorreta |
401 | Não autorizado. Autenticação informada da forma incorreta |
403 | Acesso proibido |
404 | Empresa não encontrada na consulta |
500 | Erro no processamento da API |
Abaixo segue o formato no qual os dados serão retornados no json de retorno da consulta. Nesse json é possível constatar a chave de cada um dos campos bem como o valor retornado e na forma que ele retorna. Também é possível observar como é feito o encadeamento das informações na consulta.
{
"legalEntity": {
"tradeName": "string",
"name": "string",
"federalTaxNumber": 0,
"createdOn": "2021-05-04T01:26:00.526Z",
"taxRegime": "Unknown",
"legalNature": "EmpresaPublica",
"fiscalUnit": "string",
"createdUnit": "string",
"checkCode": "string",
"stateTaxes": [
{
"status": "Abled",
"taxNumber": "string",
"statusOn": "2021-05-04T01:26:00.526Z",
"openedOn": "2021-05-04T01:26:00.526Z",
"closedOn": "2021-05-04T01:26:00.526Z",
"additionalInformation": "string",
"code": "AC",
"address": {
"state": "string",
"city": {
"code": "string",
"name": "string"
},
"district": "string",
"additionalInformation": "string",
"streetSuffix": "string",
"street": "string",
"number": "string",
"numberMin": "string",
"numberMax": "string",
"postalCode": "string",
"country": "string"
},
"economicActivities": [
{
"type": "Main",
"code": 0,
"description": "string"
}
],
"nfe": {
"status": "Abled",
"description": "string"
},
"nfse": {
"status": "Abled",
"description": "string"
},
"cte": {
"status": "Abled",
"description": "string"
},
"nfce": {
"status": "Abled",
"description": "string"
}
}
]
}
}
Na Tabela abaixo é possível observar o significado de cada um dos campos consultados pela API, bem como os parâmetros retornados em todos eles.
Dados de retorno
tradeName string
Nome fantasia
name string
Razão social
federalTaxNumber integer($int64)
Número da inscrição na Receita Federal (CNPJ)
size string(enum)
Porte
Texto do retorno | Significado |
---|---|
Unknown | Desconhecido (mapear) |
ME | Micro Empresa |
EPP | Empresa de Pequeno Porte |
DEMAIS | Demais tipos |
openedOn string($date-time)
Data da abertura
address
state string
Estado
city
code string
Código do município (cMun)name string
Nome do município (xMun)
district string
Bairro
additionalInformation string
Informações adicionais
streetSuffix string
Sufixo da rua
street string
Nome da rua
number string
Número
numberMin string
numberMax string
postalCode string
CEP
country string
País
phones
ddd string
Prefixo
number string
Origem da Informação
string(enum)
- Origem da Informaçãosignificado campo RFB Receita Federal do Brasil
statusOn string($date-time)
Data da situação cadastral
status string(enum)
Texto do retorno | significado campo |
---|---|
Unknown | Desconhecido |
Active | Ativa |
Unknown | Desconhecido |
Suspended | Suspensa |
Cancelled | Cancelada |
Unabled | Desabilitada |
Null | Nula |
email string
Correio eletrônico
responsableEntity string
Ente Federativo Responsável (EFR)
specialStatus string
Situação Especial
specialStatusOn string($date-time)
Data da Situação Especial
issuedOn string($date-time)
Data de Consulta do usuário
statusReason string
Motivo da Situação Cadastral
shareCapital number($double)
Capital sócial (em reais)
economicActivities
description
Objeto com Código e descrição das atividades econômicas principal e secundáriastype string(enum)
Classificação da atividade
Texto do retorno significado campo Main Principal Secondary Secundária
code string
Código da atividade (CNAE)
description string
Descrição da atividade (CNAE)
legalNature
code string
Código da Natureza Legal
description string
Descrição da Natureza Legal
partners
Objeto com nome e qualificação dos sócios e administradores
name string
Nome/Nome Empresarial
qualification
code string
Código Qualificação do Quadro de Sócios e Administradores
description string
Descrição da Qualificação do Quadro de Sócios e Administradores
registrationUnit string
Objeto com a cidade/unidade registradora do certificado de baixa
unit string(enum)
Objeto que define se é matriz, filial ou sucursal
Texto do retorno | significado campo |
---|---|
Headoffice | Matriz |
Subsidiary | Filial |