Casi di errore

In caso di errore, l'ETD dovrebbe restituire un codice di stato HTTP insieme a una risposta HTTP che DEVE includere un oggetto JSON con ulteriori informazioni sull'errore. Il corpo della risposta all'errore DEVE contenere un'istanza di ErrorResponse.

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

La risposta dell'errore DPA DEVE corrispondere alla seguente:

  • Al momento l'utente è in roaming e la query DPA è disattivata per questo utente. L'ETD restituisce un errore 403 con USER_ROAMING come causa dell'errore.
  • L'ETD restituisce un codice di errore 404 NOT_FOUND che indica a GTAF che la chiave utente non è valida (ad es. chiave utente) non esistente con INVALID_NUMBER.
  • L'ETD restituisce un codice di errore 410 GONE con BAD_CPID, come causa dell'errore, che indica a GTAF che il client deve ricevere una nuova chiave utente se key_type = CPID è il CPID scaduto.
  • La DPA restituisce un codice di errore 501 NOT_IMPLEMENTED che indica che non supporta la chiamata con causa di errore SERVICE_UNAVAILABLE.
  • L'ETD restituisce una richiesta di errore 429 TOO MANY REQUESTS con TOO_MANY_REQUESTS causata dall'intestazione Retry-After che indica che GTAF sta inviando troppe richieste all'ETD.
  • L'ETD restituisce un errore CONFLICT 409 che indica che la richiesta non può essere completata a causa di un conflitto con l'attuale stato dell'ETD.
  • Servizio temporaneamente non disponibile. L'ETD restituisce un SERVIZIO 503 NON DISPONIBILE con l'intestazione Riprova dopo che è possibile tentare una nuova richiesta.
  • La DPA restituisce un codice di errore 500 INTERNAL SERVER ERROR per tutti gli altri errori non specificati ERROR_CAUSE_UNSPECIFIED come causa dell'errore.

In caso di errori riscontrati durante un acquisto, i seguenti codici di errore rappresentano i risultati delle transazioni non riuscite:

  • L'ETD restituisce un codice di errore 400 BAD REQUEST che indica a GTAF che l'ID piano acquistato non è valido.
  • L'ETD restituisce un codice di errore 402 PAYMENT REQUIRED che indica a GTAF che l'utente non ha un saldo sufficiente per completare l'acquisto.
  • L'ETD restituisce un codice di errore 409 CONFLICT che indica a GTAF che il piano da acquistare non è compatibile con il mix di prodotti corrente dell'utente. Ad esempio, se il criterio del piano dati dell'operatore non consente di combinare i piani con pagamento posticipato e prepagato, il tentativo di acquistare un piano prepagato per un utente con pagamento posticipato comporterà un errore CONFLICT 409.
  • L'ETD restituisce un codice di errore 403 FORBIDDEN che indica a GTAF che la transazione corrente è un duplicato di una precedente transazione emessa. La DPA DEVE restituire le seguenti cause di errore in risposta:
    • Se la transazione precedente non è andata a buon fine, la causa dell'errore indica il motivo dell'errore.
    • Se la transazione precedente è andata a buon fine, DUPLICATE_TRANSACTION.
    • Se la transazione precedente è ancora in coda, REQUEST_QUEUED.