Pereiti prie turinio
ShopentlyLearn

Klaidų kodai

Jei užklausa nepavyko, patikrinkite atsakyme pateiktą klaidos kodą. Išskleiskite jį toliau esančiame sąraše ir sužinokite, kas nutiko bei ką daryti. Prie kiekvienos klaidos taip pat rasite atsakymo pavyzdį ir patarimus dėl užklausos kartojimo.

400request.malformedUžklausos negalima išanalizuoti.
Ką daryti
Patikrinkite JSON sintaksę, URL kodavimą ir užklausos struktūrą.
Kartojimo taisyklės
Kartokite pataisę užklausą.
Atsakymas
{
  "error": {
    "code": "request.malformed",
    "fields": null,
    "message": "The request could not be read."
  },
  "meta": {
    "request_id": "example-request"
  }
}

401authentication.invalid_credentialsAPI raktas arba prieigos žetonas negalioja, jo galiojimas baigėsi arba jis atšauktas.
Ką daryti
Patikrinkite parduotuvės URL ir prieigos duomenis. Aktyviu API raktu gaukite naują žetoną.
Kartojimo taisyklės
Kartokite pataisę tapatybės patvirtinimą; nekartokite neteisingų žetono užklausų.
Atsakymas
{
  "error": {
    "code": "authentication.invalid_credentials",
    "fields": null,
    "message": "The credentials are invalid."
  },
  "meta": {
    "request_id": "example-request"
  }
}

401authentication.requiredTrūksta būtinos Authorization antraštės arba jos schema neteisinga.
Ką daryti
Norėdami išduoti ar atšaukti žetoną, naudokite API raktą su ApiKey antraštėje Authorization. Kitoms užklausoms naudokite prieigos žetoną su Bearer.
Kartojimo taisyklės
Kartokite pateikę tinkamą antraštę.
Atsakymas
{
  "error": {
    "code": "authentication.required",
    "fields": null,
    "message": "Authentication is required."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.client_ip_unverifiedPaslauga negalėjo nustatyti patikimo kliento IP adreso.
Ką daryti
Patikrinkite, iš kurio IP adreso integracija jungiasi prie API. Jei klaida kartojasi, kreipkitės į Shopently techninę pagalbą.
Kartojimo taisyklės
Bandykite dar kartą išsprendę IP adreso nustatymo problemą.
Atsakymas
{
  "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_allowedŠaltinio IP adresas nėra rakto leidžiamų adresų sąraše.
Ką daryti
Naudokite patvirtintą šaltinio adresą arba paprašykite įgalioto administratoriaus pakeisti rakto IP sąrašą.
Kartojimo taisyklės
Kartokite tik leidus šį adresą.
Atsakymas
{
  "error": {
    "code": "authorization.ip_not_allowed",
    "fields": null,
    "message": "Access from this IP address is not allowed."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.scope_deniedRaktas neturi šiai operacijai reikalingos galiojančios teisės.
Ką daryti
Patikrinkite būtinas ir sąlygines operacijos teises, raktui suteiktas teises bei jį išdavusio asmens prieigą.
Kartojimo taisyklės
Kartokite, kai įgaliotas administratorius suteiks reikiamą prieigą.
Atsakymas
{
  "error": {
    "code": "authorization.scope_denied",
    "fields": null,
    "message": "The required permission has not been granted."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.api_disabledŠios parduotuvės API prieiga išjungta.
Ką daryti
Paprašykite parduotuvės savininko patikrinti aktyvų planą ir API prieinamumą.
Kartojimo taisyklės
Nekartokite, kol API prieiga neįjungta.
Atsakymas
{
  "error": {
    "code": "entitlements.api_disabled",
    "fields": null,
    "message": "API access is disabled for this store."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.limit_exceededPakeitimas viršytų dabartinio plano ribą.
Ką daryti
Patikrinkite taikomą ištekliaus ribą ir pakoreguokite numatytą pakeitimą arba planą.
Kartojimo taisyklės
Kartokite išsprendę ribos problemą; pakeitę užklausą naudokite naują idempotentiškumo raktą.
Atsakymas
{
  "error": {
    "code": "entitlements.limit_exceeded",
    "fields": null,
    "message": "The operation exceeds a plan limit."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.operation_disabledDabartinis planas neapima šios operacijos.
Ką daryti
Patikrinkite operacijai nurodytą mažiausią planą.
Kartojimo taisyklės
Kartokite, kai planas leis operaciją ir raktas turės būtinas teises.
Atsakymas
{
  "error": {
    "code": "entitlements.operation_disabled",
    "fields": null,
    "message": "The current plan does not allow this operation."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.resource_blockedŠį konkretų išteklių blokuoja plano riba.
Ką daryti
Paprašykite savininko panaikinti ištekliui taikomą plano apribojimą.
Kartojimo taisyklės
Nekartokite tos pačios užklausos, kol išteklius užblokuotas.
Atsakymas
{
  "error": {
    "code": "entitlements.resource_blocked",
    "fields": null,
    "message": "A plan limit blocks access to this resource."
  },
  "meta": {
    "request_id": "example-request"
  }
}

404resource.not_foundIštekliaus nėra, jis pašalintas arba neprieinamas pagal pateiktą identifikatorių.
Ką daryti
Patikrinkite parduotuvę, ištekliaus kelią ir identifikatorių. Naudokite šios parduotuvės grąžintus identifikatorius.
Kartojimo taisyklės
Kartokite tik pataisę tikslą arba patvirtinę, kad jis egzistuoja.
Atsakymas
{
  "error": {
    "code": "resource.not_found",
    "fields": null,
    "message": "The resource was not found."
  },
  "meta": {
    "request_id": "example-request"
  }
}

405request.method_not_allowedPrieigos taškas nepalaiko šio HTTP metodo.
Ką daryti
Naudokite dokumentuotą metodą; Allow antraštė nurodo palaikomus metodus.
Kartojimo taisyklės
Nekartokite nepalaikomo metodo.
Atsakymas
{
  "error": {
    "code": "request.method_not_allowed",
    "fields": null,
    "message": "This method is not supported for this resource."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409idempotency.key_reusedŠis idempotentiškumo raktas priklauso kitai užklausai.
Ką daryti
Raskite pradinę operaciją. Naują raktą naudokite tik sąmoningai naujai loginei operacijai.
Kartojimo taisyklės
Nekartokite pakeistų duomenų su konfliktuojančiu raktu.
Atsakymas
{
  "error": {
    "code": "idempotency.key_reused",
    "fields": null,
    "message": "This idempotency key was used with a different request."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.already_existsUnikali reikšmė konfliktuoja su esamu ištekliumi.
Ką daryti
Perskaitykite esamą išteklių ir nuspręskite, ar jį naudoti, ar pasirinkti kitą unikalią reikšmę.
Kartojimo taisyklės
Nekartokite to paties konfliktuojančio kūrimo.
Atsakymas
{
  "error": {
    "code": "resource.already_exists",
    "fields": null,
    "message": "A resource with these unique values already exists."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.in_useKiti ištekliai vis dar priklauso nuo šio ištekliaus.
Ką daryti
Peržiūrėkite priklausomybes ir prieš šalindami pašalinkite arba pakeiskite jas palaikomomis operacijomis.
Kartojimo taisyklės
Kartokite išsprendę priklausomybes.
Atsakymas
{
  "error": {
    "code": "resource.in_use",
    "fields": null,
    "message": "The resource is still in use."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.state_conflictDabartinė verslo būsena neleidžia šio pakeitimo.
Ką daryti
Perskaitykite dabartinę būseną ir pasirinkite leidžiamą verslo būsenos perėjimą.
Kartojimo taisyklės
Neverskite sistemos taikyti konfliktuojančio pakeitimo ir nesiųskite jo pakartotinai automatiškai.
Atsakymas
{
  "error": {
    "code": "resource.state_conflict",
    "fields": null,
    "message": "The current resource state does not allow this operation."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.version_conflictKitas įrašymas pakeitė išteklių po to, kai perskaitėte jo versiją.
Ką daryti
Perskaitykite naujausią būseną, suderinkite pakeitimą ir pateikite naują expected_version.
Kartojimo taisyklės
Pakeistai operacijai naudokite naują idempotentiškumo raktą; neperrašykite duomenų nepatikrinę.
Atsakymas
{
  "error": {
    "code": "resource.version_conflict",
    "fields": null,
    "message": "The resource version has changed."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409storage.limit_reachedPasiektas vaizdų ir failų saugyklos limitas. Atlaisvinkite vietos arba padidinkite limitą.
Ką daryti
Pasiektas vaizdų ir failų saugyklos limitas. Atlaisvinkite vietos arba padidinkite limitą.
Kartojimo taisyklės
Kartokite mažesnes tinkamas operacijas su atskirais jų idempotentiškumo raktais.
Atsakymas
{
  "error": {
    "code": "storage.limit_reached",
    "fields": null,
    "message": "The upload storage limit is reached."
  },
  "meta": {
    "request_id": "example-request"
  }
}

413request.too_largeUžklausa viršija dydžio ribą.
Ką daryti
Sumažinkite duomenis arba suskaidykite darbą į palaikomas atskiras operacijas.
Kartojimo taisyklės
Kartokite mažesnes tinkamas operacijas su atskirais jų idempotentiškumo raktais.
Atsakymas
{
  "error": {
    "code": "request.too_large",
    "fields": null,
    "message": "The request exceeds the size limit."
  },
  "meta": {
    "request_id": "example-request"
  }
}

415request.unsupported_media_typeMedijos tipas arba turinio kodavimas nepalaikomas.
Ką daryti
JSON įrašymui naudokite Content-Type: application/json ir palaikomą nesuglaudintą turinį.
Kartojimo taisyklės
Kartokite pataisę medijos tipą arba kodavimą.
Atsakymas
{
  "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_satisfiableApribojimai: Range
Ką daryti
Range: bytes=0-(size_bytes-1)
Kartojimo taisyklės
Kartokite pataisę užklausą.
Atsakymas
{
  "error": {
    "code": "request.range_not_satisfiable",
    "fields": null,
    "message": "The requested byte range is unavailable."
  },
  "meta": {
    "request_id": "example-request"
  }
}

422request.validation_failedVienas ar keli laukai arba parametrai neatitiko tikrinimo taisyklių.
Ką daryti
Peržiūrėkite error.fields, tada patikrinkite būtinus laukus, null leidimą, identifikatorius ir leidžiamas reikšmes.
Kartojimo taisyklės
Kartokite pataisytą užklausą; pakeistas įrašymas yra nauja loginė operacija.
Atsakymas
{
  "error": {
    "code": "request.validation_failed",
    "fields": null,
    "message": "Some request parameters are invalid."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429capacity.queue_fullTrumpa API eilė pilna; užklausa dar nepradėta vykdyti.
Ką daryti
Dėkite užklausas į eilę ir laikykitės atsakymo antraštės Retry-After.
Kartojimo taisyklės
Palaukite bent tiek sekundžių, kiek nurodyta Retry-After. Kartodami įrašymą palikite tą patį užklausos turinį ir Idempotency-Key reikšmę.
Atsakymas
{
  "error": {
    "code": "capacity.queue_full",
    "fields": null,
    "message": "The API is busy. Please retry shortly."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429capacity.wait_timeoutBaigėsi laukimo API eilėje laikas; užklausa dar nepradėta vykdyti.
Ką daryti
Dėkite užklausas į eilę ir laikykitės atsakymo antraštės Retry-After.
Kartojimo taisyklės
Palaukite bent tiek sekundžių, kiek nurodyta Retry-After. Kartodami įrašymą palikite tą patį užklausos turinį ir Idempotency-Key reikšmę.
Atsakymas
{
  "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žklausų dažnis viršija taikomą ribą.
Ką daryti
Dėkite užklausas į eilę ir laikykitės atsakymo antraštės Retry-After.
Kartojimo taisyklės
Palaukite bent tiek sekundžių, kiek nurodyta Retry-After. Kartodami įrašymą palikite tą patį užklausos turinį ir Idempotency-Key reikšmę.
Atsakymas
{
  "error": {
    "code": "rate_limit.exceeded",
    "fields": null,
    "message": "The request rate limit has been exceeded."
  },
  "meta": {
    "request_id": "example-request"
  }
}

500internal.errorĮvyko netikėta paslaugos klaida.
Ką daryti
Prieš kartodami užklausą šiek tiek palaukite. Jei klaida 500 pasikartoja, kreipkitės į Shopently techninę pagalbą ir pateikite užklausos identifikatorių.
Kartojimo taisyklės
Po trumpos pauzės galite bandyti skaityti duomenis dar kartą. Kartodami įrašymą naudokite tą pačią Idempotency-Key reikšmę ir nekeiskite užklausos turinio.
Atsakymas
{
  "error": {
    "code": "internal.error",
    "fields": null,
    "message": "An unexpected error occurred."
  },
  "meta": {
    "request_id": "example-request"
  }
}

502gateway.bad_responseTinklo šliuzas negavo galiojančio API atsakymo.
Ką daryti
Išsaugokite užklausos identifikatorių. Nesėkmingas atsakymas neįrodo, kad įrašymas nebuvo atliktas.
Kartojimo taisyklės
Taikykite ribotą didėjantį laukimo laiką; tą patį loginį įrašymą kartokite su pradiniu Idempotency-Key ir duomenimis.
Atsakymas
{
  "error": {
    "code": "gateway.bad_response",
    "fields": null,
    "message": "The API gateway could not obtain a valid response."
  },
  "meta": {
    "request_id": "example-request"
  }
}

503service.unavailableAPI laikinai negali apdoroti užklausos.
Ką daryti
Jei atsakyme yra antraštė Retry-After, prieš bandydami dar kartą palaukite nurodytą sekundžių skaičių. Kitu atveju šiek tiek palaukite. Jei klaida kartojasi, kreipkitės į Shopently techninę pagalbą ir pateikite užklausos identifikatorių.
Kartojimo taisyklės
Bandykite dar kartą palaukę taip, kaip nurodyta pirmiau. Kartodami įrašymą naudokite tą pačią Idempotency-Key reikšmę ir nekeiskite užklausos turinio.
Atsakymas
{
  "error": {
    "code": "service.unavailable",
    "fields": null,
    "message": "The API is temporarily unavailable."
  },
  "meta": {
    "request_id": "example-request"
  }
}

504gateway.timeoutTinklo šliuzui laukiant API baigėsi laukimo laikas.
Ką daryti
Jei užklausa keitė duomenis, patikrinkite, ar pakeitimai išsaugoti parduotuvėje. Negautas atsakymas nereiškia, kad įrašymas nepavyko. Jei klaida kartojasi, kreipkitės į Shopently techninę pagalbą ir pateikite užklausos identifikatorių.
Kartojimo taisyklės
Po trumpos pauzės galite bandyti skaityti duomenis dar kartą. Kartodami įrašymą naudokite tą pačią Idempotency-Key reikšmę ir nekeiskite užklausos turinio.
Atsakymas
{
  "error": {
    "code": "gateway.timeout",
    "fields": null,
    "message": "The API gateway timed out."
  },
  "meta": {
    "request_id": "example-request"
  }
}