İçeriğe geç

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.

JSON
{
  "statusCode": 404,
  "code": "not_found",
  "message": "work not found"
}

Durum kodları

Herkese açık API'yi okurken karşılaşacağın kodlar şunlardır:

  • 400invalid_requestBir parametre eksik, türü yanlış ya da aralık dışında.
  • 403forbiddenKaynak var ama sahibi onu gizli tutuyor.
  • 404not_foundBu adreste bir şey yok.
  • 429rate_limitedAdresinden çok fazla istek geldi; bekleyip yeniden dene.
  • 500internal_errorBizim tarafımızda bir sorun oluştu; daha sonra yeniden dene.
  • 503unavailableİş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.

JSON
{
  "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
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.

JSON
{
  "statusCode": 403,
  "code": "favorites_private",
  "message": "You are not allowed to do this."
}