Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Pusat Mitra / Referensi Pusat Mitra
Peran yang sesuai: Admin rujukan | Pengguna rujukan
API REST Rujukan pusat mitra mengembalikan objek JSON yang berisi kode status. Kode ini yang menunjukkan apakah permintaan Anda berhasil atau mengapa gagal.
Tanggapan keberhasilan
Kode status 2xx menunjukkan bahwa permintaan klien berhasil diterima, dipahami, dan diterima. Kode status 2xx berikut menunjukkan respons keberhasilan:
- 200: Keberhasilan dikonfirmasi
- 201: Sumber daya dibuat
- 202: Diterima
- 204: Tidak ada konten untuk dikembalikan
Respons kesalahan
Respons apa pun dengan kode status 4xx atau 5xx menyertakan pesan kesalahan dengan detail tentang kondisi kesalahan untuk kode tersebut.
Tabel berikut mencantumkan dan menjelaskan kode status HTTP yang dapat dikembalikan untuk skenario kesalahan.
| Kode status | Pesan status | Deskripsi |
|---|---|---|
| 400 | Permintaan Tidak Valid | Tidak dapat memproses permintaan karena bentuknya salah atau tidak benar. |
| 401 | Tidak diizinkan | Informasi autentikasi yang diperlukan hilang atau tidak valid untuk sumber daya. |
| 403 | Terlarang | Akses ditolak ke sumber daya yang diminta. Pengguna mungkin tidak memiliki cukup izin. |
| 404 | Tidak Ditemukan | Sumber daya yang diminta tidak ada. |
| 405 | Metode Tidak Diizinkan | Metode HTTP dalam permintaan tidak diizinkan pada sumber daya. |
| 406 | Tidak Dapat Diterima | Layanan ini tidak mendukung format yang diminta di header Terima. |
| 409 | Konflik | Status saat ini bertentangan dengan harapan dari permintaan. Misalnya, folder induk yang ditentukan mungkin tidak ada. |
| 410 | Hilang | Sumber daya yang diminta tidak lagi tersedia di server. |
| 411 | Panjang Diperlukan | Diperlukan header Content-Length pada permintaan. |
| 412 | Prasyarat gagal | Prasyarat yang disediakan dalam permintaan (seperti header if-match) tidak cocok dengan status sumber daya saat ini. |
| 413 | Entitas Permintaan Terlalu Besar | Ukuran permintaan melebihi batas maksimum. |
| 415 | Jenis Media Tidak Didukung | Jenis konten permintaan adalah format yang tidak didukung layanan. |
| 416 | Rentang yang Diminta Tidak Terpenuhi | Rentang byte yang ditentukan tidak valid atau tidak tersedia. |
| 422 | Entitas yang Tidak Dapat Diolah | Tidak dapat memproses permintaan karena secara semantik salah. |
| 423 | Terkunci | Sumber daya yang sedang diakses dikunci. |
| 429 | Terlalu Banyak Permintaan | Aplikasi klien dibatasi dan tidak boleh mencoba mengulangi permintaan untuk beberapa waktu. |
| 500 | Kesalahan Server Internal | Terjadi kesalahan server internal saat memproses permintaan. |
| 501 | Tidak Diimplementasikan | Fitur yang diminta tidak diimplementasikan. |
| 503 | Layanan Tidak Tersedia | Layanan ini sementara tidak tersedia untuk pemeliharaan atau kelebihan beban. Anda dapat mengulangi permintaan setelah penundaan, yang panjangnya dapat ditentukan dalam header Coba Lagi-Setelah. |
| 504 | Waktu Tunggu Gateway Habis | Server, saat bertindak sebagai proksi, tidak menerima respons tepat waktu dari server upstream yang diperlukan untuk mengakses dalam mencoba menyelesaikan permintaan. Dapat terjadi bersama dengan 503. |
| 507 | Penyimpanan Tidak Mencukup | Mencapai kuota penyimpanan maksimum. |
| 509 | Batas Bandwidth Terlampaui | Aplikasi klien mengalami pembatasan karena melebihi batas bandwidth maksimum. Aplikasi Anda dapat mencoba kembali permintaan lagi setelah beberapa waktu. |
Jenis sumber daya kesalahan
Respons kesalahan adalah satu objek JSON yang berisi satu properti bernama kesalahan. Objek ini mencakup semua detail kesalahan. Anda dapat menggunakan informasi yang dikembalikan di sini alih-alih atau selain kode status HTTP.
Contoh tabel dan kode berikut menjelaskan skema respons kesalahan.
| Nama | Tipe | Deskripsi |
|---|---|---|
| kode | string | Selalu dikembalikan. Menunjukkan jenis kesalahan yang terjadi. Non-null. |
| pesan | string | Selalu dikembalikan. Menjelaskan kesalahan secara rinci, dan menyediakan informasi debugging lebih lanjut. Non-null nonempty. Panjang maksimum adalah 1.024 karakter. |
| innerError | objek | Opsional. Objek kesalahan lain dengan informasi yang lebih spesifik tentang kesalahan yang terjadi. |
| innerError.code | string numerik | Selalu dikembalikan, jika innerError tidak bernilai null. Menyediakan informasi kode kesalahan yang lebih spesifik di bawah nilai kode kesalahan teratas. |
| pesanKesalahanInternal | string | Selalu dikembalikan, jika innerError tidak null. Menyediakan pesan kesalahan yang lebih spesifik di bawah string pesan kesalahan teratas. |
| innerError.details | array objek | Opsional. Berisi detail lebih lanjut tentang kesalahan tersebut. Terutama berguna dalam kesalahan validasi input. |
| sasaran | string | Opsional. Tempat sasaran dari mana kesalahan berasal. |
Contoh respons kesalahan
{
"error": {
"code": "unauthenticated",
"message": "The caller is not authenticated.",
"innerError": {
"code": "99902",
"message": "Request not authenticated",
"details": null
}
}
}
Sampel lain dengan objek innerError.details diisi:
{
"error": {
"code": "invalidRequest",
"message": "The request is malformed or incorrect.",
"innerError": {
"code": "99901",
"message": "InvalidInput",
"details": [
{
"InvalidReferralForCoSellConversion": [
"If PartnerLed referral has no solution it cannot be converted to co-sell referral"
]
}
]
}
}
}
Properti kode
Properti code berisi salah satu nilai yang mungkin berikut ini. Aplikasi Anda harus disiapkan untuk menangani salah satu kesalahan ini.
| Kode | Kode status HTTP | Deskripsi |
|---|---|---|
| invalidRequest | 400 | Permintaan salah bentuk atau salah. |
| tidak terautentikasi | 401 | Pemanggil tidak diautentikasi. |
| accessDenied | 403 | Pemanggil tidak memiliki izin untuk melakukan tindakan. |
| itemNotFound | 404 | Sumber daya tidak dapat ditemukan. |
| sumberDiperbarui | 409 | Sumber daya yang sedang diperbarui telah berubah sejak terakhir kali dibaca oleh pemanggil, biasanya karena ketidakcocokan eTag. |
| preconditionFailed | 412 | Prasyarat yang disediakan dalam permintaan (seperti header if-match) tidak cocok dengan status sumber daya saat ini. |
| generalException | 500 | Terjadi kesalahan yang tidak ditentukan. |
| serviceNotAvailable | 503 | Layanan ini tidak tersedia. Coba permintaan lagi setelah penundaan. Mungkin ada header Coba Lagi-Setelah. |
Properti pesan
Properti message di akar berisi pesan kesalahan yang ditujukan untuk dibaca pengembang. Pesan kesalahan tidak dilokalkan dan tidak boleh ditampilkan langsung kepada pengguna. Kode Anda tidak boleh memeriksa message nilai hanya karena dapat berubah kapan saja, dan sering berisi informasi dinamis khusus untuk permintaan yang gagal. Anda harus menulis kode untuk menangani kode kesalahan yang dikembalikan di properti code dan kemudian untuk detail lebih lanjut menggabungkannya dengan teks pesan.
Objek InnerError
Objek innererror mungkin secara rekursif berisi lebih innererror banyak objek dengan kode kesalahan yang lebih spesifik. Aplikasi klien, saat menangani kesalahan, harus mengulangi semua kode kesalahan yang tersedia dan menggunakan yang paling rinci yang mereka pahami.
Ada beberapa kesalahan lain yang mungkin ditemui aplikasi Anda dalam objek berlapis innererror . Aplikasi tidak diperlukan untuk menangani kesalahan ini, tetapi dapat melakukannya jika mereka memilih. Layanan mungkin menambahkan kode kesalahan baru atau berhenti mengembalikan kode lama kapan saja, jadi penting bagi semua aplikasi untuk dapat menangani [kode kesalahan dasar].
Kode kesalahan
Berikut ini adalah kode kesalahan yang dikembalikan oleh API:
| HTTP Status | Kode Galat HTTP | Kode kesalahan | Deskripsi |
|---|---|---|---|
| BadRequest | 400 | 99901 | Input tidak valid |
| Tidak diizinkan | 401 | 99902 | Akses yang tidak sah |
| Permintaan Tidak Valid | 400 | 99903 | Input hilang |
| Tidak Ditemukan | 404 | 99904 | Sumber daya tidak ditemukan |
| InternalServerError | 500 | 99905 | Kesalahan tidak ditentukan |
| TerlaluBanyakPermintaan | 429 | 99906 | Terlalu banyak permintaan |
| InternalServerError | 500 | 99907 | Kesalahan internal sementara |
| BadRequest | 400 | 99908 | Properti tidak dapat diperbarui |
| Permintaan Tidak Valid | 400 | 99909 | Properti tidak dapat bernilai null |
| PrasyaratGagal | 412 | 99910 | Nilai Etag tidak cocok |
| Permintaan Tidak Valid | 400 | 99911 | Status rujukan tidak valid untuk mengundang |
| Kesalahan Permintaan | 400 | 99912 | Solusi dengan jenis 'nama' diperlukan |
| Terlarang | 403 | 99913 | Organisasi tidak diizinkan untuk membuat sumber daya |
| Terlarang | 403 | 99914 | Organisasi tidak diizinkan untuk berpartisipasi dalam keterlibatan penjualan bersama |
| InternalServerError | 500 | 99915 | Kegagalan pelaksanaan permintaan internal |
| Konflik | 409 | 99917 | Sumber daya sudah dimodifikasi melalui permintaan lain |
| PrasyaratGagal | 412 | 99918 | Prasyarat yang disediakan dalam permintaan (seperti header if-match) tidak cocok dengan status sumber daya saat ini. |
| BadRequest | 400 | 99919 | Kualifikasi rujukan tidak valid untuk pembaruan |
| InternalServerError | 500 | 99999 | Pengecualian umum saat memproses permintaan |