Pular para o conteúdo principal
Módulos v2

Licenciamento

O Licenciamento é a taxa anual cobrada pelos estados para manter o veículo regularizado e emitir o documento do ano. Este módulo permite que você consulte a situação do Licenciamento de um veículo da sua conta pela placa, com o total em aberto e os débitos do veículo.

4 min de leituraVale para v2

O que dá para fazer​

OperaçãoEndpoint
Consultar o Licenciamento de um veículoGET /v2/licensing/vehicles/:carPlate
Listar débitos de Licenciamento com filtrosGET /v2/licensing/vehicles
Autenticação

Este módulo usa a mesma autenticação HMAC-SHA256 da API v1. Requer os headers Authorization e Key. Consulte o guia de autenticação se ainda não configurou.

Módulo obrigatório

O módulo Licenciamento precisa estar ativo no seu plano. Se não estiver, a API retorna 403. Entre em contato conosco para habilitar.

A consulta traz os débitos de Licenciamento que já estão na plataforma para os veículos da sua conta. A API não faz uma consulta nova ao órgão de trânsito a cada chamada.


Consultar Licenciamento por placa​

GET/v2/licensing/vehicles/:carPlate

Retorna a situação consolidada do Licenciamento de um veículo da sua conta, o total em aberto e todos os débitos de Licenciamento do veículo. Use quando você precisa responder "este veículo tem Licenciamento a pagar?".

curl -X GET \
'https://api.frota162.com.br/v2/licensing/vehicles/ABC1D23' \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC'
ParâmetroOndeDescrição
carPlatepathPlaca do veículo (padrão antigo ou Mercosul). Aceita com ou sem hífen e em minúsculas (abc-1d23 vira ABC1D23)

A placa precisa ser de um veículo cadastrado na sua conta. Placa fora da conta retorna 404. Para testar cada cenário sem dados reais, use as placas do ambiente de testes.

Resposta​

{
"vehicle": { "carPlate": "ABC1D23", "uf": "SP" },
"situation": "OPEN",
"unavailableReason": null,
"totalOpenAmount": 160.22,
"debts": [
{
"id": 1,
"year": 2026,
"amount": 160.22,
"discountAmount": 0,
"dueDate": "2026-12-05",
"status": "OPEN",
"overdue": false,
"officialDueDate": "2026-12-05"
}
]
}
CampoTipoNullableDescrição
vehicle.carPlatestringNãoPlaca do veículo
vehicle.ufstringSimUF do veículo
situationOPEN | PAID | UNAVAILABLENãoSituação consolidada do Licenciamento do veículo. Veja situação do veículo
unavailableReasonstringSimMotivo, preenchido só quando situation é UNAVAILABLE. Veja motivos
totalOpenAmountnumberNãoSoma dos débitos em aberto (valor menos desconto), em R$, com 2 casas decimais
debts[]arrayNãoDébitos de Licenciamento do veículo, ordenados pelo vencimento. Vazio quando não há débito

Campos dos débitos (debts[])​

CampoTipoNullableDescrição
idnumberNãoIdentificador do débito
yearnumberSimAno de exercício
amountnumberSimValor do débito (R$)
discountAmountnumberSimValor de desconto (R$)
dueDatestring (YYYY-MM-DD)SimData de vencimento
statusOPEN | PAIDNãoSituação do débito: OPEN (em aberto) ou PAID (quitado)
overduebooleanNãotrue quando o débito está em aberto (status: OPEN) e o vencimento já passou, considerando a data de Brasília
officialDueDatestring (YYYY-MM-DD)SimVencimento oficial definido pelo estado
Datas no formato curto

Os campos de data (dueDate, officialDueDate) são retornados como YYYY-MM-DD, sem hora.

Situação do veículo​

situationQuando
OPENO veículo tem pelo menos um débito de Licenciamento em aberto
PAIDO veículo não tem débito em aberto: todos foram quitados, ou o veículo foi consultado e não tem Licenciamento a pagar
UNAVAILABLENão foi possível obter o Licenciamento do veículo. O motivo vem em unavailableReason
Sem situação de isenção

Diferente do IPVA, o Licenciamento não tem a situação EXEMPT. Veículo sem Licenciamento a pagar aparece como PAID.

Motivos de indisponibilidade​

unavailableReasonO que significaO que fazer
UF_NOT_COVEREDA UF do veículo ainda não tem consulta na plataformaAcompanhe o Licenciamento desse veículo por outro canal
RECENTLY_REGISTEREDO veículo foi cadastrado há pouco tempo e ainda não foi consultadoConsulte novamente nos próximos dias
MISSING_RENAVAMO cadastro do veículo está sem RENAVAMComplete o RENAVAM no cadastro do veículo
INVALID_OR_MISSING_UFO cadastro do veículo está sem UF ou com UF inválidaCorrija a UF no cadastro do veículo
Motivo null com UNAVAILABLE

Se situation for UNAVAILABLE e unavailableReason vier null, a situação do veículo não pôde ser determinada. Trate como indisponível e consulte novamente mais tarde.


Listar Licenciamentos​

GET/v2/licensing/vehicles

Retorna os débitos de Licenciamento dos veículos da sua conta, em páginas. Todos os filtros são opcionais. Sem filtros, retorna todos os débitos da conta, ordenados pelo vencimento mais próximo.

A listagem traz só débitos. Veículos sem débito não aparecem aqui. Para saber a situação de um veículo específico, use a consulta por placa.

curl -X GET \
'https://api.frota162.com.br/v2/licensing/vehicles?status=PENDING&pageSize=20&currentPage=1' \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC'

Filtros disponíveis​

ParâmetroTipoPadrãoDescrição
currentPagenumber1Número da página (começa em 1)
pageSizenumber10Itens por página, máximo 100
carPlatestring—Placa do veículo, busca exata. Aceita com ou sem hífen e em minúsculas (abc-1d23 vira ABC1D23)
statusstring—Status de pagamento do débito: PENDING ou PAID. Veja filtro de status
yearnumber—Ano de exercício, de 2000 até o ano seguinte ao atual
dueDateFrom / dueDateTostring—Período pela data de vencimento (YYYY-MM-DD). dueDateTo deve ser maior ou igual a dueDateFrom
sortstringdueDateCampo de ordenação: dueDate, year, amount ou carPlate
orderstringascDireção da ordenação: asc ou desc

Parâmetros desconhecidos são ignorados. Um valor inválido em um parâmetro conhecido retorna 400 indicando o campo.

Filtro de status​

O filtro status usa o status de pagamento do débito:

ValorO que retorna
PENDINGDébitos aguardando pagamento
PAIDDébitos pagos pela plataforma
O filtro não é o mesmo que o campo status do item

O campo status de cada item (OPEN/PAID) é uma situação consolidada. Débitos em processamento, bloqueados ou com erro aparecem no item como OPEN, mas não entram em nenhum dos dois valores do filtro. Para ter a visão completa da frota, liste sem o filtro status e use o campo status do item.

Resposta​

{
"data": [
{
"id": 1,
"vehicle": { "carPlate": "ABC1D23", "uf": "SP" },
"year": 2026,
"amount": 160.22,
"discountAmount": 0,
"dueDate": "2026-12-05",
"status": "OPEN",
"overdue": false,
"officialDueDate": "2026-12-05"
}
],
"page": {
"currentPage": 1,
"pageSize": 20,
"totalItems": 42,
"totalPages": 3,
"hasNext": true
}
}

Campos dos itens (data[])​

CampoTipoNullableDescrição
idnumberNãoIdentificador do débito
vehicle.carPlatestringNãoPlaca do veículo
vehicle.ufstringSimUF do veículo
yearnumberSimAno de exercício
amountnumberSimValor do débito (R$)
discountAmountnumberSimValor de desconto (R$)
dueDatestring (YYYY-MM-DD)SimData de vencimento
statusOPEN | PAIDNãoSituação do débito: OPEN (em aberto) ou PAID (quitado)
overduebooleanNãotrue quando o débito está em aberto e o vencimento já passou, considerando a data de Brasília
officialDueDatestring (YYYY-MM-DD)SimVencimento oficial definido pelo estado

Os itens não têm campos de cota (quota, numberOfQuotas e quoteType), porque o Licenciamento não tem cotas.

Campos de paginação (page)​

CampoDescrição
currentPagePágina atual
pageSizeItens por página solicitados
totalItemsTotal de débitos que atendem aos filtros
totalPagesTotal de páginas disponíveis
hasNexttrue se houver próxima página

Este é o formato padrão de paginação da API v2 ({ data, page }). Veja o guia de Paginação para detalhes e como iterar sobre todas as páginas.

Página além do total ou filtro sem resultado

Pedir uma página além da última, ou usar um filtro que não encontra nada, retorna 200 com data: []. Na página além do total, totalItems continua mostrando o total real.

Erros da listagem​

StatustypeCausaAção
400validation-errorParâmetro inválido: pageSize acima de 100, status desconhecido, year fora da faixa, dueDateTo anterior a dueDateFromRevise os parâmetros; a resposta indica o campo
401unauthorizedHeader Authorization ou Key ausente ou inválidoRevise as credenciais — consulte o guia de autenticação
403forbiddenMódulo Licenciamento não ativo no plano, ou organização sem conta configuradaConfirme o módulo habilitado; se persistir, entre em contato com o suporte
503service-unavailableServiço temporariamente indisponívelTente novamente após o tempo indicado no header Retry-After (em segundos)
500internal-server-errorErro interno ao processar a consultaAguarde alguns instantes e tente novamente; use retry com backoff

Exemplos de uso​

Licenciamentos pendentes com vencimento no trimestre​

curl -X GET \
'https://api.frota162.com.br/v2/licensing/vehicles?status=PENDING&dueDateFrom=2026-01-01&dueDateTo=2026-03-31&pageSize=100' \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC'

Licenciamentos de um veículo em um exercício​

curl -X GET \
'https://api.frota162.com.br/v2/licensing/vehicles?carPlate=ABC1D23&year=2026' \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC'

Percorrer todas as páginas​

async function buscarTodosLicenciamentos(headers) {
const todos = [];
let pagina = 1;
let temProxima = true;

while (temProxima) {
const url = `https://api.frota162.com.br/v2/licensing/vehicles?currentPage=${pagina}&pageSize=100`;
const resposta = await fetch(url, { headers });
const dados = await resposta.json();

todos.push(...dados.data);
temProxima = dados.page.hasNext;
pagina++;
}

return todos;
}

Referência de erros​

Todos os erros retornam o formato RFC 7807 Problem Details:

{
"type": "urn:frota162-api-v2:error:{tipo}",
"title": "Título do erro",
"status": 400,
"detail": "Descrição específica do problema"
}
StatustypeCausaAção
400validation-errorPlaca malformadaRevise a placa; a resposta indica o campo
401unauthorizedHeader Authorization ou Key ausente ou inválidoRevise as credenciais — consulte o guia de autenticação
403forbiddenMódulo Licenciamento não ativo no plano, ou organização sem conta configuradaConfirme o módulo habilitado; se persistir, entre em contato com o suporte
404vehicle-not-foundPlaca não encontrada entre os veículos da sua contaConfira a placa e se o veículo está cadastrado na conta
503service-unavailableServiço temporariamente indisponívelTente novamente após o tempo indicado no header Retry-After (em segundos)
500internal-server-errorErro interno ao processar a consultaAguarde alguns instantes e tente novamente; use retry com backoff

Ambiente de testes (sandbox)​

No ambiente sandbox, a consulta por placa não acessa os veículos reais da conta: um catálogo determinístico de placas devolve respostas fixas para você exercitar cada situation e os erros da sua integração. Mesma placa → mesma resposta, sempre. As datas de vencimento são relativas à data da consulta, então o catálogo não envelhece.

curl -X GET \
'https://api.sandbox.v2.frota162.com.br/v2/licensing/vehicles/TST1A05' \
-H 'Authorization: Basic SEU_ACCESS_TOKEN' \
-H 'Key: SUA_ASSINATURA_HMAC'
PlacaCenárioResposta
TST1A05Licenciamento em aberto200 — situation: OPEN, 1 débito de R$ 160,22 a vencer em 45 dias (overdue: false)
TST1A02Licenciamento quitado200 — situation: PAID, débito pago
TST1A01Veículo sem Licenciamento a pagar200 — situation: PAID, sem débitos
TST1A03Veículo sem Licenciamento a pagar200 — situation: PAID, sem débitos
TST1A04UF sem cobertura200 — situation: UNAVAILABLE, unavailableReason: UF_NOT_COVERED
TST1A06Serviço indisponível503 com header Retry-After

As mesmas placas valem na consulta de IPVA, com o cenário de IPVA de cada uma.

Regras do catálogo:

  • Qualquer placa válida fora da tabela retorna 404 (vehicle-not-found), como uma placa que não está na sua conta.
  • Placa malformada é recusada na validação (400), sem consultar o catálogo.
  • A listagem GET /v2/licensing/vehicles não usa o catálogo de placas: consulta os débitos reais da conta, como a listagem de IPVA.
Somente sandbox

Estas placas são fictícias e válidas apenas no ambiente sandbox. Em produção, a consulta usa os veículos e débitos da sua conta.


Próximos passos​