NFe.io | Docs

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ção
significado 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árias

type 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

Our Score