Hata kodları
Bir istek başarısız olursa yanıttaki hata kodunu kontrol edin. Ne olduğunu ve ne yapmanız gerektiğini öğrenmek için aşağıdaki listede kodu açın. Her hatada örnek yanıt ve isteği yinelemeye yönelik açıklamalar da bulunur.
400request.malformedİstek ayrıştırılamıyor.
- Yapılması gerekenler
- JSON sözdizimini, URL kodlamasını ve istek yapısını kontrol edin.
- Yeniden deneme ilkesi
- İsteği düzelttikten sonra deneyin.
{
"error": {
"code": "request.malformed",
"fields": null,
"message": "The request could not be read."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.invalid_credentialsAPI anahtarı veya erişim belirteci geçersiz, süresi dolmuş ya da iptal edilmiş.
- Yapılması gerekenler
- Mağaza URL'sini ve kimlik bilgisini kontrol edin. Etkin bir API anahtarıyla yeni belirteç alın.
- Yeniden deneme ilkesi
- Kimlik doğrulamayı düzelttikten sonra deneyin; geçersiz belirteç isteklerini tekrarlamayın.
{
"error": {
"code": "authentication.invalid_credentials",
"fields": null,
"message": "The credentials are invalid."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.requiredGerekli Authorization başlığı yok veya şeması yanlış.
- Yapılması gerekenler
- Token oluşturmak veya iptal etmek için API anahtarınızı
AuthorizationbaşlığındaApiKeyile kullanın. Diğer isteklerde erişim tokenınıBearerile kullanın. - Yeniden deneme ilkesi
- Doğru başlığı ekledikten sonra deneyin.
{
"error": {
"code": "authentication.required",
"fields": null,
"message": "Authentication is required."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.client_ip_unverifiedHizmet, güvenilir bir istemci IP adresi belirleyemedi.
- Yapılması gerekenler
- Entegrasyonunuzun API’ye hangi IP adresinden bağlandığını kontrol edin. Hata sürerse Shopently teknik desteğiyle iletişime geçin.
- Yeniden deneme ilkesi
- IP adresini belirleme sorunu çözüldükten sonra yeniden deneyin.
{
"error": {
"code": "authorization.client_ip_unverified",
"fields": null,
"message": "The client IP address could not be verified."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.ip_not_allowedKaynak IP adresi, anahtarın izin verilen adresler listesinde değil.
- Yapılması gerekenler
- Onaylı bir kaynak adres kullanın veya yetkili yöneticiden anahtarın IP listesini düzenlemesini isteyin.
- Yeniden deneme ilkesi
- Yalnızca adrese izin verildikten sonra deneyin.
{
"error": {
"code": "authorization.ip_not_allowed",
"fields": null,
"message": "Access from this IP address is not allowed."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.scope_deniedAnahtar, bu işlem için gereken geçerli izne sahip değil.
- Yapılması gerekenler
- İşlemin zorunlu ve koşullu izinlerini, anahtara verilen izinleri ve anahtarı oluşturan kişinin erişimini kontrol edin.
- Yeniden deneme ilkesi
- Yetkili yönetici gerekli erişimi verdikten sonra deneyin.
{
"error": {
"code": "authorization.scope_denied",
"fields": null,
"message": "The required permission has not been granted."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.api_disabledBu mağazada API erişimi kapalı.
- Yapılması gerekenler
- Mağaza sahibinden etkin planı ve API kullanılabilirliğini kontrol etmesini isteyin.
- Yeniden deneme ilkesi
- API erişimi açılana kadar yeniden denemeyin.
{
"error": {
"code": "entitlements.api_disabled",
"fields": null,
"message": "API access is disabled for this store."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.limit_exceededDeğişiklik, mevcut planın bir sınırını aşacak.
- Yapılması gerekenler
- Geçerli kaynak sınırını kontrol edip planlanan değişikliği veya planı ayarlayın.
- Yeniden deneme ilkesi
- Sınır sorununu çözdükten sonra deneyin; istek değişirse yeni idempotans anahtarı kullanın.
{
"error": {
"code": "entitlements.limit_exceeded",
"fields": null,
"message": "The operation exceeds a plan limit."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.operation_disabledMevcut plan bu işlemi içermiyor.
- Yapılması gerekenler
- İşlem için belirtilen en düşük planı kontrol edin.
- Yeniden deneme ilkesi
- Plan işleme izin verdiğinde ve anahtar gerekli izinlere sahip olduğunda deneyin.
{
"error": {
"code": "entitlements.operation_disabled",
"fields": null,
"message": "The current plan does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.resource_blockedBir plan sınırı bu kaynağı engelliyor.
- Yapılması gerekenler
- Mağaza sahibinden kaynağın plan kısıtlamasını çözmesini isteyin.
- Yeniden deneme ilkesi
- Kaynak engelliyken aynı isteği tekrarlamayın.
{
"error": {
"code": "entitlements.resource_blocked",
"fields": null,
"message": "A plan limit blocks access to this resource."
},
"meta": {
"request_id": "example-request"
}
}
404resource.not_foundKaynak yok, silinmiş veya verilen tanımlayıcıyla erişilemiyor.
- Yapılması gerekenler
- Mağazayı, kaynak yolunu ve tanımlayıcıyı kontrol edin. Bu mağazanın döndürdüğü tanımlayıcıları kullanın.
- Yeniden deneme ilkesi
- Yalnızca hedefi düzelttikten veya var olduğunu doğruladıktan sonra deneyin.
{
"error": {
"code": "resource.not_found",
"fields": null,
"message": "The resource was not found."
},
"meta": {
"request_id": "example-request"
}
}
405request.method_not_allowedUç nokta bu HTTP yöntemini desteklemiyor.
- Yapılması gerekenler
- Belgelenen yöntemi kullanın; Allow başlığı desteklenen yöntemleri belirtir.
- Yeniden deneme ilkesi
- Desteklenmeyen yöntemi tekrar denemeyin.
{
"error": {
"code": "request.method_not_allowed",
"fields": null,
"message": "This method is not supported for this resource."
},
"meta": {
"request_id": "example-request"
}
}
409idempotency.key_reusedBu idempotans anahtarı farklı bir isteğe ait.
- Yapılması gerekenler
- Özgün işlemi bulun. Yeni anahtarı yalnızca bilinçli olarak yeni bir mantıksal işlem için kullanın.
- Yeniden deneme ilkesi
- Değiştirilmiş gövdeyi çakışan anahtarla tekrar göndermeyin.
{
"error": {
"code": "idempotency.key_reused",
"fields": null,
"message": "This idempotency key was used with a different request."
},
"meta": {
"request_id": "example-request"
}
}
409resource.already_existsBenzersiz bir değer mevcut kaynakla çakışıyor.
- Yapılması gerekenler
- Mevcut kaynağı okuyup onu kullanmaya veya farklı bir benzersiz değer seçmeye karar verin.
- Yeniden deneme ilkesi
- Aynı çakışan oluşturma işlemini tekrarlamayın.
{
"error": {
"code": "resource.already_exists",
"fields": null,
"message": "A resource with these unique values already exists."
},
"meta": {
"request_id": "example-request"
}
}
409resource.in_useBaşka kaynaklar hâlâ bu kaynağa bağımlı.
- Yapılması gerekenler
- Bağımlılıkları inceleyin; silmeden önce desteklenen işlemlerle kaldırın veya değiştirin.
- Yeniden deneme ilkesi
- Bağımlılıkları çözdükten sonra deneyin.
{
"error": {
"code": "resource.in_use",
"fields": null,
"message": "The resource is still in use."
},
"meta": {
"request_id": "example-request"
}
}
409resource.state_conflictMevcut iş durumu bu değişikliği engelliyor.
- Yapılması gerekenler
- Geçerli durumu okuyup izin verilen bir iş durumu geçişi seçin.
- Yeniden deneme ilkesi
- Çakışan değişikliği otomatik olarak zorlamayın veya tekrar tekrar göndermeyin.
{
"error": {
"code": "resource.state_conflict",
"fields": null,
"message": "The current resource state does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
409resource.version_conflictBaşka bir yazma, okuduğunuz sürümden sonra kaynağı değiştirdi.
- Yapılması gerekenler
- En güncel durumu okuyun, değişikliğinizi uyarlayın ve yeni expected_version gönderin.
- Yeniden deneme ilkesi
- Gözden geçirilmiş işlem için yeni idempotans anahtarı kullanın; kontrol etmeden üzerine yazmayın.
{
"error": {
"code": "resource.version_conflict",
"fields": null,
"message": "The resource version has changed."
},
"meta": {
"request_id": "example-request"
}
}
409storage.limit_reachedGörsel ve dosya depolama sınırına ulaşıldı. Yer açın veya sınırı artırın.
- Yapılması gerekenler
- Görsel ve dosya depolama sınırına ulaşıldı. Yer açın veya sınırı artırın.
- Yeniden deneme ilkesi
- Daha küçük, geçerli işlemleri kendi idempotans anahtarlarıyla deneyin.
{
"error": {
"code": "storage.limit_reached",
"fields": null,
"message": "The upload storage limit is reached."
},
"meta": {
"request_id": "example-request"
}
}
413request.too_largeİstek boyut sınırını aşıyor.
- Yapılması gerekenler
- Gövdeyi küçültün veya işi desteklenen ayrı işlemlere bölün.
- Yeniden deneme ilkesi
- Daha küçük, geçerli işlemleri kendi idempotans anahtarlarıyla deneyin.
{
"error": {
"code": "request.too_large",
"fields": null,
"message": "The request exceeds the size limit."
},
"meta": {
"request_id": "example-request"
}
}
415request.unsupported_media_typeMedya türü veya içerik kodlaması desteklenmiyor.
- Yapılması gerekenler
- JSON yazmaları için Content-Type: application/json ve desteklenen sıkıştırılmamış gövde kullanın.
- Yeniden deneme ilkesi
- Medya türünü veya kodlamayı düzelttikten sonra deneyin.
{
"error": {
"code": "request.unsupported_media_type",
"fields": null,
"message": "The request media type or encoding is not supported."
},
"meta": {
"request_id": "example-request"
}
}
416request.range_not_satisfiableKısıtlamalar: Range
- Yapılması gerekenler
- Range: bytes=0-(size_bytes-1)
- Yeniden deneme ilkesi
- İsteği düzelttikten sonra deneyin.
{
"error": {
"code": "request.range_not_satisfiable",
"fields": null,
"message": "The requested byte range is unavailable."
},
"meta": {
"request_id": "example-request"
}
}
422request.validation_failedBir veya daha fazla alan ya da parametre doğrulamadan geçemedi.
- Yapılması gerekenler
- error.fields alanını inceleyin; zorunlu alanları, null kabulünü, tanımlayıcıları ve izin verilen değerleri kontrol edin.
- Yeniden deneme ilkesi
- Düzeltilmiş isteği deneyin; değiştirilmiş bir yazma yeni bir mantıksal işlemdir.
{
"error": {
"code": "request.validation_failed",
"fields": null,
"message": "Some request parameters are invalid."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.queue_fullKısa API kuyruğu dolu; isteğin yürütülmesi başlamadı.
- Yapılması gerekenler
- İstekleri kuyruğa alın ve yanıttaki Retry-After başlığına uyun.
- Yeniden deneme ilkesi
- En az
Retry-Afteriçinde belirtilen saniye kadar bekleyin. Yazma işlemini yineliyorsanız aynı istek gövdesini veIdempotency-Keydeğerini koruyun.
{
"error": {
"code": "capacity.queue_full",
"fields": null,
"message": "The API is busy. Please retry shortly."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.wait_timeoutAPI kuyruğunda bekleme süresi doldu; isteğin yürütülmesi başlamadı.
- Yapılması gerekenler
- İstekleri kuyruğa alın ve yanıttaki Retry-After başlığına uyun.
- Yeniden deneme ilkesi
- En az
Retry-Afteriçinde belirtilen saniye kadar bekleyin. Yazma işlemini yineliyorsanız aynı istek gövdesini veIdempotency-Keydeğerini koruyun.
{
"error": {
"code": "capacity.wait_timeout",
"fields": null,
"message": "The API could not start this request in time. Please retry shortly."
},
"meta": {
"request_id": "example-request"
}
}
429rate_limit.exceededİstek sıklığı geçerli sınırı aşıyor.
- Yapılması gerekenler
- İstekleri kuyruğa alın ve yanıttaki Retry-After başlığına uyun.
- Yeniden deneme ilkesi
- En az
Retry-Afteriçinde belirtilen saniye kadar bekleyin. Yazma işlemini yineliyorsanız aynı istek gövdesini veIdempotency-Keydeğerini koruyun.
{
"error": {
"code": "rate_limit.exceeded",
"fields": null,
"message": "The request rate limit has been exceeded."
},
"meta": {
"request_id": "example-request"
}
}
500internal.errorBeklenmeyen bir hizmet hatası oluştu.
- Yapılması gerekenler
- İsteği yinelemeden önce biraz bekleyin. 500 hatası yeniden oluşursa Shopently teknik desteğiyle iletişime geçin ve istek kimliğini paylaşın.
- Yeniden deneme ilkesi
- Kısa bir aradan sonra verileri yeniden okumayı deneyebilirsiniz. Yazma işlemini yinelerken aynı
Idempotency-Keydeğerini kullanın ve istek gövdesini değiştirmeyin.
{
"error": {
"code": "internal.error",
"fields": null,
"message": "An unexpected error occurred."
},
"meta": {
"request_id": "example-request"
}
}
502gateway.bad_responseAğ geçidi geçerli bir API yanıtı alamadı.
- Yapılması gerekenler
- İstek tanımlayıcısını saklayın. Başarısız yanıt, yazma işleminin uygulanmadığını kanıtlamaz.
- Yeniden deneme ilkesi
- Sınırlandırılmış artan bekleme kullanın; aynı mantıksal yazmayı özgün Idempotency-Key ve gövdesiyle tekrarlayın.
{
"error": {
"code": "gateway.bad_response",
"fields": null,
"message": "The API gateway could not obtain a valid response."
},
"meta": {
"request_id": "example-request"
}
}
504gateway.timeoutAğ geçidi API'yi beklerken zaman aşımına uğradı.
- Yapılması gerekenler
- İstek verileri değiştiriyorsa değişikliklerin mağazaya kaydedilip kaydedilmediğini kontrol edin. Yanıt gelmemesi, yazma işleminin başarısız olduğu anlamına gelmez. Hata sürerse Shopently teknik desteğiyle iletişime geçin ve istek kimliğini paylaşın.
- Yeniden deneme ilkesi
- Kısa bir aradan sonra verileri yeniden okumayı deneyebilirsiniz. Yazma işlemini yinelerken aynı
Idempotency-Keydeğerini kullanın ve istek gövdesini değiştirmeyin.
{
"error": {
"code": "gateway.timeout",
"fields": null,
"message": "The API gateway timed out."
},
"meta": {
"request_id": "example-request"
}
}