Pular para o conteúdo principal

Tratamento de Erros


API v1 — Formato fbk_xxx

Todas as respostas da API Frota162 v1 seguem um formato consistente com os campos message, error e code.

Formato de resposta

Sucesso:

{
"message": "...",
"error": false,
"code": "fbk_200"
}

Erro:

{
"message": "Descrição do erro",
"error": true,
"code": "fbk_001"
}

Códigos de retorno (fbk_xxx)

CódigoTipoDescrição
fbk_001AutenticaçãoUsuário/token não encontrado ou inválido
fbk_002AutorizaçãoSem permissão para a empresa
fbk_003ValidaçãoCampo obrigatório ausente
fbk_004Recurso não encontradoRecurso não existe ou não pertence à conta
fbk_006URL inválidaURL do webhook inválida
fbk_008DuplicataWebhook com mesma url + event_id já cadastrado
fbk_200SucessoOperação concluída com sucesso
fbk_400Requisição inválidaDados enviados inválidos ou mal formatados
fbk_500Erro internoErro inesperado no servidor

Exemplos por situação

Token inválido (fbk_001)

{
"message": "Não autorizado",
"error": true,
"code": "fbk_001"
}

Causa: Token ausente, inválido ou assinatura HMAC incorreta.

Como resolver: Verifique se o ACCESS_TOKEN está correto e recalcule a assinatura HMAC. Consulte Autenticação HMAC.


Recurso não encontrado (fbk_004)

{
"message": "Condutor não pertence a empresa que tenha acesso",
"error": true,
"code": "fbk_004"
}

Causa: O recurso solicitado não existe ou não pertence à conta autenticada.

Como resolver: Confirme o ID do recurso listando os registros disponíveis.


Operação bem-sucedida (fbk_200)

{
"message": "Condutor desabilitado com sucesso",
"error": false,
"code": "fbk_200"
}

Dados inválidos (fbk_400)

{
"message": "O campo placa é obrigatório",
"error": true,
"code": "fbk_400"
}

Causa: Campo obrigatório ausente ou dado em formato incorreto.

Como resolver: Verifique os campos obrigatórios do endpoint na documentação.


Erro interno (fbk_500)

{
"message": "Erro inesperado",
"error": true,
"code": "fbk_500"
}

Causa: Erro inesperado no servidor.

Como resolver: Tente novamente após alguns segundos. Se persistir, entre em contato com suporte@frota162.com.br.

Estratégia de retry

Código / SituaçãoFazer retry?Ação recomendada
fbk_001 (token inválido)NãoRevisar ACCESS_TOKEN e recalcular HMAC
fbk_002 (sem permissão)NãoVerificar se o token tem acesso à empresa
fbk_003 (campo ausente)NãoCorrigir os campos obrigatórios
fbk_004 (não encontrado)NãoConfirmar o ID do recurso
fbk_400 (dados inválidos)NãoCorrigir os dados enviados
fbk_500 (erro interno)SimBackoff exponencial (1s → 2s → 4s)
HTTP 429 (rate limit)SimAguardar e retentar

Exemplo de tratamento em Node.js

async function chamarApi(url, opcoes) {
const resposta = await fetch(url, opcoes);
const dados = await resposta.json();

if (dados.error) {
switch (dados.code) {
case 'fbk_001':
throw new Error('Token inválido. Verifique o ACCESS_TOKEN e recalcule o HMAC.');
case 'fbk_004':
throw new Error('Recurso não encontrado: ' + dados.message);
case 'fbk_400':
throw new Error('Dados inválidos: ' + dados.message);
case 'fbk_500':
await sleep(1000);
return chamarApi(url, opcoes);
default:
throw new Error('Erro da API: ' + dados.message);
}
}

return dados.message;
}

function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}

Contato com suporte

Se encontrar erros persistentes, entre em contato em suporte@frota162.com.br informando:

Para erros da API v1:

  • A URL e método HTTP da requisição
  • O código de erro (fbk_xxx) retornado
  • A mensagem de erro completa
  • Timestamp da ocorrência