Kodovi grešaka
Ako zahtev ne uspe, proverite kod greške u odgovoru. Proširite ga na listi kako biste saznali šta se dogodilo i šta da uradite. Uz svaku grešku naći ćete primer odgovora i uputstva za ponovno slanje zahteva.
400request.malformedZahtev se ne može parsirati.
- Šta uraditi
- Proverite JSON sintaksu, kodiranje URL-a i strukturu zahteva.
- Pravila ponavljanja
- Ponovite nakon ispravka zahteva.
{
"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.
- Šta uraditi
- Proverite URL prodavnice i akreditiv. Dohvatite novi token aktivnim API ključem.
- Pravila ponavljanja
- Ponovite nakon ispravka autentifikacije; izbegavajte ponavljane nevaljane zahteve za token.
{
"error": {
"code": "authentication.invalid_credentials",
"fields": null,
"message": "The credentials are invalid."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.requiredNedostaje obavezno zaglavlje Authorization ili njegova šema nije ispravna.
- Šta uraditi
- Za izdavanje ili opoziv tokena koristite API ključ s
ApiKeyu zaglavljuAuthorization. Za ostale zahteve 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.
- Šta uraditi
- Proverite s koje se IP adrese integracija povezuje s API-jem. Ako se greška nastavi, obratite se tehničkoj podršci Shopentlyja.
- Pravila ponavljanja
- Pokušajte ponovo kad se reš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 spisku dozvoljenih adresa ključa.
- Šta uraditi
- Koristite odobrenu izvornu adresu ili zatražite od ovlašćenog administratora da uredi IP spisak ključa.
- Pravila ponavljanja
- Ponovite tek nakon što adresa bude dozvoljena.
{
"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će ovlašćenje potrebno za ovu operaciju.
- Šta uraditi
- Proverite obavezna i uslovna ovlašćenja operacije, ovlašćenja ključa i pristup izdavaoca.
- Pravila ponavljanja
- Ponovite nakon što ovlašćeni administrator dodeli 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 prodavnicu.
- Šta uraditi
- Zatražite od vlasnika prodavnice da proveri 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_exceededPromena bi prekoračila ograničenje trenutnog plana.
- Šta uraditi
- Proverite primenjivo ograničenje resursa i prilagodite željenu promenu ili plan.
- Pravila ponavljanja
- Ponovite nakon rešavanja ograničenja; ako se zahtev promeni, 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_disabledTrenutni plan ne uključuje ovu operaciju.
- Šta uraditi
- Proverite minimalni plan naveden za operaciju.
- Pravila ponavljanja
- Ponovite nakon što plan dozvoljava operaciju i ključ ima potrebna ovlašćenja.
{
"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.
- Šta uraditi
- Zatražite od vlasnika da reši ograničenje plana za taj resurs.
- Pravila ponavljanja
- Ne ponavljajte isti zahtev 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.
- Šta uraditi
- Proverite prodavnicu, putanju resursa i identifikator. Koristite identifikatore koje je vratila ova prodavnica.
- 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 tačka ne podržava ovu HTTP metodu.
- Šta uraditi
- Koristite dokumentovanu 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 zahtevu.
- Šta uraditi
- Pronađite izvornu operaciju. Koristite novi ključ samo za namerno novu logičku operaciju.
- Pravila ponavljanja
- Ne ponavljajte promenjene 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 vrednost u sukobu je s postojećim resursom.
- Šta uraditi
- Pročitajte postojeći resurs i odlučite hoćete li ga koristiti ili odabrati drugu jedinstvenu vrednost.
- Pravila ponavljanja
- Ne ponavljajte isto kreiranje koje 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 zavise o ovom resursu.
- Šta uraditi
- Pregledajte zavisnosti i uklonite ih ili promenite podržanim operacijama pre brisanja.
- Pravila ponavljanja
- Ponovite nakon rešavanja zavisnosti.
{
"error": {
"code": "resource.in_use",
"fields": null,
"message": "The resource is still in use."
},
"meta": {
"request_id": "example-request"
}
}
409resource.state_conflictTrenutno poslovno stanje sprečava ovu promenu.
- Šta uraditi
- Pročitajte trenutno stanje i odaberite valjan poslovni prelaz.
- Pravila ponavljanja
- Nemojte automatski nametati ni opetovano slati promenu 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 promenio je resurs nakon verzije koju ste pročitali.
- Šta uraditi
- Pročitajte najnovije stanje, uskladite promenu i pošaljite novu expected_version.
- Pravila ponavljanja
- Koristite novi ključ idempotentnosti za izmenjenu operaciju; nemojte naslepo prepisivati podatke.
{
"error": {
"code": "resource.version_conflict",
"fields": null,
"message": "The resource version has changed."
},
"meta": {
"request_id": "example-request"
}
}
409storage.limit_reachedDostignuto je ograničenje prostora za slike i datoteke. Oslobodite prostor ili povećajte ograničenje.
- Šta uraditi
- Dostignuto je ograničenje prostora za slike i datoteke. Oslobodite prostor ili povećajte ograničenje.
- Pravila ponavljanja
- Ponovite manje valjane operacije sa posebnim ključevima idempotentnosti.
{
"error": {
"code": "storage.limit_reached",
"fields": null,
"message": "The upload storage limit is reached."
},
"meta": {
"request_id": "example-request"
}
}
413request.too_largeZahtev prekoračuje ograničenje veličine.
- Šta uraditi
- Smanjite podatke ili podelite posao na podržane pojedinačne operacije.
- Pravila ponavljanja
- Ponovite manje valjane operacije sa posebnim 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.
- Šta uraditi
- Za JSON upise koristite Content-Type: application/json i podržano nekomprimirano telo.
- 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
- Šta uraditi
- Range: bytes=0-(size_bytes-1)
- Pravila ponavljanja
- Ponovite nakon ispravka zahteva.
{
"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 proveru valjanosti.
- Šta uraditi
- Pregledajte error.fields, a zatim proverite obavezna polja, dozvoljavanje null, identifikatore i dozvoljene vrednosti.
- Pravila ponavljanja
- Ponovite ispravljen zahtev; promenjeni 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 zahteva nije počelo.
- Šta uraditi
- Stavite zahteve u red čekanja i poštujte zaglavlje odgovora Retry-After.
- Pravila ponavljanja
- Sačekajte barem broj sekundi naveden u
Retry-After. Ako ponavljate zapis, zadržite isto telo zahteva i istu vrednostIdempotency-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 vreme čekanja u redu API-ja; izvršavanje zahteva nije počelo.
- Šta uraditi
- Stavite zahteve u red čekanja i poštujte zaglavlje odgovora Retry-After.
- Pravila ponavljanja
- Sačekajte barem broj sekundi naveden u
Retry-After. Ako ponavljate zapis, zadržite isto telo zahteva i istu vrednostIdempotency-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 zahteva prekoračuje primenjivo ograničenje.
- Šta uraditi
- Stavite zahteve u red čekanja i poštujte zaglavlje odgovora Retry-After.
- Pravila ponavljanja
- Sačekajte barem broj sekundi naveden u
Retry-After. Ako ponavljate zapis, zadržite isto telo zahteva i istu vrednostIdempotency-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 greške usluge.
- Šta uraditi
- Sačekajte trenutak pre ponovnog slanja zahteva. Ako se greška 500 ponovi, obratite se tehničkoj podršci Shopentlyja i navedite identifikator zahteva.
- Pravila ponavljanja
- Možete ponovo pokušati čitati podatke nakon kratke pauze. Pri ponavljanju zapisa koristite istu vrednost
Idempotency-Keyi ne menjajte telo zahteva.
{
"error": {
"code": "internal.error",
"fields": null,
"message": "An unexpected error occurred."
},
"meta": {
"request_id": "example-request"
}
}
502gateway.bad_responseMrežni prolaz nije primio valjan API odgovor.
- Šta uraditi
- Sačuvajte identifikator zahteva. Neuspešan odgovor ne dokazuje da upis nije primenjen.
- Pravila ponavljanja
- Koristite ograničeno ponavljanje uz rastuće čekanje; ponovite isti logički upis s izvornim Idempotency-Key i nepromenjenim podacima.
{
"error": {
"code": "gateway.bad_response",
"fields": null,
"message": "The API gateway could not obtain a valid response."
},
"meta": {
"request_id": "example-request"
}
}
504gateway.timeoutMrežni prolaz je prekoračio vreme čekanja na API.
- Šta uraditi
- Ako je zahtev menjao podatke, proverite jesu li promene sačuvane u prodavnici. Izostanak odgovora ne znači da zapis nije uspeo. Ako se greška nastavi, obratite se tehničkoj podršci Shopentlyja i navedite identifikator zahteva.
- Pravila ponavljanja
- Možete ponovo pokušati čitati podatke nakon kratke pauze. Pri ponavljanju zapisa koristite istu vrednost
Idempotency-Keyi ne menjajte telo zahteva.
{
"error": {
"code": "gateway.timeout",
"fields": null,
"message": "The API gateway timed out."
},
"meta": {
"request_id": "example-request"
}
}