Pular para o conteúdo principal

Perguntas Frequentes

Dúvidas comuns sobre a integração com a API Frota162.

Credenciais e Autenticação

Onde encontro meu ACCESS_TOKEN e SECRET_KEY?

No painel Frota162: Configurações → Usuários → edite o usuário administrador → clique em Gerar Token.

O ACCESS_TOKEN e a SECRET_KEY são exibidos nessa tela. Guarde-os em local seguro — a SECRET_KEY não é exibida novamente.

Como calculo a assinatura HMAC?

A assinatura é calculada aplicando HMAC-SHA256 usando a SECRET_KEY como chave e o ACCESS_TOKEN como mensagem:

Key = HMAC-SHA256(mensagem: ACCESS_TOKEN, chave: SECRET_KEY)

Exemplo em Node.js:

const crypto = require('crypto');

const hmacKey = crypto
.createHmac('sha256', process.env.FROTA_SECRET_KEY)
.update(process.env.FROTA_ACCESS_TOKEN)
.digest('hex');

Consulte o Guia de Autenticação HMAC para mais detalhes.

O token expira?

O ACCESS_TOKEN não tem expiração automática. Ele pode ser regenerado manualmente no painel quando necessário — ao fazer isso, o token anterior é invalidado imediatamente.

Posso usar as mesmas credenciais em sandbox e produção?

Não. Cada ambiente possui suas próprias credenciais. Solicite ao suporte as credenciais de cada ambiente separadamente.

Ambientes

Qual URL usar para testes?

Use o ambiente de sandbox durante o desenvolvimento:

AmbienteAPI v1API v2
Sandboxhttps://apidev.v1.frota162.com.brhttps://api.sandbox.v2.frota162.com.br
Produçãohttps://api.v1.frota162.com.brhttps://api.v2.frota162.com.br

Nunca teste em produção — use sandbox até validar completamente a integração.

Existe um ambiente sandbox com dados fictícios?

Sim. O ambiente de sandbox opera com dados fictícios, sem risco de afetar informações reais. Solicite as credenciais de sandbox ao suporte (suporte@frota162.com.br).

Erros e Diagnóstico

O que significa o erro fbk_001?

Token não encontrado ou inválido. Verifique:

  1. O ACCESS_TOKEN está correto (sem espaços ou quebras de linha)?
  2. A SECRET_KEY é exatamente a mesma gerada no painel?
  3. O HMAC está sendo calculado com sha256 (não sha1 ou md5)?
  4. Os headers Authorization e Key estão sendo enviados?

Consulte a lista completa de códigos de erro.

Estou recebendo erro 500 — o que fazer?

Erro 500 indica falha interna no servidor. Verifique:

  • Se o payload da requisição está correto (campos obrigatórios presentes, tipos corretos)
  • Se o erro ocorre de forma consistente ou intermitente

Se persistir, entre em contato com suporte@frota162.com.br informando o endpoint, o payload enviado (sem credenciais) e o horário da ocorrência.

Como faço para monitorar a disponibilidade da API?

Em caso de instabilidade, entre em contato com suporte@frota162.com.br. Uma página de status com disponibilidade em tempo real está sendo desenvolvida e será disponibilizada em breve.

Limites e Boas Práticas

Existe rate limiting?

Sim. Requisições em excesso podem ser bloqueadas temporariamente. Implemente backoff exponencial em caso de erros 429 Too Many Requests. Consulte as Boas Práticas de Integração para recomendações de throttling.

Devo armazenar as credenciais no código-fonte?

Nunca. Use variáveis de ambiente ou um gerenciador de segredos (ex: AWS Secrets Manager, HashiCorp Vault, variáveis de CI/CD). Credenciais expostas em repositórios devem ser regeneradas imediatamente.

Como recebo eventos em tempo real sem fazer polling?

Use Webhooks. A API Frota162 envia notificações HTTP para sua URL configurada quando eventos relevantes ocorrem (multas, viagens, etc.). Veja o Guia de Webhooks.

Meu handler de eventos de débito (IPVA/DPVAT/Licenciamento) nunca dispara — o que está errado?

Os event_type de débito no payload usam o prefixo DEBITOS- em UPPERCASE: DEBITOS-IPVA, DEBITOS-DPVAT e DEBITOS-LICENCIAMENTO. Eles são os únicos event_type em maiúsculas — todos os demais usam lowercase (frame, notification, cronotacografo, car, driver_indication).

Se o seu handler compara contra IPVA, DPVAT ou LICENCIAMENTO (sem prefixo), o evento chega, não encontra match e é descartado silenciosamente. Corrija a comparação para usar o valor exato do payload:

// ❌ Errado — nunca vai bater
if (event_type === 'IPVA') { ... }

// ✅ Correto
if (event_type === 'DEBITOS-IPVA') { ... }

Não aplique toLowerCase() nem qualquer normalização de case antes do match. Consulte a tabela de tipos de evento para o mapeamento completo de event_idevent_type.

Posso chamar a API diretamente do navegador (JavaScript)?

A forma recomendada de integração é server-to-server: seu backend chama a API Frota162. Nesse modelo, restrições de navegador (CORS) não se aplicam e a integração funciona normalmente.

Se você precisa consumir a API a partir de JavaScript rodando no navegador, o domínio de origem da sua aplicação (ex: https://app.suaempresa.com) precisa estar previamente autorizado. Solicite a liberação da sua origem ao suporte (suporte@frota162.com.br), informando o domínio exato.

Não exponha credenciais no navegador

Independente de CORS, nunca coloque ACCESS_TOKEN ou SECRET_KEY em código que roda no navegador — eles ficariam visíveis para qualquer usuário. Mantenha as credenciais no seu backend.

Suporte

Como entro em contato com o suporte?

Envie um e-mail para suporte@frota162.com.br com:

  • Descrição do problema
  • Endpoint utilizado
  • Payload da requisição (sem credenciais)
  • Resposta recebida
  • Horário e ambiente (sandbox ou produção)