Casos de erro

Em caso de erro, espera-se que a DPA retorne um código de status HTTP junto com uma resposta HTTP que DEVE incluir um objeto JSON com mais informações sobre o erro. O corpo da resposta de erro PRECISA conter uma instância de ErrorResponse.

{
  "errorMessage": string,
  "cause": enum(ErrorCause)
}

A resposta de erro da DPA precisa corresponder ao seguinte:

  • O usuário está em roaming, e a consulta de DPA está desativada para ele. A DPA retorna um erro 403 com USER_ROAMING como a causa.
  • A DPA retorna um código de erro 404 NOT_FOUND indicando ao GTAF que a chave de usuário é inválida (ou seja, uma chave de usuário inexistente) com INVALID_NUMBER.
  • A DPA retorna um código de erro 410 GONE com BAD_CPID como causa do erro, indicando ao GTAF que o cliente precisa receber uma nova chave de usuário se key_type = CPID e o CPID tiver expirado.
  • A DPA retorna um código de erro 501 NOT_IMPLEMENTED indicando que não é compatível com essa chamada com a causa do erro SERVICE_UNAVAILABLE.
  • A DPA retorna um 429 TOO MANY REQUESTS com a causa de erro TOO_MANY_REQUESTS com o cabeçalho Retry-After indicando que o GTAF está fazendo muitas solicitações para a DPA.
  • A DPA retorna um erro 409 CONFLICT indicando que a solicitação não pode ser concluída devido a um conflito com o estado atual da DPA.
  • Serviço temporariamente indisponível. A DPA retorna um 503 SERVICE UNAVAILABLE com o cabeçalho "Retry-After" indicando quando uma nova solicitação pode ser feita.
  • A DPA retorna um código de erro 500 INTERNAL SERVER ERROR para todos os outros erros não especificados ERROR_CAUSE_UNSPECIFIED como a causa do erro.

Em caso de erros encontrados durante uma compra, os seguintes códigos representam resultados de transações com falha:

  • A DPA retorna um código de erro 400 BAD REQUEST indicando ao GTAF que o ID do plano comprado é inválido.
  • A DPA retorna um código de erro 402 PAYMENT REQUIRED, indicando à GTAF que o usuário não tem saldo suficiente para concluir a compra.
  • A DPA retorna um código de erro 409 CONFLICT, indicando ao GTAF que o plano a ser comprado é incompatível com o mix de produtos atual do usuário. Por exemplo, se a política de plano de dados da operadora não permitir a combinação de planos pós-pago e pré-pago, tentar comprar um plano pré-pago para um usuário pós-pago vai gerar um erro 409 CONFLICT.
  • A DPA retorna um código de erro 403 FORBIDDEN indicando ao GTAF que a transação atual é uma duplicata de uma transação emitida anteriormente. O DPA DEVE retornar as seguintes causas de erro na resposta:
    • Se a transação anterior falhou, a causa do erro indica o motivo da falha.
    • Se a transação anterior foi concluída, DUPLICATE_TRANSACTION.
    • Se a transação anterior ainda estiver na fila, REQUEST_QUEUED.