Kodovi pogrešaka
Ako zahtjev ne uspije, provjerite kod pogreške u odgovoru. Proširite ga na popisu kako biste saznali što se dogodilo i što učiniti. Uz svaku pogrešku naći ćete primjer odgovora i upute za ponovno slanje zahtjeva.
400request.malformedZahtjev se ne može parsirati.
- Što učiniti
- Provjerite JSON sintaksu, kodiranje URL-a i strukturu zahtjeva.
- Pravila ponavljanja
- Ponovite nakon ispravka zahtjeva.
{
"error": {
"code": "request.malformed",
"fields": null,
"message": "The request could not be read."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.invalid_credentialsAPI ključ ili pristupni token nije valjan, istekao je ili je opozvan.
- Što učiniti
- Provjerite URL trgovine i vjerodajnicu. Dohvatite novi token aktivnim API ključem.
- Pravila ponavljanja
- Ponovite nakon ispravka autentifikacije; izbjegavajte ponavljane nevaljane zahtjeve za token.
{
"error": {
"code": "authentication.invalid_credentials",
"fields": null,
"message": "The credentials are invalid."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.requiredNedostaje obvezno zaglavlje Authorization ili njegova shema nije ispravna.
- Što učiniti
- Za izdavanje ili opoziv tokena koristite API ključ s
ApiKeyu zaglavljuAuthorization. Za ostale zahtjeve koristite pristupni token sBearer. - Pravila ponavljanja
- Ponovite nakon slanja ispravnog zaglavlja.
{
"error": {
"code": "authentication.required",
"fields": null,
"message": "Authentication is required."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.client_ip_unverifiedUsluga nije mogla pouzdano utvrditi IP adresu klijenta.
- Što učiniti
- Provjerite s koje se IP adrese integracija povezuje s API-jem. Ako se pogreška nastavi, obratite se tehničkoj podršci Shopentlyja.
- Pravila ponavljanja
- Pokušajte ponovno kad se riješi problem prepoznavanja IP adrese.
{
"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_allowedIzvorna IP adresa nije na popisu dopuštenih adresa ključa.
- Što učiniti
- Koristite odobrenu izvornu adresu ili zatražite od ovlaštenog administratora da uredi IP popis ključa.
- Pravila ponavljanja
- Ponovite tek nakon što adresa bude dopuštena.
{
"error": {
"code": "authorization.ip_not_allowed",
"fields": null,
"message": "Access from this IP address is not allowed."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.scope_deniedKljuč nema važeću ovlast potrebnu za ovu operaciju.
- Što učiniti
- Provjerite obvezne i uvjetne ovlasti operacije, ovlasti ključa i pristup izdavatelja.
- Pravila ponavljanja
- Ponovite nakon što ovlašteni administrator dodijeli potreban pristup.
{
"error": {
"code": "authorization.scope_denied",
"fields": null,
"message": "The required permission has not been granted."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.api_disabledAPI pristup isključen je za ovu trgovinu.
- Što učiniti
- Zatražite od vlasnika trgovine da provjeri aktivni plan i dostupnost API-ja.
- Pravila ponavljanja
- Ne ponavljajte dok se API pristup ne uključi.
{
"error": {
"code": "entitlements.api_disabled",
"fields": null,
"message": "API access is disabled for this store."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.limit_exceededPromjena bi prekoračila ograničenje trenutačnog plana.
- Što učiniti
- Provjerite primjenjivo ograničenje resursa i prilagodite željenu promjenu ili plan.
- Pravila ponavljanja
- Ponovite nakon rješavanja ograničenja; ako se zahtjev promijeni, koristite novi ključ idempotentnosti.
{
"error": {
"code": "entitlements.limit_exceeded",
"fields": null,
"message": "The operation exceeds a plan limit."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.operation_disabledTrenutačni plan ne uključuje ovu operaciju.
- Što učiniti
- Provjerite minimalni plan naveden za operaciju.
- Pravila ponavljanja
- Ponovite nakon što plan dopušta operaciju i ključ ima potrebne ovlasti.
{
"error": {
"code": "entitlements.operation_disabled",
"fields": null,
"message": "The current plan does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.resource_blockedOgraničenje plana blokira ovaj resurs.
- Što učiniti
- Zatražite od vlasnika da riješi ograničenje plana za taj resurs.
- Pravila ponavljanja
- Ne ponavljajte isti zahtjev dok je resurs blokiran.
{
"error": {
"code": "entitlements.resource_blocked",
"fields": null,
"message": "A plan limit blocks access to this resource."
},
"meta": {
"request_id": "example-request"
}
}
404resource.not_foundResurs ne postoji, izbrisan je ili nije dostupan pod navedenim identifikatorom.
- Što učiniti
- Provjerite trgovinu, putanju resursa i identifikator. Koristite identifikatore koje je vratila ova trgovina.
- Pravila ponavljanja
- Ponovite tek nakon ispravka cilja ili potvrde da postoji.
{
"error": {
"code": "resource.not_found",
"fields": null,
"message": "The resource was not found."
},
"meta": {
"request_id": "example-request"
}
}
405request.method_not_allowedKrajnja točka ne podržava ovu HTTP metodu.
- Što učiniti
- Koristite dokumentiranu metodu; zaglavlje Allow navodi podržane metode.
- Pravila ponavljanja
- Ne ponavljajte nepodržanu metodu.
{
"error": {
"code": "request.method_not_allowed",
"fields": null,
"message": "This method is not supported for this resource."
},
"meta": {
"request_id": "example-request"
}
}
409idempotency.key_reusedOvaj ključ idempotentnosti pripada drugom zahtjevu.
- Što učiniti
- Pronađite izvornu operaciju. Koristite novi ključ samo za namjerno novu logičku operaciju.
- Pravila ponavljanja
- Ne ponavljajte promijenjene podatke s ključem koji izaziva sukob.
{
"error": {
"code": "idempotency.key_reused",
"fields": null,
"message": "This idempotency key was used with a different request."
},
"meta": {
"request_id": "example-request"
}
}
409resource.already_existsJedinstvena vrijednost u sukobu je s postojećim resursom.
- Što učiniti
- Pročitajte postojeći resurs i odlučite hoćete li ga koristiti ili odabrati drugu jedinstvenu vrijednost.
- Pravila ponavljanja
- Ne ponavljajte istu izradu koja izaziva sukob.
{
"error": {
"code": "resource.already_exists",
"fields": null,
"message": "A resource with these unique values already exists."
},
"meta": {
"request_id": "example-request"
}
}
409resource.in_useDrugi resursi i dalje ovise o ovom resursu.
- Što učiniti
- Pregledajte ovisnosti i uklonite ih ili promijenite podržanim operacijama prije brisanja.
- Pravila ponavljanja
- Ponovite nakon rješavanja ovisnosti.
{
"error": {
"code": "resource.in_use",
"fields": null,
"message": "The resource is still in use."
},
"meta": {
"request_id": "example-request"
}
}
409resource.state_conflictTrenutačno poslovno stanje sprečava ovu promjenu.
- Što učiniti
- Pročitajte trenutačno stanje i odaberite valjan poslovni prijelaz.
- Pravila ponavljanja
- Nemojte automatski nametati ni opetovano slati promjenu koja izaziva sukob.
{
"error": {
"code": "resource.state_conflict",
"fields": null,
"message": "The current resource state does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
409resource.version_conflictDrugi upis promijenio je resurs nakon verzije koju ste pročitali.
- Što učiniti
- Pročitajte najnovije stanje, uskladite promjenu i pošaljite novu expected_version.
- Pravila ponavljanja
- Koristite novi ključ idempotentnosti za izmijenjenu operaciju; nemojte naslijepo prepisivati podatke.
{
"error": {
"code": "resource.version_conflict",
"fields": null,
"message": "The resource version has changed."
},
"meta": {
"request_id": "example-request"
}
}
409storage.limit_reachedDosegnuto je ograničenje prostora za slike i datoteke. Oslobodite prostor ili povećajte ograničenje.
- Što učiniti
- Dosegnuto je ograničenje prostora za slike i datoteke. Oslobodite prostor ili povećajte ograničenje.
- Pravila ponavljanja
- Ponovite manje valjane operacije sa zasebnim ključevima idempotentnosti.
{
"error": {
"code": "storage.limit_reached",
"fields": null,
"message": "The upload storage limit is reached."
},
"meta": {
"request_id": "example-request"
}
}
413request.too_largeZahtjev prekoračuje ograničenje veličine.
- Što učiniti
- Smanjite podatke ili podijelite posao na podržane pojedinačne operacije.
- Pravila ponavljanja
- Ponovite manje valjane operacije sa zasebnim ključevima idempotentnosti.
{
"error": {
"code": "request.too_large",
"fields": null,
"message": "The request exceeds the size limit."
},
"meta": {
"request_id": "example-request"
}
}
415request.unsupported_media_typeVrsta sadržaja ili kodiranje sadržaja nije podržano.
- Što učiniti
- Za JSON upise koristite Content-Type: application/json i podržano nekomprimirano tijelo.
- Pravila ponavljanja
- Ponovite nakon ispravka vrste ili kodiranja sadržaja.
{
"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_satisfiableOgraničenja: Range
- Što učiniti
- Range: bytes=0-(size_bytes-1)
- Pravila ponavljanja
- Ponovite nakon ispravka zahtjeva.
{
"error": {
"code": "request.range_not_satisfiable",
"fields": null,
"message": "The requested byte range is unavailable."
},
"meta": {
"request_id": "example-request"
}
}
422request.validation_failedJedno ili više polja ili parametara ne prolazi provjeru valjanosti.
- Što učiniti
- Pregledajte error.fields, a zatim provjerite obvezna polja, dopuštanje null, identifikatore i dopuštene vrijednosti.
- Pravila ponavljanja
- Ponovite ispravljen zahtjev; promijenjeni upis nova je logička operacija.
{
"error": {
"code": "request.validation_failed",
"fields": null,
"message": "Some request parameters are invalid."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.queue_fullKratki red čekanja API-ja je pun; izvršavanje zahtjeva nije započelo.
- Što učiniti
- Stavite zahtjeve u red čekanja i poštujte zaglavlje odgovora Retry-After.
- Pravila ponavljanja
- Pričekajte barem broj sekundi naveden u
Retry-After. Ako ponavljate zapis, zadržite isto tijelo zahtjeva i istu vrijednostIdempotency-Key.
{
"error": {
"code": "capacity.queue_full",
"fields": null,
"message": "The API is busy. Please retry shortly."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.wait_timeoutIsteklo je vrijeme čekanja u redu API-ja; izvršavanje zahtjeva nije započelo.
- Što učiniti
- Stavite zahtjeve u red čekanja i poštujte zaglavlje odgovora Retry-After.
- Pravila ponavljanja
- Pričekajte barem broj sekundi naveden u
Retry-After. Ako ponavljate zapis, zadržite isto tijelo zahtjeva i istu vrijednostIdempotency-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.exceededUčestalost zahtjeva prekoračuje primjenjivo ograničenje.
- Što učiniti
- Stavite zahtjeve u red čekanja i poštujte zaglavlje odgovora Retry-After.
- Pravila ponavljanja
- Pričekajte barem broj sekundi naveden u
Retry-After. Ako ponavljate zapis, zadržite isto tijelo zahtjeva i istu vrijednostIdempotency-Key.
{
"error": {
"code": "rate_limit.exceeded",
"fields": null,
"message": "The request rate limit has been exceeded."
},
"meta": {
"request_id": "example-request"
}
}
500internal.errorDošlo je do neočekivane pogreške usluge.
- Što učiniti
- Pričekajte trenutak prije ponovnog slanja zahtjeva. Ako se pogreška 500 ponovi, obratite se tehničkoj podršci Shopentlyja i navedite identifikator zahtjeva.
- Pravila ponavljanja
- Možete ponovno pokušati čitati podatke nakon kratke stanke. Pri ponavljanju zapisa koristite istu vrijednost
Idempotency-Keyi ne mijenjajte tijelo zahtjeva.
{
"error": {
"code": "internal.error",
"fields": null,
"message": "An unexpected error occurred."
},
"meta": {
"request_id": "example-request"
}
}
502gateway.bad_responsePristupnik nije primio valjan API odgovor.
- Što učiniti
- Sačuvajte identifikator zahtjeva. Neuspješan odgovor ne dokazuje da upis nije primijenjen.
- Pravila ponavljanja
- Koristite ograničeno ponavljanje uz rastuće čekanje; ponovite isti logički upis s izvornim Idempotency-Key i nepromijenjenim podacima.
{
"error": {
"code": "gateway.bad_response",
"fields": null,
"message": "The API gateway could not obtain a valid response."
},
"meta": {
"request_id": "example-request"
}
}
504gateway.timeoutPristupnik je prekoračio vrijeme čekanja na API.
- Što učiniti
- Ako je zahtjev mijenjao podatke, provjerite jesu li promjene spremljene u trgovini. Izostanak odgovora ne znači da zapis nije uspio. Ako se pogreška nastavi, obratite se tehničkoj podršci Shopentlyja i navedite identifikator zahtjeva.
- Pravila ponavljanja
- Možete ponovno pokušati čitati podatke nakon kratke stanke. Pri ponavljanju zapisa koristite istu vrijednost
Idempotency-Keyi ne mijenjajte tijelo zahtjeva.
{
"error": {
"code": "gateway.timeout",
"fields": null,
"message": "The API gateway timed out."
},
"meta": {
"request_id": "example-request"
}
}