Consulta de CNPJ no cadastro
Preenche o cadastro de uma empresa a partir do CNPJ, com dados da Receita Federal e as regras de elegibilidade da loja.
No cadastro B2B, o cliente digita só o CNPJ e a tela se completa sozinha: razão social, nome fantasia, atividade econômica (CNAE), situação cadastral e endereço. Esta rota faz essa consulta e já aplica as regras da loja: recusa empresa com situação irregular e atividade que a loja não atende. O resultado alimenta o POST /api/v1/auth/register.
/api/v1/storefront/register/cnpj/{cnpj}PúblicaConsultar CNPJ para cadastro
Parâmetros de caminho
cnpjstringobrigatórioCNPJ da empresa, com ou sem pontuação (
12.345.678/0001-95 ou 12345678000195).Exemplo de requisição
bash
curl "$BASE_URL/api/v1/storefront/register/cnpj/$CNPJ"Resposta
200Dados da empresa
json
{
"person_type": "PJ",
"document": {
"type": "CNPJ",
"number": "12345678000195",
"formatted": "12.345.678/0001-95"
},
"company": {
"legal_name": "COMERCIAL EXEMPLO LTDA",
"trade_name": "EXEMPLO ATACADO",
"state_registration": "",
"is_state_taxpayer": false,
"cnae": "4744099",
"cnae_raw": "4744099",
"cnae_description": "Comércio varejista de materiais de construção em geral",
"registration_status": "ATIVA",
"legal_nature": "206-2 - Sociedade Empresária Limitada",
"company_size": "DEMAIS",
"opening_date": "02/09/2009"
},
"address": {
"street": "R DAS FLORES",
"number": "100",
"complement": "",
"district": "CENTRO",
"city": "São Paulo",
"state": "SP",
"zipcode": "01310100",
"country": "BR",
"street_line": "R DAS FLORES, 100"
},
"contacts_from_registry": {
"phone": "(11) 3000-0000",
"email": "contato@exemplo.com.br"
},
"ui": {
"city_needs_manual_select": false,
"district_needs_manual_select": true,
"city_id": "be56d0aa-fe67-4988-8a67-4f90b08bff85",
"locked_fields": [
"document.number",
"company.legal_name",
"address.street"
],
"editable_if_empty": [
"company.state_registration",
"company.trade_name"
]
},
"source": {
"provider": "netrin",
"services": [
"receita-federal-cnpj"
],
"queried_at": "2026-10-11T20:50:52Z"
}
}Campos da resposta
person_typestringSempre
PJ.documentobjecttype (CNPJ), number (14 caracteres, sem pontuação) e formatted.companyobjectDados cadastrais:
legal_name (razão social), trade_name (nome fantasia), state_registration (inscrição estadual, vazio se desconhecida), is_state_taxpayer, cnae e cnae_raw (atividade principal, só dígitos), cnae_description, registration_status (por exemplo ATIVA), legal_nature, company_size, opening_date. Podem vir também share_capital (capital social em centavos, como string) e cnae_secondary (lista de CNAEs secundários).addressobjectstreet, number, complement, district, city, state (UF), zipcode (CEP, 8 dígitos), country e street_line (logradouro e número juntos).contacts_from_registryobjectphone e email que constam no registro público, como sugestão. Podem estar desatualizados.uiobjectDicas para montar a tela:
locked_fields (campos que vieram da Receita e não devem ser editados), editable_if_empty (liberados se vazios), city_id (id da cidade no cadastro da loja) e os avisos city_needs_manual_select e district_needs_manual_select, que indicam que o cliente precisa escolher cidade ou bairro.sourceobjectDe onde veio a consulta:
provider, services e queried_at (RFC 3339).Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 400 | CNPJ sem 14 caracteres. | {"error":"CNPJ inválido","detail":"invalid_cnpj"} |
| 400 | Situação cadastral irregular, atividade (CNAE) que a loja não atende, ou inscrição estadual irregular. detail traz o motivo (situacao_inativa, cnae_not_accepted, ie_irregular...). As mensagens de error vêm em português. | {"error":"...","detail":"cnae_not_accepted"} |
| 403 | Módulo cnpj-login desligado. | {"error":"module_disabled","module":"cnpj-login"} |
| 404 | CNPJ não encontrado. | {"error":"...","detail":"cnpj_not_found"} |
| 429 | Limite de requisições da família /storefront/. | {"error":"rate limit exceeded","detail":"too many requests, please try again later"} |
| 502 | Os serviços de consulta falharam ou devolveram dados incompletos. | {"error":"Falha na consulta do CNPJ","detail":"..."} |
| 503 | Consulta não configurada na loja. | {"error":"CNPJ registration lookup not configured"} |