Kasus Error

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

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

Respons error DPA HARUS sesuai dengan hal berikut:

  • Saat ini pengguna sedang 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 yang menyebabkan error yang menunjukkan pada GTAF bahwa klien harus mendapatkan kunci pengguna baru jika key_type== CPID dan CPID sudah tidak berlaku.
  • DPA menampilkan kode error 501 NOT_IMPLEMENTED yang menunjukkan bahwa kode ini tidak mendukung panggilan ini dengan penyebab error SERVICE_UNAVAILABLE.
  • DPA menampilkan 429 TERLALU BANYAK PERMINTAAN dengan penyebab error TOO_MANY_MESSAGES dengan header Retry-After yang menunjukkan bahwa GTAF membuat terlalu banyak permintaan ke DPA.
  • DPA menampilkan error Konflik 409 yang menunjukkan bahwa permintaan tidak dapat diselesaikan karena bertentangan dengan status DPA saat ini.
  • Layanan tidak tersedia untuk sementara. DPA menampilkan 503 LAYANAN TIDAK TERSEDIA dengan header Coba Lagi Setelah menunjukkan kapan permintaan baru dapat dicoba.
  • DPA menampilkan kode error 500 INTERNAL ERROR ERROR untuk semua error tidak ditentukan lainnya ERROR_CAUSE_UNSPECIFIED sebagai penyebab error.

Jika terjadi error pada saat 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 PEMBAYARAN YANG DIPERLUKAN yang menunjukkan kepada GTAF bahwa pengguna tidak memiliki saldo yang cukup untuk menyelesaikan pembelian.
  • DPA menampilkan kode error Konflik 409 yang menunjukkan kepada GTAF bahwa paket yang akan dibeli tidak kompatibel dengan campuran produk pengguna saat ini. Misalnya, jika kebijakan paket data operator tidak mengizinkan penggabungan paket pascabayar dan prabayar, upaya untuk membeli paket prabayar untuk pengguna pascabayar akan menyebabkan error 409 CONFLICT.
  • DPA menampilkan kode error 403 FORBIDDEN yang menunjukkan ke GTAF bahwa transaksi saat ini merupakan duplikat dari transaksi yang diterbitkan sebelumnya. DPA HARUS menampilkan penyebab error berikut sebagai respons:
    • Jika transaksi sebelumnya gagal, penyebab error menunjukkan alasan kegagalan.
    • Jika transaksi sebelumnya berhasil, DUPLICATE_TRANSACTION.
    • Jika transaksi sebelumnya masih dalam antrean, REQUEST_QUEUED.