Hibakódok
Ha egy kérés nem sikerül, nézd meg a válaszban a hibakódot. Nyisd le az alábbi listában, hogy megtudd, mi történt, és mit tehetsz. Minden hibánál válaszpéldát és az újrapróbálkozáshoz útmutatást is találsz.
400request.malformedA kérés nem értelmezhető.
- Teendő
- Ellenőrizze a JSON szintaxisát, az URL-kódolást és a kérés szerkezetét.
- Újrapróbálási szabály
- A kérés javítása után próbálkozzon újra.
{
"error": {
"code": "request.malformed",
"fields": null,
"message": "The request could not be read."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.invalid_credentialsAz API-kulcs vagy hozzáférési token érvénytelen, lejárt vagy visszavonták.
- Teendő
- Ellenőrizze az áruház URL-jét és a hitelesítő adatot. Aktív API-kulccsal kérjen új tokent.
- Újrapróbálási szabály
- A hitelesítés javítása után próbálkozzon újra; kerülje az érvénytelen tokenkérések ismétlését.
{
"error": {
"code": "authentication.invalid_credentials",
"fields": null,
"message": "The credentials are invalid."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.requiredHiányzik a kötelező Authorization fejléc, vagy hibás a hitelesítési sémája.
- Teendő
- Token kiadásához vagy visszavonásához az API-kulcsot használd
ApiKeyértékkel azAuthorizationfejlécben. A többi kéréshez a hozzáférési tokent használdBearerértékkel. - Újrapróbálási szabály
- A megfelelő fejléc megadása után próbálkozzon újra.
{
"error": {
"code": "authentication.required",
"fields": null,
"message": "Authentication is required."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.client_ip_unverifiedA szolgáltatás nem tudott megbízható kliens-IP-címet megállapítani.
- Teendő
- Ellenőrizd, melyik IP-címről kapcsolódik az integráció az API-hoz. Ha a hiba továbbra is fennáll, fordulj a Shopently technikai ügyfélszolgálatához.
- Újrapróbálási szabály
- Próbáld újra, ha az IP-cím azonosításával kapcsolatos probléma megoldódott.
{
"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_allowedA forrás IP-címe nem szerepel a kulcs engedélyezett címei között.
- Teendő
- Használjon jóváhagyott forráscímet, vagy kérjen meg egy jogosult rendszergazdát a kulcs IP-listájának módosítására.
- Újrapróbálási szabály
- Csak a cím engedélyezése után próbálkozzon újra.
{
"error": {
"code": "authorization.ip_not_allowed",
"fields": null,
"message": "Access from this IP address is not allowed."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.scope_deniedA kulcsnak nincs meg a művelethez szükséges érvényes jogosultsága.
- Teendő
- Ellenőrizze a művelet kötelező és feltételes jogosultságait, a kulcs engedélyeit és a kibocsátó hozzáférését.
- Újrapróbálási szabály
- A szükséges hozzáférés jogosult rendszergazda általi megadása után próbálkozzon újra.
{
"error": {
"code": "authorization.scope_denied",
"fields": null,
"message": "The required permission has not been granted."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.api_disabledAz API-hozzáférés le van tiltva ebben az áruházban.
- Teendő
- Kérje az áruház tulajdonosát az aktív csomag és az API elérhetőségének ellenőrzésére.
- Újrapróbálási szabály
- Az API-hozzáférés engedélyezéséig ne próbálkozzon újra.
{
"error": {
"code": "entitlements.api_disabled",
"fields": null,
"message": "API access is disabled for this store."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.limit_exceededA módosítás túllépné az aktuális csomag valamelyik korlátját.
- Teendő
- Ellenőrizze az érintett erőforrás korlátját, és módosítsa a tervezett változtatást vagy a csomagot.
- Újrapróbálási szabály
- A korlát rendezése után próbálkozzon újra; módosított kéréshez új idempotenciakulcsot használjon.
{
"error": {
"code": "entitlements.limit_exceeded",
"fields": null,
"message": "The operation exceeds a plan limit."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.operation_disabledAz aktuális csomag nem tartalmazza ezt a műveletet.
- Teendő
- Ellenőrizze a műveletnél megadott minimális csomagot.
- Újrapróbálási szabály
- Akkor próbálkozzon újra, ha a csomag már engedi a műveletet, és a kulcsnak megvannak a szükséges jogosultságai.
{
"error": {
"code": "entitlements.operation_disabled",
"fields": null,
"message": "The current plan does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.resource_blockedEzt az erőforrást egy csomagkorlát blokkolja.
- Teendő
- Kérje a tulajdonost az erőforrás csomagkorlátozásának rendezésére.
- Újrapróbálási szabály
- Amíg az erőforrás blokkolt, ne ismételje ugyanazt a kérést.
{
"error": {
"code": "entitlements.resource_blocked",
"fields": null,
"message": "A plan limit blocks access to this resource."
},
"meta": {
"request_id": "example-request"
}
}
404resource.not_foundAz erőforrás nem létezik, törölték, vagy a megadott azonosítóval nem érhető el.
- Teendő
- Ellenőrizze az áruházat, az erőforrás útvonalát és az azonosítót. Az adott áruház által visszaadott azonosítókat használja.
- Újrapróbálási szabály
- Csak a cél javítása vagy létezésének ellenőrzése után próbálkozzon újra.
{
"error": {
"code": "resource.not_found",
"fields": null,
"message": "The resource was not found."
},
"meta": {
"request_id": "example-request"
}
}
405request.method_not_allowedA végpont nem támogatja ezt a HTTP-metódust.
- Teendő
- Használja a dokumentált metódust; az Allow fejléc felsorolja a támogatott metódusokat.
- Újrapróbálási szabály
- A nem támogatott metódussal ne próbálkozzon újra.
{
"error": {
"code": "request.method_not_allowed",
"fields": null,
"message": "This method is not supported for this resource."
},
"meta": {
"request_id": "example-request"
}
}
409idempotency.key_reusedEz az idempotenciakulcs egy másik kéréshez tartozik.
- Teendő
- Keresse meg az eredeti műveletet. Új kulcsot csak szándékosan új logikai művelethez használjon.
- Újrapróbálási szabály
- Az ütköző kulccsal ne próbáljon módosított adatokat újraküldeni.
{
"error": {
"code": "idempotency.key_reused",
"fields": null,
"message": "This idempotency key was used with a different request."
},
"meta": {
"request_id": "example-request"
}
}
409resource.already_existsEgy egyedi érték ütközik egy meglévő erőforrással.
- Teendő
- Olvassa ki a meglévő erőforrást, és döntse el, hogy azt használja-e, vagy más egyedi értéket választ.
- Újrapróbálási szabály
- Ne ismételje ugyanazt az ütköző létrehozást.
{
"error": {
"code": "resource.already_exists",
"fields": null,
"message": "A resource with these unique values already exists."
},
"meta": {
"request_id": "example-request"
}
}
409resource.in_useMás erőforrások még függnek ettől az erőforrástól.
- Teendő
- Ellenőrizze a függőségeket, és törlés előtt támogatott műveletekkel távolítsa el vagy módosítsa őket.
- Újrapróbálási szabály
- A függőségek rendezése után próbálkozzon újra.
{
"error": {
"code": "resource.in_use",
"fields": null,
"message": "The resource is still in use."
},
"meta": {
"request_id": "example-request"
}
}
409resource.state_conflictAz aktuális üzleti állapot nem teszi lehetővé a módosítást.
- Teendő
- Olvassa ki az aktuális állapotot, és válasszon érvényes üzleti állapotátmenetet.
- Újrapróbálási szabály
- Ne erőltesse automatikusan, és ne küldje el ismételten az ütköző módosítást.
{
"error": {
"code": "resource.state_conflict",
"fields": null,
"message": "The current resource state does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
409resource.version_conflictEgy másik írás módosította az erőforrást a verzió kiolvasása óta.
- Teendő
- Olvassa ki a legújabb állapotot, egyeztesse a módosítást, és adja meg az új expected_version értéket.
- Újrapróbálási szabály
- Az átdolgozott művelethez új idempotenciakulcsot használjon; ne írja felül az adatokat ellenőrzés nélkül.
{
"error": {
"code": "resource.version_conflict",
"fields": null,
"message": "The resource version has changed."
},
"meta": {
"request_id": "example-request"
}
}
409storage.limit_reachedA képek és fájlok tárhelykerete megtelt. Szabadítson fel helyet vagy növelje a keretet.
- Teendő
- A képek és fájlok tárhelykerete megtelt. Szabadítson fel helyet vagy növelje a keretet.
- Újrapróbálási szabály
- Kisebb, érvényes műveleteket küldjön, mindegyiket saját idempotenciakulccsal.
{
"error": {
"code": "storage.limit_reached",
"fields": null,
"message": "The upload storage limit is reached."
},
"meta": {
"request_id": "example-request"
}
}
413request.too_largeA kérés meghaladja a méretkorlátot.
- Teendő
- Csökkentse a küldött adatok méretét, vagy ossza a feladatot támogatott egyedi műveletekre.
- Újrapróbálási szabály
- Kisebb, érvényes műveleteket küldjön, mindegyiket saját idempotenciakulccsal.
{
"error": {
"code": "request.too_large",
"fields": null,
"message": "The request exceeds the size limit."
},
"meta": {
"request_id": "example-request"
}
}
415request.unsupported_media_typeA médiatípus vagy tartalomkódolás nem támogatott.
- Teendő
- JSON-íráshoz használjon Content-Type: application/json fejlécet és támogatott, tömörítetlen törzset.
- Újrapróbálási szabály
- A médiatípus vagy kódolás javítása után próbálkozzon újra.
{
"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_satisfiableKorlátozások: Range
- Teendő
- Range: bytes=0-(size_bytes-1)
- Újrapróbálási szabály
- A kérés javítása után próbálkozzon újra.
{
"error": {
"code": "request.range_not_satisfiable",
"fields": null,
"message": "The requested byte range is unavailable."
},
"meta": {
"request_id": "example-request"
}
}
422request.validation_failedEgy vagy több mező vagy paraméter érvénytelen.
- Teendő
- Vizsgálja meg az error.fields értékét, majd ellenőrizze a kötelező mezőket, a null megengedését, az azonosítókat és az engedélyezett értékeket.
- Újrapróbálási szabály
- Javított kérést küldjön; a módosított írás új logikai műveletnek számít.
{
"error": {
"code": "request.validation_failed",
"fields": null,
"message": "Some request parameters are invalid."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.queue_fullA rövid API-várólista megtelt; a kérés végrehajtása nem kezdődött el.
- Teendő
- Állítsa sorba a kéréseket, és vegye figyelembe a válasz Retry-After fejlécét.
- Újrapróbálási szabály
- Várj legalább annyi másodpercet, amennyit a
Retry-Aftermegad. Írás megismétlésekor tartsd meg ugyanazt a kéréstörzset ésIdempotency-Keyértéket.
{
"error": {
"code": "capacity.queue_full",
"fields": null,
"message": "The API is busy. Please retry shortly."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.wait_timeoutLejárt az API-várólistában töltött várakozási idő; a kérés végrehajtása nem kezdődött el.
- Teendő
- Állítsa sorba a kéréseket, és vegye figyelembe a válasz Retry-After fejlécét.
- Újrapróbálási szabály
- Várj legalább annyi másodpercet, amennyit a
Retry-Aftermegad. Írás megismétlésekor tartsd meg ugyanazt a kéréstörzset ésIdempotency-Keyértéket.
{
"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.exceededA kérések gyakorisága meghaladja az érvényes korlátot.
- Teendő
- Állítsa sorba a kéréseket, és vegye figyelembe a válasz Retry-After fejlécét.
- Újrapróbálási szabály
- Várj legalább annyi másodpercet, amennyit a
Retry-Aftermegad. Írás megismétlésekor tartsd meg ugyanazt a kéréstörzset ésIdempotency-Keyértéket.
{
"error": {
"code": "rate_limit.exceeded",
"fields": null,
"message": "The request rate limit has been exceeded."
},
"meta": {
"request_id": "example-request"
}
}
500internal.errorVáratlan szolgáltatáshiba történt.
- Teendő
- A kérés megismétlése előtt várj egy kicsit. Ha az 500-as hiba újra jelentkezik, fordulj a Shopently technikai ügyfélszolgálatához, és add meg a kérés azonosítóját.
- Újrapróbálási szabály
- Rövid szünet után újra megpróbálhatod az adatok lekérését. Írás megismétlésekor ugyanazt az
Idempotency-Keyértéket használd, és ne módosítsd a kérés törzsét.
{
"error": {
"code": "internal.error",
"fields": null,
"message": "An unexpected error occurred."
},
"meta": {
"request_id": "example-request"
}
}
502gateway.bad_responseAz átjáró nem kapott érvényes API-választ.
- Teendő
- Őrizze meg a kérés azonosítóját. A hibás válasz nem bizonyítja, hogy az írás nem történt meg.
- Újrapróbálási szabály
- Korlátozott, növekvő várakozást használjon; ugyanazt a logikai írást az eredeti Idempotency-Key értékkel és változatlan adatokkal ismételje.
{
"error": {
"code": "gateway.bad_response",
"fields": null,
"message": "The API gateway could not obtain a valid response."
},
"meta": {
"request_id": "example-request"
}
}
504gateway.timeoutAz átjáró az API-ra várva időtúllépést észlelt.
- Teendő
- Ha a kérés adatokat módosított, ellenőrizd, hogy a változások elmentődtek-e az áruházban. A válasz hiánya nem jelenti, hogy a mentés sikertelen volt. Ha a hiba továbbra is fennáll, fordulj a Shopently technikai ügyfélszolgálatához, és add meg a kérés azonosítóját.
- Újrapróbálási szabály
- Rövid szünet után újra megpróbálhatod az adatok lekérését. Írás megismétlésekor ugyanazt az
Idempotency-Keyértéket használd, és ne módosítsd a kérés törzsét.
{
"error": {
"code": "gateway.timeout",
"fields": null,
"message": "The API gateway timed out."
},
"meta": {
"request_id": "example-request"
}
}