← InícioFleetPay / API

Consultar a situação do RNTRC

Parâmetros, estrutura de dados e respostas do contrato versionado.

GET/consultas/rntrc
consultarRntrcBase de Homologação: https://api.fleetpay.site/v1

Descriçõ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.

Modo simulado em homologação

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.

O par documento + rntrc precisa conferir

Os 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.

Sentinelas de teste

Em modo simulado, estes valores de rntrc respondem sempre a mesma coisa — use-os para exercitar o caminho de erro da sua integração:

rntrcResposta
000000000Registro inativo — ativo: false, e data_validade no passado
111111111Registro ativo e equiparado a TAC — ativo: true e equiparado_tac: true
o RNTRC do transportador consultadoResposta de sucesso
qualquer outro valor válido400 rntrc_nao_confere

Autenticação

[
  {
    "oauth2": []
  },
  {
    "chaveApi": []
  }
]
A disponibilidade depende do ambiente, dos escopos habilitados e do provedor. Esta referência não executa chamadas nem recebe credenciais.

Parâmetros

documentoquery · stringObrigatório

CPF (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})$"
}
rntrcquery · stringObrigatório

RNTRC 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.

Restrições
{
  "type": "string",
  "pattern": "^[0-9]{8,9}$"
}

Respostas

200 Resposta HTTP

Situação do RNTRC consultado

application/json

environmentstringObrigatório

Ambiente em que a consulta rodou, decidido pelo endereço chamado.

"homologacao" · "producao"
400 Resposta HTTP

rntrc_nao_confere — o RNTRC informado não é o registro deste CPF/CNPJ. validacao — algum parâmetro está fora do formato exigido.

application/json

errorobjectOpcional
401 Resposta HTTP

Nã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.

application/json

errorobjectOpcional
403 Resposta HTTP

Escopo não habilitado para esta credencial

application/json

errorobjectOpcional
422 Resposta HTTP

A empresa autenticada ainda não concluiu o cadastro fiscal (empresa_nao_habilitada).

application/json

errorobjectOpcional
503 Resposta HTTP

A consulta está temporariamente indisponível (consulta_indisponivel). Aguarde e tente de novo.

application/json

errorobjectOpcional
Definição Completa da Operação
{
  "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"
}