Error
Satu bentuk error, kode status, dan apa yang perlu dilakukan untuk masing-masing.
Satu bentuk untuk semua error
Setiap respons error memiliki field yang sama: status HTTP di statusCode, code tetap untuk diperiksa di programmu, dan message yang ditulis untuk manusia. Pesan bisa berubah; kode tidak.
{
"statusCode": 404,
"code": "not_found",
"message": "work not found"
}Kode status
Ini kode-kode yang akan kamu temui saat membaca API publik:
- 400
invalid_requestSebuah parameter tidak ada, tipenya salah, atau di luar rentang. - 403
forbiddenSumber daya ada, tetapi pemiliknya menjadikannya privat. - 404
not_foundTidak ada apa pun di alamat ini. - 429
rate_limitedTerlalu banyak permintaan dari alamatmu; tunggu lalu coba lagi. - 500
internal_errorTerjadi kesalahan di pihak kami; coba lagi nanti. - 503
unavailableLayanan yang dibutuhkan operasi, seperti pencarian, sedang tidak tersedia sebentar.
Parameter tidak valid
Jika sebuah parameter tidak ada atau di luar rentang, responsnya 400 invalid_request, dan issues mencantumkan setiap masalah beserta nama parameternya.
{
"statusCode": 400,
"code": "invalid_request",
"message": "The request parameters are not valid.",
"issues": ["limit: Too big: expected number to be <=50"]
}Karya yang dipindahkan
Jika dua entri katalog ternyata karya yang sama, salah satunya digabungkan ke yang lain. Meminta entri lama merespons 301 dengan id baru, atau media dan slug baru, di movedTo. Minta alamat yang baru dan perbarui data yang kamu simpan.
HTTP/1.1 301 Moved Permanently
{ "movedTo": "01a0cb02-0a14-7877-911d-5b4dde76df72" }Bagian profil yang privat
Member menentukan bagian profil mana yang publik. Bagian yang disembunyikan merespons 403 dengan kode yang menyebutkannya, seperti favorites_private, library_private, activity_private, atau communities_private. Member yang mengganti username merespons 404 member_renamed dengan nama baru di username.
{
"statusCode": 403,
"code": "favorites_private",
"message": "You are not allowed to do this."
}