Referência Técnica

Códigos de Erro

Referência completa de códigos de erro da API

Referência completa de todos os códigos de erro retornados pela API da Nuvende.

Códigos HTTP

2xx - Sucesso

CódigoDescrição
200OK - Requisição bem-sucedida
201Created - Recurso criado com sucesso
202Accepted - Requisição aceita para processamento

4xx - Erro do Cliente

CódigoDescriçãoSolução
400Bad RequestVerificar parâmetros da requisição
401UnauthorizedVerificar token de autenticação
403ForbiddenVerificar permissões
404Not FoundRecurso não encontrado
422Unprocessable EntityDados inválidos
429Too Many RequestsRate limit excedido

5xx - Erro do Servidor

CódigoDescriçãoSolução
500Internal Server ErrorTentar novamente mais tarde
502Bad GatewayProblema de conectividade
503Service UnavailableServiço temporariamente indisponível
504Gateway TimeoutTimeout na requisição

Códigos de Erro Específicos

Não use códigos inventados do tipo AUTH_001 / PIX_001 — a API v2 sinaliza sobretudo por HTTP status e envelope Pix (type, title, status, detail, violacoes).

Envelope típico (Contas, Cobranças, Pix)

Em várias rotas o corpo de erro segue o padrão abaixo (campos podem variar):

{
  "type": "https://pix.bcb.gov.br/api/v2/error/OperacaoInvalida",
  "title": "Operação inválida.",
  "status": 422,
  "detail": "Requisição no formato inválido, ou realizando alguma operação não permitida",
  "violacoes": {
    "data_inicio": ["The data inicio field is required."]
  }
}
CampoUso
statusEspelha o HTTP na maioria dos casos
title / detailMensagem legível
violacoesErros de validação por campo (ex.: extrato sem data_inicio)
correlationIdPode aparecer em falhas 5xx

Contas e Cobranças (orientação)

HTTPSituação frequente
400Recurso inválido (ex.: conta não encontrada em GET /contas)
401Token inválido
403Scope ausente (contas.*, cob.*, pix.*, webhooks.*)
422Validação de query/body (violacoes)
429Rate limit

Checklist por área: Resolução de problemas.

Tratamento de Erros

JavaScript/Node.js

function tratarErro(error) {
  const status = error.response?.status;
  const codigo = error.response?.data?.codigo;
  
  switch (status) {
    case 400:
      console.error('Parâmetros inválidos');
      break;
    case 401:
      console.error('Token inválido');
      break;
    case 403:
      console.error('Permissões insuficientes');
      break;
    case 404:
      console.error('Recurso não encontrado');
      break;
    case 429:
      console.error('Rate limit excedido');
      break;
    case 500:
      console.error('Erro interno do servidor');
      break;
    default:
      console.error('Erro inesperado:', error.message);
  }
}

2025 © Nuvende - CNPJ 38.297.374/0001-93