Códigos de erro — Integration API

O endpoint de token retorna erros no formato OAuth2 padrão:

Erros do Endpoint de Token (POST /api/integration/auth/token)

O endpoint de token retorna erros no formato OAuth2 padrão:

{
  "error": "error_code",
  "error_description": "Human-readable description"
}
HTTP StatusCódigo OAuth2DescriçãoComo Resolver
400unsupported_grant_typeO grant_type informado não é suportadoUsar client_credentials ou password
400invalid_requestParâmetros obrigatórios ausentes ou malformadosVerificar se client_id e grant_type estão presentes
401invalid_clientClient ID ou client secret inválidosVerificar credenciais do client OAuth2
401invalid_grantCredenciais de usuário inválidas (username/password)Verificar email e senha do usuário
401unauthorized_clientClient não tem permissão para o grant type solicitadoVerificar a configuração da API key no IAM

Erros dos Endpoints Autenticados (GET /api/integration/companies)

Endpoints autenticados retornam erros no formato padrão da API:

{
  "code": "string",
  "message": "string",
  "success": false
}

Erros HTTP

HTTP StatusDescriçãoCausa ComumComo Resolver
401 UnauthorizedToken JWT ausente ou inválidoHeader Authorization não enviado ou token expiradoObter um novo token via POST /api/integration/auth/token
403 ForbiddenPermissões insuficientesUsuário não tem role necessária para acessar o recursoVerificar as roles atribuídas à API key ou ao usuário no IAM
403 ForbiddenCliente incorretoTentativa de acessar dados de outro customerVerificar o header X-Customer-Id ou o claim customer-id no JWT
400 Bad RequestViolação de regra de domínioParâmetros inválidos ou regra de negócio não atendidaVerificar a mensagem de erro retornada no campo message
400 Bad RequestErro de validaçãoCampo obrigatório ausente ou formato inválidoVerificar os campos enviados conforme a documentação
500 Internal Server ErrorErro internoFalha inesperada no servidorEntrar em contato com o suporte técnico

Erros de Domínio (DomainException)

Erros de domínio retornam HTTP 400 com um código específico no campo code:

{
  "code": "DOMAIN_ERROR_CODE",
  "message": "Mensagem descritiva localizada",
  "success": false
}

O campo message é localizado de acordo com o header Accept-Language (suporta pt-BR e en-US).

Boas Práticas para Tratamento de Erros

  1. Sempre verifique o campo success na resposta para determinar se a operação foi bem-sucedida
  2. Trate tokens expirados automaticamente: ao receber 401, obtenha um novo token e repita a requisição
  3. Não armazene tokens indefinidamente: respeite o expires_in retornado no token
  4. Logue os códigos de erro para facilitar troubleshooting com a equipe de suporte

Nesta página