Casi di errore

In caso di errore, il DPA deve restituire un codice di stato HTTP insieme a una risposta HTTP che DEVE includere un oggetto JSON con maggiori informazioni sull'errore. Il corpo della risposta di errore DEVE contenere un'istanza di ErrorResponse.

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

La risposta di errore DPA DEVE corrispondere a quanto segue:

  • L'utente è attualmente in roaming e la query DPA è disattivata per questo utente. Il DPA restituisce un errore 403 con USER_ROAMING come causa dell'errore.
  • Il DPA restituisce un codice di errore 404 NOT_FOUND che indica a GTAF che la chiave utente non è valida (ovvero la chiave utente non esiste) con INVALID_NUMBER.
  • Il DPA restituisce un codice di errore 410 GONE con BAD_CPID come causa dell'errore indicando a GTAF che il client deve ottenere una nuova chiave utente se key_type = CPID e l'ID cliente è scaduto.
  • Il DPA restituisce un codice di errore 501 NOT_IMPLEMENTED che indica che non supporta questa chiamata con la causa dell'errore SERVICE_UNAVAILABLE.
  • Il DPA restituisce un errore 429 TOO MANY REQUESTS con la causa dell'errore TOO_MANY_REQUESTS con l'intestazione Retry-After che indica che GTAF sta effettuando troppe richieste al DPA.
  • La DPA restituisce un errore 409 CONFLICT che indica che la richiesta non può essere completata a causa di un conflitto con lo stato attuale della DPA.
  • Servizio temporaneamente non disponibile. Il DPA restituisce un errore 503 SERVICE UNAVAILABLE con l'intestazione Retry-After che indica quando è possibile tentare una nuova richiesta.
  • Il 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 esiti di transazione non riusciti:

  • Il DPA restituisce un codice di errore HTTP 400 BAD REQUEST che indica a GTAF che l'ID piano acquistato non è valido.
  • L'accordo per il trattamento dei dati restituisce un codice di errore 402 PAYMENT REQUIRED che indica a GTAF che l'utente non dispone di un saldo sufficiente per completare l'acquisto.
  • Il DPA restituisce un codice di errore 409 CONFLICT che indica a GTAF che il piano da acquistare non è compatibile con la combinazione di prodotti attuale dell'utente. Ad esempio, se i criteri del piano dati dell'operatore non consentono di combinare piani postpagati e prepagati, il tentativo di acquistare un piano prepagato per un utente postpagato genererà un errore 409 CONFLICT.
  • Il DPA restituisce un codice di errore 403 FORBIDDEN che indica a GTAF che la transazione corrente è un duplicato di una transazione emessa in precedenza. Il DPA DOVREBBE restituire le seguenti cause di errore nella risposta:
    • Se la transazione precedente non è andata a buon fine, la causa dell'errore indica il motivo del mancato esito positivo.
    • Se la transazione precedente è andata a buon fine, DUPLICATE_TRANSACTION.
    • Se la transazione precedente è ancora in coda, REQUEST_QUEUED.