Przypadki błędów

W przypadku błędu platforma DPA powinna zwrócić kod stanu HTTP wraz z odpowiedzią HTTP, która MUSI zawierać obiekt JSON z dodatkowymi informacjami o błędzie. Treść odpowiedzi o błędzie MUSI zawierać instancję ErrorResponse.

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

Odpowiedź o błędzie platformy DPA MUSI być zgodna z tymi wymaganiami:

  • Użytkownik jest obecnie w roamingu, a zapytanie DPA jest dla niego wyłączone. Usługa DPA zwraca błąd 403 z przyczyną USER_ROAMING.
  • Platforma DPA zwraca kod błędu 404 NOT_FOUND, który informuje GTAF, że klucz użytkownika jest nieprawidłowy (tzn. nie istnieje klucz użytkownika) z kodem INVALID_NUMBER.
  • DPA zwraca kod błędu 410 GONE z przyczyną błędu BAD_CPID, co oznacza dla GTAF, że klient powinien uzyskać nowy klucz użytkownika, jeśli key_type=CPID i CPID wygasł.
  • DPA zwraca kod błędu 501 NOT_IMPLEMENTED, który wskazuje, że nie obsługuje tego wywołania z przyczyną błędu SERVICE_UNAVAILABLE.
  • Platforma DPA zwraca kod 429 TOO MANY REQUESTS (Zbyt wiele żądań) z przyczyną błędu TOO_MANY_REQUESTS i nagłówkiem Retry-After, który wskazuje, że GTAF wysyła do platformy DPA zbyt wiele żądań.
  • DPA zwraca błąd 409 CONFLICT, który wskazuje, że nie można zrealizować żądania z powodu konfliktu z bieżącym stanem DPA.
  • Usługa tymczasowo niedostępna. Platforma DPA zwraca kod 503 SERVICE UNAVAILABLE z nagłówkiem Retry-After, który wskazuje, kiedy można spróbować wysłać nowe żądanie.
  • W przypadku wszystkich innych nieokreślonych błędów DPA zwraca kod błędu 500 INTERNAL SERVER ERROR, a jako przyczynę błędu podaje ERROR_CAUSE_UNSPECIFIED.

W przypadku błędów napotkanych podczas zakupu te kody błędów oznaczają nieudaną transakcję:

  • DPA zwraca kod błędu 400 BAD REQUEST, który informuje GTAF, że identyfikator zakupionego abonamentu jest nieprawidłowy.
  • DPA zwraca kod błędu 402 PAYMENT REQUIRED, który informuje GTAF, że użytkownik nie ma wystarczających środków na koncie, aby dokonać zakupu.
  • DPA zwraca kod błędu 409 CONFLICT, który informuje GTAF, że plan, który ma zostać kupiony, jest niezgodny z obecnym zestawem produktów użytkownika. Jeśli na przykład zasady dotyczące abonamentu operatora zabraniają łączenia abonamentów z płatnością z góry i z płatnością z dołu, próba zakupu abonamentu z płatnością z góry dla użytkownika abonamentu z płatnością z dołu spowoduje błąd 409 CONFLICT.
  • DPA zwraca kod błędu 403 FORBIDDEN, który informuje GTAF, że bieżąca transakcja jest duplikatem wcześniej wydanej transakcji. W odpowiedzi platforma DPA POWINNA zwrócić te przyczyny błędu:
    • Jeśli poprzednia transakcja zakończyła się niepowodzeniem, podaj przyczynę błędu.
    • Jeśli poprzednia transakcja została zrealizowana, DUPLICATE_TRANSACTION.
    • Jeśli poprzednia transakcja jest nadal w kolejce, REQUEST_QUEUED.