Kódy chyb
Pokud požadavek selže, podívejte se na kód chyby v odpovědi. Rozbalte ho v seznamu níže a zjistěte, co se stalo a jak postupovat. U každé chyby najdete také příklad odpovědi a doporučení pro opakování požadavku.
400request.malformedPožadavek nelze zpracovat kvůli nesprávné syntaxi.
- Jak postupovat
- Zkontrolujte syntaxi JSON, kódování URL a strukturu požadavku.
- Pravidla opakování
- Opakujte po opravě požadavku.
{
"error": {
"code": "request.malformed",
"fields": null,
"message": "The request could not be read."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.invalid_credentialsKlíč API nebo přístupový token je neplatný, vypršel nebo byl odvolán.
- Jak postupovat
- Zkontrolujte URL obchodu a přístupový údaj. Pomocí aktivního klíče API získejte nový token.
- Pravidla opakování
- Opakujte až po opravě ověření; neposílejte opakovaně požadavky s neplatným tokenem.
{
"error": {
"code": "authentication.invalid_credentials",
"fields": null,
"message": "The credentials are invalid."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.requiredChybí požadovaná hlavička Authorization nebo používá nesprávný způsob ověření.
- Jak postupovat
- Pro vydání nebo zrušení tokenu použijte klíč API s
ApiKeyv hlavičceAuthorization. Pro ostatní požadavky použijte přístupový token sBearer. - Pravidla opakování
- Opakujte po doplnění správné hlavičky.
{
"error": {
"code": "authentication.required",
"fields": null,
"message": "Authentication is required."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.client_ip_unverifiedSlužba nedokázala spolehlivě určit IP adresu klienta.
- Jak postupovat
- Zkontrolujte, ze které IP adresy se integrace připojuje k API. Pokud chyba trvá, obraťte se na technickou podporu Shopently.
- Pravidla opakování
- Zkuste to znovu po vyřešení problému s určením IP adresy.
{
"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_allowedZdrojová IP adresa není v seznamu adres povolených pro tento klíč.
- Jak postupovat
- Použijte schválenou zdrojovou adresu nebo požádejte oprávněného správce o úpravu seznamu IP adres klíče.
- Pravidla opakování
- Opakujte až po povolení adresy.
{
"error": {
"code": "authorization.ip_not_allowed",
"fields": null,
"message": "Access from this IP address is not allowed."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.scope_deniedKlíč nemá účinné oprávnění vyžadované pro tuto operaci.
- Jak postupovat
- Zkontrolujte požadovaná a podmíněná oprávnění operace, oprávnění klíče a přístup jeho vydavatele.
- Pravidla opakování
- Opakujte, až oprávněný správce udělí potřebný přístup.
{
"error": {
"code": "authorization.scope_denied",
"fields": null,
"message": "The required permission has not been granted."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.api_disabledPřístup k API je pro tento obchod vypnutý.
- Jak postupovat
- Požádejte vlastníka obchodu o kontrolu aktivního tarifu a dostupnosti API.
- Pravidla opakování
- Neopakujte, dokud nebude přístup k API zapnutý.
{
"error": {
"code": "entitlements.api_disabled",
"fields": null,
"message": "API access is disabled for this store."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.limit_exceededZměna by překročila limit aktuálního tarifu.
- Jak postupovat
- Zkontrolujte příslušný limit zdroje a upravte zamýšlenou změnu nebo tarif.
- Pravidla opakování
- Opakujte po vyřešení limitu; při změně požadavku použijte nový klíč idempotence.
{
"error": {
"code": "entitlements.limit_exceeded",
"fields": null,
"message": "The operation exceeds a plan limit."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.operation_disabledAktuální tarif tuto operaci nezahrnuje.
- Jak postupovat
- Zkontrolujte minimální tarif uvedený u operace.
- Pravidla opakování
- Opakujte, až tarif operaci umožní a klíč získá potřebná oprávnění.
{
"error": {
"code": "entitlements.operation_disabled",
"fields": null,
"message": "The current plan does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.resource_blockedTento konkrétní zdroj blokuje limit tarifu.
- Jak postupovat
- Požádejte vlastníka o vyřešení omezení zdroje vyplývajícího z tarifu.
- Pravidla opakování
- Stejný požadavek neopakujte, dokud zdroj zůstává blokovaný.
{
"error": {
"code": "entitlements.resource_blocked",
"fields": null,
"message": "A plan limit blocks access to this resource."
},
"meta": {
"request_id": "example-request"
}
}
404resource.not_foundZdroj chybí, byl smazán nebo není dostupný pod zadaným identifikátorem.
- Jak postupovat
- Zkontrolujte obchod, cestu zdroje a identifikátor. Používejte identifikátory vrácené tímto obchodem.
- Pravidla opakování
- Opakujte až po opravě cíle nebo ověření jeho existence.
{
"error": {
"code": "resource.not_found",
"fields": null,
"message": "The resource was not found."
},
"meta": {
"request_id": "example-request"
}
}
405request.method_not_allowedKoncový bod nepodporuje tuto metodu HTTP.
- Jak postupovat
- Použijte dokumentovanou metodu; hlavička Allow uvádí podporované metody.
- Pravidla opakování
- Nepodporovanou metodu neopakujte.
{
"error": {
"code": "request.method_not_allowed",
"fields": null,
"message": "This method is not supported for this resource."
},
"meta": {
"request_id": "example-request"
}
}
409idempotency.key_reusedTento klíč idempotence patří jinému požadavku.
- Jak postupovat
- Vyhledejte původní operaci. Nový klíč použijte pouze pro záměrně novou logickou operaci.
- Pravidla opakování
- Neopakujte změněný obsah požadavku s konfliktním klíčem.
{
"error": {
"code": "idempotency.key_reused",
"fields": null,
"message": "This idempotency key was used with a different request."
},
"meta": {
"request_id": "example-request"
}
}
409resource.already_existsJedinečná hodnota je v konfliktu s existujícím zdrojem.
- Jak postupovat
- Načtěte existující zdroj a rozhodněte, zda jej použít, nebo zvolit jinou jedinečnou hodnotu.
- Pravidla opakování
- Neopakujte stejné konfliktní vytvoření.
{
"error": {
"code": "resource.already_exists",
"fields": null,
"message": "A resource with these unique values already exists."
},
"meta": {
"request_id": "example-request"
}
}
409resource.in_useNa tomto zdroji stále závisejí jiné zdroje.
- Jak postupovat
- Zkontrolujte závislosti a před smazáním je odstraňte nebo změňte pomocí podporovaných operací.
- Pravidla opakování
- Opakujte po vyřešení závislostí.
{
"error": {
"code": "resource.in_use",
"fields": null,
"message": "The resource is still in use."
},
"meta": {
"request_id": "example-request"
}
}
409resource.state_conflictAktuální obchodní stav tuto změnu neumožňuje.
- Jak postupovat
- Načtěte aktuální stav a zvolte platný přechod mezi stavy.
- Pravidla opakování
- Konfliktní změnu automaticky nevynucujte ani opakovaně neodesílejte.
{
"error": {
"code": "resource.state_conflict",
"fields": null,
"message": "The current resource state does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
409resource.version_conflictPo načtení vaší verze zdroj změnil jiný zápis.
- Jak postupovat
- Načtěte nejnovější stav, slaďte s ním svou změnu a odešlete novou expected_version.
- Pravidla opakování
- Pro upravenou operaci použijte nový klíč idempotence; data slepě nepřepisujte.
{
"error": {
"code": "resource.version_conflict",
"fields": null,
"message": "The resource version has changed."
},
"meta": {
"request_id": "example-request"
}
}
409storage.limit_reachedLimit úložiště obrázků a souborů byl vyčerpán. Uvolněte místo nebo zvyšte limit.
- Jak postupovat
- Limit úložiště obrázků a souborů byl vyčerpán. Uvolněte místo nebo zvyšte limit.
- Pravidla opakování
- Opakujte menší platné operace s jejich vlastními klíči idempotence.
{
"error": {
"code": "storage.limit_reached",
"fields": null,
"message": "The upload storage limit is reached."
},
"meta": {
"request_id": "example-request"
}
}
413request.too_largePožadavek překračuje limit velikosti.
- Jak postupovat
- Zmenšete obsah nebo rozdělte práci do podporovaných samostatných operací.
- Pravidla opakování
- Opakujte menší platné operace s jejich vlastními klíči idempotence.
{
"error": {
"code": "request.too_large",
"fields": null,
"message": "The request exceeds the size limit."
},
"meta": {
"request_id": "example-request"
}
}
415request.unsupported_media_typeTyp média nebo kódování obsahu není podporováno.
- Jak postupovat
- Pro zápisy JSON použijte Content-Type: application/json a podporované nekomprimované tělo.
- Pravidla opakování
- Opakujte po opravě typu média nebo kódování.
{
"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_satisfiableOmezení: Range
- Jak postupovat
- Range: bytes=0-(size_bytes-1)
- Pravidla opakování
- Opakujte po opravě požadavku.
{
"error": {
"code": "request.range_not_satisfiable",
"fields": null,
"message": "The requested byte range is unavailable."
},
"meta": {
"request_id": "example-request"
}
}
422request.validation_failedJedno nebo více polí či parametrů neprošlo validací.
- Jak postupovat
- Prohlédněte error.fields a poté zkontrolujte povinná pole, možnost null, identifikátory a povolené hodnoty.
- Pravidla opakování
- Opakujte opravený požadavek; změněný zápis je nová logická operace.
{
"error": {
"code": "request.validation_failed",
"fields": null,
"message": "Some request parameters are invalid."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.queue_fullKrátká fronta API je plná; požadavek se ještě nezačal provádět.
- Jak postupovat
- Zařaďte požadavky do fronty a respektujte hlavičku odpovědi Retry-After.
- Pravidla opakování
- Počkejte alespoň počet sekund uvedený v
Retry-After. Pokud opakujete zápis, zachovejte stejné tělo požadavku i hodnotuIdempotency-Key.
{
"error": {
"code": "capacity.queue_full",
"fields": null,
"message": "The API is busy. Please retry shortly."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.wait_timeoutVypršela doba čekání ve frontě API; požadavek se ještě nezačal provádět.
- Jak postupovat
- Zařaďte požadavky do fronty a respektujte hlavičku odpovědi Retry-After.
- Pravidla opakování
- Počkejte alespoň počet sekund uvedený v
Retry-After. Pokud opakujete zápis, zachovejte stejné tělo požadavku i hodnotuIdempotency-Key.
{
"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Četnost požadavků překračuje platný limit.
- Jak postupovat
- Zařaďte požadavky do fronty a respektujte hlavičku odpovědi Retry-After.
- Pravidla opakování
- Počkejte alespoň počet sekund uvedený v
Retry-After. Pokud opakujete zápis, zachovejte stejné tělo požadavku i hodnotuIdempotency-Key.
{
"error": {
"code": "rate_limit.exceeded",
"fields": null,
"message": "The request rate limit has been exceeded."
},
"meta": {
"request_id": "example-request"
}
}
500internal.errorDošlo k neočekávané chybě služby.
- Jak postupovat
- Před opakováním požadavku chvíli počkejte. Pokud se chyba 500 objeví znovu, obraťte se na technickou podporu Shopently a přiložte identifikátor požadavku.
- Pravidla opakování
- Načtení dat můžete zkusit znovu po krátké pauze. Při opakování zápisu použijte stejnou hodnotu
Idempotency-Keya neměňte tělo požadavku.
{
"error": {
"code": "internal.error",
"fields": null,
"message": "An unexpected error occurred."
},
"meta": {
"request_id": "example-request"
}
}
502gateway.bad_responseBrána neobdržela platnou odpověď API.
- Jak postupovat
- Uchovejte identifikátor požadavku. Chybná odpověď nedokazuje, že zápis nebyl proveden.
- Pravidla opakování
- Použijte omezený počet opakování s rostoucí prodlevou; stejný logický zápis opakujte s původním Idempotency-Key a obsahem požadavku.
{
"error": {
"code": "gateway.bad_response",
"fields": null,
"message": "The API gateway could not obtain a valid response."
},
"meta": {
"request_id": "example-request"
}
}
504gateway.timeoutBráně při čekání na API vypršel časový limit.
- Jak postupovat
- Pokud požadavek měnil data, zkontrolujte, zda se změny v obchodě uložily. Chybějící odpověď neznamená, že zápis selhal. Pokud chyba trvá, obraťte se na technickou podporu Shopently a přiložte identifikátor požadavku.
- Pravidla opakování
- Načtení dat můžete zkusit znovu po krátké pauze. Při opakování zápisu použijte stejnou hodnotu
Idempotency-Keya neměňte tělo požadavku.
{
"error": {
"code": "gateway.timeout",
"fields": null,
"message": "The API gateway timed out."
},
"meta": {
"request_id": "example-request"
}
}