Casos de erro

Em caso de erro, é esperado que a DPA retorne um código de status HTTP com uma resposta HTTP que PRECISA 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 no momento, e a consulta da DPA está desativada para ele. A DPA retorna um erro 403 com USER_ROAMING como a causa do erro.
  • A DPA retorna um código de erro 404 NOT_FOUND indicando ao GTAF que a chave de usuário é inválida (ou seja, chave de usuário inexistente) com INVALID_NUMBER.
  • A DPA retorna um código de erro 410 GONE com BAD_CPID como a causa do erro que indica ao GTAF que o cliente 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 ela não é compatível com essa chamada com a causa do erro SERVICE_UNAVAILABLE.
  • A DPA retorna uma causa de erro 429 TOO MANY com TOO_MANY_REQUESTS, com o cabeçalho "Tentar novamente" indicando que a GTAF está fazendo muitas solicitações à 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 serviço 503 INDISPONÍVEL, com o cabeçalho "Tentar novamente após", indicando quando é possível tentar fazer uma nova solicitação.
  • A DPA retorna um código de erro 500 SERVER INTERNAL para todos os outros erros não especificados, ERROR_CAUSE_UNSPECIFIED, como a causa do erro.

No caso de erros encontrados durante uma compra, os seguintes códigos de erro 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 para indicar à 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 de compra é 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-pagos e pré-pagos, a tentativa de compra de um plano pré-pago para um usuário pós-pago vai resultar em um erro de erro 409 CONFLICT.
  • A DPA retorna um código de erro 403 FORBIDDEN indicando ao GTAF que a transação atual é uma cópia de uma transação emitida anteriormente. A DPA DEVE retornar as seguintes causas de erro em resposta:
    • Se a transação anterior foi uma falha, o motivo do erro indica o motivo da falha.
    • Se a transação anterior foi bem-sucedida, DUPLICATE_TRANSACTION.
    • Se a transação anterior ainda estiver na fila, REQUEST_QUEUED.