İçeriğe atla
ShopentlyLearn

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.
Yanıt
{
  "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.
Yanıt
{
  "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ı Authorization başlığında ApiKey ile kullanın. Diğer isteklerde erişim tokenını Bearer ile kullanın.
Yeniden deneme ilkesi
Doğru başlığı ekledikten sonra deneyin.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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.
Yanıt
{
  "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-After içinde belirtilen saniye kadar bekleyin. Yazma işlemini yineliyorsanız aynı istek gövdesini ve Idempotency-Key değerini koruyun.
Yanıt
{
  "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-After içinde belirtilen saniye kadar bekleyin. Yazma işlemini yineliyorsanız aynı istek gövdesini ve Idempotency-Key değerini koruyun.
Yanıt
{
  "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-After içinde belirtilen saniye kadar bekleyin. Yazma işlemini yineliyorsanız aynı istek gövdesini ve Idempotency-Key değerini koruyun.
Yanıt
{
  "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-Key değerini kullanın ve istek gövdesini değiştirmeyin.
Yanıt
{
  "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.
Yanıt
{
  "error": {
    "code": "gateway.bad_response",
    "fields": null,
    "message": "The API gateway could not obtain a valid response."
  },
  "meta": {
    "request_id": "example-request"
  }
}

503service.unavailableAPI şu anda isteği işleyemiyor.
Yapılması gerekenler
Yanıtta Retry-After başlığı varsa yeniden denemeden önce belirtilen saniye kadar bekleyin. Yoksa kısa bir süre bekleyin. Hata sürerse Shopently teknik desteğiyle iletişime geçin ve istek kimliğini paylaşın.
Yeniden deneme ilkesi
Yukarıda belirtilen süreyi bekledikten sonra yeniden deneyin. Yazma işlemini yinelerken aynı Idempotency-Key değerini kullanın ve istek gövdesini değiştirmeyin.
Yanıt
{
  "error": {
    "code": "service.unavailable",
    "fields": null,
    "message": "The API is temporarily unavailable."
  },
  "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-Key değerini kullanın ve istek gövdesini değiştirmeyin.
Yanıt
{
  "error": {
    "code": "gateway.timeout",
    "fields": null,
    "message": "The API gateway timed out."
  },
  "meta": {
    "request_id": "example-request"
  }
}