Tratamento de Erros (RFC 7807)

A DFPay retorna erros no formato Problem Details com os campos: type, title, status, detail (opcional), errors (opcional), traceId.

Formato de Erro

Todos os erros seguem o formato ProblemDetails com os seguintes campos:

type

URI de referência do tipo de erro

title

Título resumido do erro

status

Código HTTP do erro

detail

Descrição detalhada do erro (opcional)

errors

Objeto com detalhes de validação (opcional)

traceId

ID de rastreamento da requisição

Exemplo 400 - Validação

{
  "type": "https://tools.ietf.org/html/rfc9110#section-15.5.1",
  "title": "One or more validation errors occurred.",
  "status": 400,
  "errors": {
    "Data.Customer.Email": [ "The Email field is required." ]
  },
  "traceId": "00-...-00"
}

Exemplo 401 - Autenticação

{
  "type": "about:blank",
  "title": "Unauthorized",
  "status": 401,
  "detail": "API Key ausente ou inválida",
  "traceId": "00-...-00"
}

Exemplo 403 - Permissão

{
  "type": "about:blank",
  "title": "Forbidden",
  "status": 403,
  "detail": "Acesso negado para esta company",
  "traceId": "00-...-00"
}

Exemplo 404 - Recurso não encontrado

{
  "type": "about:blank",
  "title": "Not Found",
  "status": 404,
  "traceId": "00-...-00"
}

Exemplo 500 - Erro interno

{
  "type": "about:blank",
  "title": "Internal Server Error",
  "status": 500,
  "traceId": "00-...-00"
}

Códigos de Status

200OK

Requisição bem-sucedida

400Bad Request

Erro de validação

401Unauthorized

Autenticação ausente/inválida

403Forbidden

Credenciais válidas, sem permissão

404Not Found

Recurso inexistente

500Internal Server Error

Erro inesperado