Hatalar
Tek hata biçimi, durum kodları ve her birinde ne yapılacağı.
Her hata için tek biçim
Her hata yanıtı aynı alanları taşır: HTTP durumu statusCode içinde, programında denetleyeceğin kararlı bir code ve insanlar için yazılmış bir message. İletiler değişebilir; kodlar değişmez.
{
"statusCode": 404,
"code": "not_found",
"message": "work not found"
}Durum kodları
Herkese açık API'yi okurken karşılaşacağın kodlar şunlardır:
- 400
invalid_requestBir parametre eksik, türü yanlış ya da aralık dışında. - 403
forbiddenKaynak var ama sahibi onu gizli tutuyor. - 404
not_foundBu adreste bir şey yok. - 429
rate_limitedAdresinden çok fazla istek geldi; bekleyip yeniden dene. - 500
internal_errorBizim tarafımızda bir sorun oluştu; daha sonra yeniden dene. - 503
unavailableİşlemin ihtiyaç duyduğu bir hizmet, örneğin arama, kısa süreliğine kapalı.
Geçersiz parametreler
Bir parametre eksik ya da aralık dışındaysa yanıt 400 invalid_request olur ve issues her sorunu parametrenin adıyla listeler.
{
"statusCode": 400,
"code": "invalid_request",
"message": "The request parameters are not valid.",
"issues": ["limit: Too big: expected number to be <=50"]
}Taşınan eserler
İki katalog kaydının aynı eser olduğu anlaşıldığında biri ötekine katılır. Eskisini istemek, movedTo içinde yeni kimlikle ya da yeni ortam ve slug ile 301 döndürür. Yeni adresi iste ve sakladığını güncelle.
HTTP/1.1 301 Moved Permanently
{ "movedTo": "01a0cb02-0a14-7877-911d-5b4dde76df72" }Profilin gizli bölümleri
Üyeler profillerinin hangi bölümlerinin herkese açık olacağına kendileri karar verir. Gizli bir bölüm, onu adlandıran bir kodla 403 döndürür: favorites_private, library_private, activity_private ya da communities_private gibi. Kullanıcı adını değiştiren üye, username içinde yeni adla 404 member_renamed döndürür.
{
"statusCode": 403,
"code": "favorites_private",
"message": "You are not allowed to do this."
}