documentoquery · stringObrigatórioCPF (11 dígitos) ou CNPJ (14 dígitos) do transportador consultado, somente dígitos.
Restrições
{
"type": "string",
"pattern": "^([0-9]{11}|[0-9]{14})$"
}Parâmetros, estrutura de dados e respostas do contrato versionado.
/consultas/rntrcDescrições técnicas preservadas do contrato versionado. Exemplos de dados foram omitidos da cópia pública.
Consulta a situação cadastral de um RNTRC na ANTT: se está ativo, a razão social, o tipo de transportador e se é equiparado a TAC.
Pré-requisito da empresa que consulta: ter o cadastro fiscal concluído — com o
certificado digital A1 enviado em Configurações. Sem isso a resposta é 422 com
empresa_nao_habilitada.
Exige o escopo consultas habilitado no painel.
Esta consulta não tem provedor contratado por trás: em homologação a resposta é
gerada pela FleetPay, é determinística e não tem efeito regulatório — o dado não vem
da ANTT e não reflete o cadastro real do transportador. Para deixar isso explícito na
resposta, o campo razao_social não traz o nome real: em modo simulado ele é
substituído por inteiro por TRANSPORTES SIMULADOS HML LTDA quando o documento é um
CNPJ, ou por TRANSPORTADOR AUTONOMO SIMULADO quando é um CPF.
O contrato de request e response já é o definitivo: integre agora. Quando o provedor real entrar, o comportamento deixa de ser simulado sem mudança de contrato.
documento + rntrc precisa conferirOs dois parâmetros são uma pergunta só: "a situação DESTE registro DESTE
transportador". Um RNTRC que não seja o daquele CPF/CNPJ não descreve transportador
nenhum, e a resposta é 400 com rntrc_nao_confere — nunca um 200 sobre o
cadastro que por acaso foi encontrado.
É 400 e não 503 porque a consulta rodou e concluiu: não houve indisponibilidade. E
não é 404 porque o que está errado é a combinação dos dois parâmetros, não um
recurso ausente no endereço.
As sentinelas abaixo são isentas dessa checagem — elas existem justamente para não serem o RNTRC de ninguém.
Em modo simulado, estes valores de rntrc respondem sempre a mesma coisa — use-os para
exercitar o caminho de erro da sua integração:
rntrc | Resposta |
|---|---|
000000000 | Registro inativo — ativo: false, e data_validade no passado |
111111111 | Registro ativo e equiparado a TAC — ativo: true e equiparado_tac: true |
| o RNTRC do transportador consultado | Resposta de sucesso |
| qualquer outro valor válido | 400 rntrc_nao_confere |
[
{
"oauth2": []
},
{
"chaveApi": []
}
]documentoquery · stringObrigatórioCPF (11 dígitos) ou CNPJ (14 dígitos) do transportador consultado, somente dígitos.
{
"type": "string",
"pattern": "^([0-9]{11}|[0-9]{14})$"
}rntrcquery · stringObrigatórioRNTRC do transportador consultado, com 8 ou 9 dígitos.
Em homologação, 000000000 devolve registro inativo e 111111111 devolve registro
ativo equiparado a TAC; qualquer outro valor válido devolve sucesso.
{
"type": "string",
"pattern": "^[0-9]{8,9}$"
}200 Resposta HTTPSituação do RNTRC consultado
application/jsondataobjectObrigatórioenvironmentstringObrigatórioAmbiente em que a consulta rodou, decidido pelo endereço chamado.
"homologacao" · "producao"400 Resposta HTTPrntrc_nao_confere — o RNTRC informado não é o registro deste CPF/CNPJ.
validacao — algum parâmetro está fora do formato exigido.
401 Resposta HTTPNão autenticado (autenticacao): credencial ausente, inválida ou expirada — inclusive chave de API usada no ambiente errado. A chave de homologação não vale em produção, nem a de produção em homologação; a mensagem do erro indica o ambiente esperado.
403 Resposta HTTPEscopo não habilitado para esta credencial
422 Resposta HTTPA empresa autenticada ainda não concluiu o cadastro fiscal (empresa_nao_habilitada).
503 Resposta HTTPA consulta está temporariamente indisponível (consulta_indisponivel). Aguarde e tente de novo.
{
"tags": [
"Consultas"
],
"summary": "Consultar a situação do RNTRC",
"operationId": "consultarRntrc",
"description": "Consulta a situação cadastral de um RNTRC na ANTT: se está ativo, a razão social, o\ntipo de transportador e se é equiparado a TAC.\n\n**Pré-requisito da empresa que consulta:** ter o cadastro fiscal concluído — com o\ncertificado digital A1 enviado em Configurações. Sem isso a resposta é `422` com\n`empresa_nao_habilitada`.\n\nExige o escopo `consultas` habilitado no painel.\n\n## Modo simulado em homologação\n\nEsta consulta **não tem provedor contratado** por trás: em homologação a resposta é\ngerada pela FleetPay, é determinística e **não tem efeito regulatório** — o dado não vem\nda ANTT e não reflete o cadastro real do transportador. Para deixar isso explícito na\nresposta, o campo `razao_social` **não traz o nome real**: em modo simulado ele é\nsubstituído por inteiro por `TRANSPORTES SIMULADOS HML LTDA` quando o `documento` é um\nCNPJ, ou por `TRANSPORTADOR AUTONOMO SIMULADO` quando é um CPF.\n\nO contrato de request e response já é o definitivo: integre agora. Quando o provedor real\nentrar, o comportamento deixa de ser simulado **sem mudança de contrato**.\n\n\n### O par `documento` + `rntrc` precisa conferir\n\nOs dois parâmetros são uma pergunta só: *\"a situação DESTE registro DESTE\ntransportador\"*. Um RNTRC que não seja o daquele CPF/CNPJ não descreve transportador\nnenhum, e a resposta é **`400` com `rntrc_nao_confere`** — nunca um `200` sobre o\ncadastro que por acaso foi encontrado.\n\nÉ `400` e não `503` porque a consulta rodou e concluiu: não houve indisponibilidade. E\nnão é `404` porque o que está errado é a **combinação** dos dois parâmetros, não um\nrecurso ausente no endereço.\n\nAs sentinelas abaixo são **isentas** dessa checagem — elas existem justamente para não\nserem o RNTRC de ninguém.\n\n### Sentinelas de teste\n\nEm modo simulado, estes valores de `rntrc` respondem sempre a mesma coisa — use-os para\nexercitar o caminho de erro da sua integração:\n\n| `rntrc` | Resposta |\n|---|---|\n| `000000000` | Registro inativo — `ativo: false`, e `data_validade` no passado |\n| `111111111` | Registro ativo e equiparado a TAC — `ativo: true` e `equiparado_tac: true` |\n| o RNTRC do transportador consultado | Resposta de sucesso |\n| qualquer outro valor válido | `400` `rntrc_nao_confere` |\n",
"parameters": [
{
"name": "documento",
"in": "query",
"required": true,
"schema": {
"type": "string",
"pattern": "^([0-9]{11}|[0-9]{14})$"
},
"description": "CPF (11 dígitos) ou CNPJ (14 dígitos) do transportador consultado, somente dígitos."
},
{
"name": "rntrc",
"in": "query",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9]{8,9}$"
},
"description": "RNTRC do transportador consultado, com 8 ou 9 dígitos.\n\nEm homologação, `000000000` devolve registro inativo e `111111111` devolve registro\nativo equiparado a TAC; qualquer outro valor válido devolve sucesso.\n"
}
],
"responses": {
"200": {
"description": "Situação do RNTRC consultado",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RespostaConsultaRntrc"
}
}
}
},
"400": {
"description": "`rntrc_nao_confere` — o RNTRC informado não é o registro deste CPF/CNPJ.\n`validacao` — algum parâmetro está fora do formato exigido.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Erro"
}
}
}
},
"401": {
"$ref": "#/components/responses/Erro401"
},
"403": {
"$ref": "#/components/responses/Erro403"
},
"422": {
"description": "A empresa autenticada ainda não concluiu o cadastro fiscal (`empresa_nao_habilitada`).",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Erro"
}
}
}
},
"503": {
"description": "A consulta está temporariamente indisponível (`consulta_indisponivel`). Aguarde e tente de novo.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Erro"
}
}
}
}
},
"method": "GET",
"path": "/consultas/rntrc"
}