Virhekoodit
Jos pyyntö epäonnistuu, tarkista vastauksen virhekoodi. Avaa se alla olevasta luettelosta nähdäksesi, mitä tapahtui ja miten toimia. Jokaisen virheen yhteydessä on myös esimerkkivastaus ja ohjeet pyynnön uusimiseen.
400request.malformedPyyntöä ei voida jäsentää.
- Toimintaohje
- Tarkista JSON-syntaksi, URL-koodaus ja pyynnön rakenne.
- Uudelleenyrityskäytäntö
- Yritä uudelleen pyynnön korjaamisen jälkeen.
{
"error": {
"code": "request.malformed",
"fields": null,
"message": "The request could not be read."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.invalid_credentialsAPI-avain tai käyttöoikeustunnus on virheellinen, vanhentunut tai peruutettu.
- Toimintaohje
- Tarkista kaupan URL-osoite ja tunnistetieto. Hanki uusi tunnus aktiivisella API-avaimella.
- Uudelleenyrityskäytäntö
- Yritä uudelleen todentamisen korjaamisen jälkeen. Vältä toistuvia pyyntöjä virheellisillä tunnuksilla.
{
"error": {
"code": "authentication.invalid_credentials",
"fields": null,
"message": "The credentials are invalid."
},
"meta": {
"request_id": "example-request"
}
}
401authentication.requiredVaadittu Authorization-otsake puuttuu tai sen menetelmä on väärä.
- Toimintaohje
- Kun luot tai mitätöit tokenin, käytä API-avainta
ApiKey-tunnisteellaAuthorization-otsakkeessa. Käytä muissa pyynnöissä käyttöoikeustokeniaBearer-tunnisteella. - Uudelleenyrityskäytäntö
- Yritä uudelleen oikean otsakkeen lisäämisen jälkeen.
{
"error": {
"code": "authentication.required",
"fields": null,
"message": "Authentication is required."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.client_ip_unverifiedPalvelu ei pystynyt määrittämään luotettua asiakkaan IP-osoitetta.
- Toimintaohje
- Tarkista, mistä IP-osoitteesta integraatio muodostaa yhteyden API:in. Jos virhe jatkuu, ota yhteyttä Shopentlyn tekniseen tukeen.
- Uudelleenyrityskäytäntö
- Yritä uudelleen, kun IP-osoitteen tunnistamiseen liittyvä ongelma on ratkaistu.
{
"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_allowedLähde-IP-osoite ei ole avaimen sallittujen osoitteiden luettelossa.
- Toimintaohje
- Käytä hyväksyttyä lähdeosoitetta tai pyydä valtuutettua ylläpitäjää muokkaamaan avaimen IP-luetteloa.
- Uudelleenyrityskäytäntö
- Yritä uudelleen vasta, kun osoite on sallittu.
{
"error": {
"code": "authorization.ip_not_allowed",
"fields": null,
"message": "Access from this IP address is not allowed."
},
"meta": {
"request_id": "example-request"
}
}
403authorization.scope_deniedAvaimella ei ole tämän toiminnon vaatimaa voimassa olevaa käyttöoikeutta.
- Toimintaohje
- Tarkista toiminnon vaaditut ja ehdolliset oikeudet, avaimen oikeudet ja sen myöntäjän käyttöoikeus.
- Uudelleenyrityskäytäntö
- Yritä uudelleen, kun valtuutettu ylläpitäjä on myöntänyt tarvittavan oikeuden.
{
"error": {
"code": "authorization.scope_denied",
"fields": null,
"message": "The required permission has not been granted."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.api_disabledAPI:n käyttö on poistettu käytöstä tässä kaupassa.
- Toimintaohje
- Pyydä kaupan omistajaa tarkistamaan aktiivinen paketti ja API:n saatavuus.
- Uudelleenyrityskäytäntö
- Älä yritä uudelleen ennen kuin API:n käyttö on sallittu.
{
"error": {
"code": "entitlements.api_disabled",
"fields": null,
"message": "API access is disabled for this store."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.limit_exceededMuutos ylittäisi nykyisen paketin rajan.
- Toimintaohje
- Tarkista soveltuva resurssiraja ja muuta aiottua toimintoa tai pakettia.
- Uudelleenyrityskäytäntö
- Yritä uudelleen rajan ratkaisemisen jälkeen. Käytä uutta idempotenssiavainta, jos pyyntö muuttuu.
{
"error": {
"code": "entitlements.limit_exceeded",
"fields": null,
"message": "The operation exceeds a plan limit."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.operation_disabledNykyinen paketti ei sisällä tätä toimintoa.
- Toimintaohje
- Tarkista toiminnolle ilmoitettu vähimmäispaketti.
- Uudelleenyrityskäytäntö
- Yritä uudelleen, kun paketti sallii toiminnon ja avaimella on tarvittavat oikeudet.
{
"error": {
"code": "entitlements.operation_disabled",
"fields": null,
"message": "The current plan does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
403entitlements.resource_blockedPaketin raja estää tämän tietyn resurssin käytön.
- Toimintaohje
- Pyydä omistajaa ratkaisemaan resurssin pakettirajoitus.
- Uudelleenyrityskäytäntö
- Älä toista samaa pyyntöä niin kauan kuin resurssi on estetty.
{
"error": {
"code": "entitlements.resource_blocked",
"fields": null,
"message": "A plan limit blocks access to this resource."
},
"meta": {
"request_id": "example-request"
}
}
404resource.not_foundResurssi puuttuu, on poistettu tai ei ole saatavilla annetulla tunnisteella.
- Toimintaohje
- Tarkista kauppa, resurssipolku ja tunniste. Käytä tämän kaupan palauttamia tunnisteita.
- Uudelleenyrityskäytäntö
- Yritä uudelleen vasta kohteen korjaamisen tai sen olemassaolon varmistamisen jälkeen.
{
"error": {
"code": "resource.not_found",
"fields": null,
"message": "The resource was not found."
},
"meta": {
"request_id": "example-request"
}
}
405request.method_not_allowedPäätepiste ei tue tätä HTTP-metodia.
- Toimintaohje
- Käytä dokumentoitua metodia. Allow-otsake ilmoittaa tuetut metodit.
- Uudelleenyrityskäytäntö
- Älä yritä tukematonta metodia uudelleen.
{
"error": {
"code": "request.method_not_allowed",
"fields": null,
"message": "This method is not supported for this resource."
},
"meta": {
"request_id": "example-request"
}
}
409idempotency.key_reusedTämä idempotenssiavain kuuluu eri pyynnölle.
- Toimintaohje
- Etsi alkuperäinen toiminto. Käytä uutta avainta vain tarkoituksella uudelle loogiselle toiminnolle.
- Uudelleenyrityskäytäntö
- Älä yritä muuttunutta sisältöä uudelleen ristiriitaisella avaimella.
{
"error": {
"code": "idempotency.key_reused",
"fields": null,
"message": "This idempotency key was used with a different request."
},
"meta": {
"request_id": "example-request"
}
}
409resource.already_existsYksilöllinen arvo on ristiriidassa olemassa olevan resurssin kanssa.
- Toimintaohje
- Lue olemassa oleva resurssi ja päätä, käytätkö sitä vai valitsetko toisen yksilöllisen arvon.
- Uudelleenyrityskäytäntö
- Älä toista samaa ristiriitaista luontia.
{
"error": {
"code": "resource.already_exists",
"fields": null,
"message": "A resource with these unique values already exists."
},
"meta": {
"request_id": "example-request"
}
}
409resource.in_useMuut resurssit ovat edelleen riippuvaisia tästä resurssista.
- Toimintaohje
- Tarkista riippuvuudet ja poista tai muuta niitä tuettujen toimintojen kautta ennen poistoa.
- Uudelleenyrityskäytäntö
- Yritä uudelleen riippuvuuksien ratkaisemisen jälkeen.
{
"error": {
"code": "resource.in_use",
"fields": null,
"message": "The resource is still in use."
},
"meta": {
"request_id": "example-request"
}
}
409resource.state_conflictNykyinen liiketoimintatila estää tämän muutoksen.
- Toimintaohje
- Lue nykyinen tila ja valitse kelvollinen liiketoimintasiirtymä.
- Uudelleenyrityskäytäntö
- Älä pakota muutosta automaattisesti tai lähetä ristiriitaista muutosta toistuvasti.
{
"error": {
"code": "resource.state_conflict",
"fields": null,
"message": "The current resource state does not allow this operation."
},
"meta": {
"request_id": "example-request"
}
}
409resource.version_conflictToinen kirjoitus muutti resurssia lukemasi version jälkeen.
- Toimintaohje
- Lue uusin tila, sovita muutoksesi siihen ja lähetä uusi expected_version.
- Uudelleenyrityskäytäntö
- Käytä tarkistettuun toimintoon uutta idempotenssiavainta. Älä ylikirjoita sokeasti.
{
"error": {
"code": "resource.version_conflict",
"fields": null,
"message": "The resource version has changed."
},
"meta": {
"request_id": "example-request"
}
}
409storage.limit_reachedKuvien ja tiedostojen tallennustilaraja on saavutettu. Vapauta tilaa tai korota rajaa.
- Toimintaohje
- Kuvien ja tiedostojen tallennustilaraja on saavutettu. Vapauta tilaa tai korota rajaa.
- Uudelleenyrityskäytäntö
- Yritä pienempiä kelvollisia toimintoja omilla idempotenssiavaimillaan.
{
"error": {
"code": "storage.limit_reached",
"fields": null,
"message": "The upload storage limit is reached."
},
"meta": {
"request_id": "example-request"
}
}
413request.too_largePyyntö ylittää kokorajan.
- Toimintaohje
- Pienennä sisältöä tai jaa työ tuettuihin yksittäisiin toimintoihin.
- Uudelleenyrityskäytäntö
- Yritä pienempiä kelvollisia toimintoja omilla idempotenssiavaimillaan.
{
"error": {
"code": "request.too_large",
"fields": null,
"message": "The request exceeds the size limit."
},
"meta": {
"request_id": "example-request"
}
}
415request.unsupported_media_typeMediatyyppiä tai sisällön koodausta ei tueta.
- Toimintaohje
- Käytä JSON-kirjoituksissa Content-Type: application/json -otsaketta ja tuettua pakkaamatonta sisältöä.
- Uudelleenyrityskäytäntö
- Yritä uudelleen mediatyypin tai koodauksen korjaamisen jälkeen.
{
"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_satisfiableRajoitukset: Range
- Toimintaohje
- Range: bytes=0-(size_bytes-1)
- Uudelleenyrityskäytäntö
- Yritä uudelleen pyynnön korjaamisen jälkeen.
{
"error": {
"code": "request.range_not_satisfiable",
"fields": null,
"message": "The requested byte range is unavailable."
},
"meta": {
"request_id": "example-request"
}
}
422request.validation_failedYksi tai useampi kenttä tai parametri ei läpäise validointia.
- Toimintaohje
- Tutki error.fields ja tarkista sitten pakolliset kentät, null-arvon salliminen, tunnisteet ja sallitut arvot.
- Uudelleenyrityskäytäntö
- Yritä korjattua pyyntöä uudelleen. Muuttunut kirjoitus on uusi looginen toiminto.
{
"error": {
"code": "request.validation_failed",
"fields": null,
"message": "Some request parameters are invalid."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.queue_fullLyhyt API-jono on täynnä; pyynnön suorittamista ei ole aloitettu.
- Toimintaohje
- Aseta pyynnöt jonoon ja noudata vastauksen Retry-After-otsaketta.
- Uudelleenyrityskäytäntö
- Odota vähintään
Retry-After-otsakkeen ilmoittama sekuntimäärä. Jos toistat kirjoituspyynnön, säilytä sama sisältö jaIdempotency-Key-arvo.
{
"error": {
"code": "capacity.queue_full",
"fields": null,
"message": "The API is busy. Please retry shortly."
},
"meta": {
"request_id": "example-request"
}
}
429capacity.wait_timeoutOdotusaika API-jonossa päättyi; pyynnön suorittamista ei ole aloitettu.
- Toimintaohje
- Aseta pyynnöt jonoon ja noudata vastauksen Retry-After-otsaketta.
- Uudelleenyrityskäytäntö
- Odota vähintään
Retry-After-otsakkeen ilmoittama sekuntimäärä. Jos toistat kirjoituspyynnön, säilytä sama sisältö jaIdempotency-Key-arvo.
{
"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.exceededPyyntötahti ylittää sovellettavan rajan.
- Toimintaohje
- Aseta pyynnöt jonoon ja noudata vastauksen Retry-After-otsaketta.
- Uudelleenyrityskäytäntö
- Odota vähintään
Retry-After-otsakkeen ilmoittama sekuntimäärä. Jos toistat kirjoituspyynnön, säilytä sama sisältö jaIdempotency-Key-arvo.
{
"error": {
"code": "rate_limit.exceeded",
"fields": null,
"message": "The request rate limit has been exceeded."
},
"meta": {
"request_id": "example-request"
}
}
500internal.errorPalvelussa tapahtui odottamaton virhe.
- Toimintaohje
- Odota hetki ennen pyynnön uusimista. Jos virhe 500 toistuu, ota yhteyttä Shopentlyn tekniseen tukeen ja ilmoita pyynnön tunniste.
- Uudelleenyrityskäytäntö
- Voit yrittää hakea tietoja uudelleen lyhyen tauon jälkeen. Kun toistat kirjoituspyynnön, käytä samaa
Idempotency-Key-arvoa äläkä muuta pyynnön sisältöä.
{
"error": {
"code": "internal.error",
"fields": null,
"message": "An unexpected error occurred."
},
"meta": {
"request_id": "example-request"
}
}
502gateway.bad_responseYhdyskäytävä ei saanut kelvollista API-vastausta.
- Toimintaohje
- Säilytä pyynnön tunniste. Epäonnistunut vastaus ei todista, ettei kirjoitusta tehty.
- Uudelleenyrityskäytäntö
- Käytä rajattua määrää yrityksiä ja kasvavaa viivettä. Toista sama looginen kirjoitus alkuperäisellä Idempotency-Key-avaimella ja sisällöllä.
{
"error": {
"code": "gateway.bad_response",
"fields": null,
"message": "The API gateway could not obtain a valid response."
},
"meta": {
"request_id": "example-request"
}
}
504gateway.timeoutYhdyskäytävä aikakatkaisi API:n odottamisen.
- Toimintaohje
- Jos pyyntö muutti tietoja, tarkista, tallentuivatko muutokset kauppaan. Vastauksen puuttuminen ei tarkoita, että tallennus epäonnistui. Jos virhe jatkuu, ota yhteyttä Shopentlyn tekniseen tukeen ja ilmoita pyynnön tunniste.
- Uudelleenyrityskäytäntö
- Voit yrittää hakea tietoja uudelleen lyhyen tauon jälkeen. Kun toistat kirjoituspyynnön, käytä samaa
Idempotency-Key-arvoa äläkä muuta pyynnön sisältöä.
{
"error": {
"code": "gateway.timeout",
"fields": null,
"message": "The API gateway timed out."
},
"meta": {
"request_id": "example-request"
}
}