Kasus Error

Jika terjadi error, DPA diharapkan menampilkan kode status HTTP beserta respons HTTP yang HARUS menyertakan objek JSON dengan informasi selengkapnya tentang error tersebut. Isi respons error HARUS berisi instance ErrorResponse.

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

Respons error DPA HARUS sesuai dengan berikut ini:

  • Pengguna saat ini sedang melakukan roaming dan kueri DPA dinonaktifkan untuk pengguna ini. DPA menampilkan error 403 dengan USER_ROAMING sebagai penyebab error.
  • DPA menampilkan kode error 404 NOT_FOUND yang menunjukkan kepada GTAF bahwa kunci pengguna tidak valid (yaitu, kunci pengguna yang tidak ada) dengan INVALID_NUMBER.
  • DPA menampilkan kode error 410 GONE dengan BAD_CPID sebagai penyebab error yang menunjukkan kepada GTAF bahwa klien harus mendapatkan kunci pengguna baru jika key_type = CPID dan CPID telah berakhir.
  • DPA menampilkan kode error 501 NOT_IMPLEMENTED yang menunjukkan bahwa DPA tidak mendukung panggilan ini dengan penyebab error SERVICE_UNAVAILABLE.
  • DPA menampilkan 429 TOO MANY REQUESTS dengan penyebab error TOO_MANY_REQUESTS dengan header Retry-After yang menunjukkan bahwa GTAF membuat terlalu banyak permintaan ke DPA.
  • DPA menampilkan error 409 CONFLICT yang menunjukkan bahwa permintaan tidak dapat diselesaikan karena konflik dengan status DPA saat ini.
  • Layanan tidak tersedia untuk sementara. DPA menampilkan 503 SERVICE UNAVAILABLE dengan header Retry-After yang menunjukkan kapan permintaan baru dapat dicoba.
  • DPA menampilkan kode error 500 INTERNAL SERVER ERROR untuk semua error tidak ditentukan lainnya ERROR_CAUSE_UNSPECIFIED sebagai penyebab error.

Jika terjadi error selama pembelian, kode error berikut menunjukkan hasil transaksi yang gagal:

  • DPA menampilkan kode error 400 BAD REQUEST yang menunjukkan kepada GTAF bahwa ID paket yang dibeli tidak valid.
  • DPA menampilkan kode error 402 PAYMENT REQUIRED yang menunjukkan kepada GTAF bahwa pengguna tidak memiliki saldo yang cukup untuk menyelesaikan pembelian.
  • DPA menampilkan kode error 409 CONFLICT yang menunjukkan kepada GTAF bahwa paket yang akan dibeli tidak kompatibel dengan kombinasi produk pengguna saat ini. Misalnya, jika kebijakan paket data operator tidak mengizinkan penggabungan paket pascabayar dan prabayar, upaya untuk membeli paket prabayar bagi pengguna pascabayar akan menyebabkan error 409 CONFLICT.
  • DPA menampilkan kode error 403 FORBIDDEN yang menunjukkan kepada GTAF bahwa transaksi saat ini adalah duplikat dari transaksi yang dikeluarkan sebelumnya. DPA HARUS menampilkan penyebab error berikut sebagai respons:
    • Jika transaksi sebelumnya gagal, penyebab error yang menunjukkan alasan kegagalan.
    • Jika transaksi sebelumnya berhasil, DUPLICATE_TRANSACTION.
    • Jika transaksi sebelumnya masih dalam antrean, REQUEST_QUEUED.