Treci la conținut
ShopentlyLearn

Coduri de eroare

Dacă o cerere eșuează, verifică codul de eroare din răspuns. Extinde-l în lista de mai jos pentru a afla ce s-a întâmplat și ce poți face. Fiecare eroare include și un exemplu de răspuns, precum și indicații pentru repetarea cererii.

400request.malformedCererea nu poate fi interpretată.
Ce trebuie făcut
Verificați sintaxa JSON, codificarea URL-ului și structura cererii.
Reguli de reîncercare
Reîncercați după corectarea cererii.
Răspuns
{
  "error": {
    "code": "request.malformed",
    "fields": null,
    "message": "The request could not be read."
  },
  "meta": {
    "request_id": "example-request"
  }
}

401authentication.invalid_credentialsCheia API sau tokenul de acces este invalid, a expirat ori a fost revocat.
Ce trebuie făcut
Verificați URL-ul magazinului și credențialul. Obțineți un token nou folosind o cheie API activă.
Reguli de reîncercare
Reîncercați după corectarea autentificării; evitați cererile repetate cu tokenuri invalide.
Răspuns
{
  "error": {
    "code": "authentication.invalid_credentials",
    "fields": null,
    "message": "The credentials are invalid."
  },
  "meta": {
    "request_id": "example-request"
  }
}

401authentication.requiredAntetul Authorization necesar lipsește sau folosește o schemă incorectă.
Ce trebuie făcut
Pentru a emite sau revoca un token, folosește cheia API cu ApiKey în antetul Authorization. Pentru celelalte cereri, folosește tokenul de acces cu Bearer.
Reguli de reîncercare
Reîncercați după furnizarea antetului corect.
Răspuns
{
  "error": {
    "code": "authentication.required",
    "fields": null,
    "message": "Authentication is required."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.client_ip_unverifiedServiciul nu a putut stabili o adresă IP de client de încredere.
Ce trebuie făcut
Verifică adresa IP de la care integrarea se conectează la API. Dacă eroarea persistă, contactează asistența tehnică Shopently.
Reguli de reîncercare
Încearcă din nou după rezolvarea problemei de identificare a adresei IP.
Răspuns
{
  "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_allowedAdresa IP sursă nu se află în lista adreselor permise pentru cheie.
Ce trebuie făcut
Folosiți o adresă sursă aprobată sau cereți unui administrator autorizat să editeze lista IP a cheii.
Reguli de reîncercare
Reîncercați numai după ce adresa este permisă.
Răspuns
{
  "error": {
    "code": "authorization.ip_not_allowed",
    "fields": null,
    "message": "Access from this IP address is not allowed."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.scope_deniedCheia nu are o permisiune efectivă necesară acestei operații.
Ce trebuie făcut
Verificați permisiunile obligatorii și condiționale ale operației, permisiunile cheii și accesul emitentului.
Reguli de reîncercare
Reîncercați după ce un administrator autorizat acordă accesul necesar.
Răspuns
{
  "error": {
    "code": "authorization.scope_denied",
    "fields": null,
    "message": "The required permission has not been granted."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.api_disabledAccesul API este dezactivat pentru acest magazin.
Ce trebuie făcut
Cereți proprietarului magazinului să verifice planul activ și disponibilitatea API.
Reguli de reîncercare
Nu reîncercați până la activarea accesului API.
Răspuns
{
  "error": {
    "code": "entitlements.api_disabled",
    "fields": null,
    "message": "API access is disabled for this store."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.limit_exceededModificarea ar depăși o limită a planului curent.
Ce trebuie făcut
Verificați limita aplicabilă resursei și adaptați modificarea dorită sau planul.
Reguli de reîncercare
Reîncercați după rezolvarea limitei; folosiți o cheie de idempotență nouă dacă cererea se schimbă.
Răspuns
{
  "error": {
    "code": "entitlements.limit_exceeded",
    "fields": null,
    "message": "The operation exceeds a plan limit."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.operation_disabledPlanul curent nu include această operație.
Ce trebuie făcut
Verificați planul minim indicat pentru operație.
Reguli de reîncercare
Reîncercați după ce planul permite operația și cheia are permisiunile necesare.
Răspuns
{
  "error": {
    "code": "entitlements.operation_disabled",
    "fields": null,
    "message": "The current plan does not allow this operation."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.resource_blockedO limită a planului blochează această resursă.
Ce trebuie făcut
Cereți proprietarului să rezolve restricția impusă resursei de plan.
Reguli de reîncercare
Nu repetați aceeași cerere cât timp resursa rămâne blocată.
Răspuns
{
  "error": {
    "code": "entitlements.resource_blocked",
    "fields": null,
    "message": "A plan limit blocks access to this resource."
  },
  "meta": {
    "request_id": "example-request"
  }
}

404resource.not_foundResursa lipsește, a fost ștearsă sau nu este disponibilă sub identificatorul furnizat.
Ce trebuie făcut
Verificați magazinul, calea resursei și identificatorul. Folosiți identificatori returnați de acest magazin.
Reguli de reîncercare
Reîncercați numai după corectarea destinației sau confirmarea existenței acesteia.
Răspuns
{
  "error": {
    "code": "resource.not_found",
    "fields": null,
    "message": "The resource was not found."
  },
  "meta": {
    "request_id": "example-request"
  }
}

405request.method_not_allowedEndpointul nu acceptă această metodă HTTP.
Ce trebuie făcut
Folosiți metoda documentată; antetul Allow indică metodele acceptate.
Reguli de reîncercare
Nu reîncercați metoda neacceptată.
Răspuns
{
  "error": {
    "code": "request.method_not_allowed",
    "fields": null,
    "message": "This method is not supported for this resource."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409idempotency.key_reusedAceastă cheie de idempotență aparține unei alte cereri.
Ce trebuie făcut
Identificați operația originală. Folosiți o cheie nouă numai pentru o operație logică nouă, intenționată.
Reguli de reîncercare
Nu reîncercați date modificate folosind cheia aflată în conflict.
Răspuns
{
  "error": {
    "code": "idempotency.key_reused",
    "fields": null,
    "message": "This idempotency key was used with a different request."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.already_existsO valoare unică intră în conflict cu o resursă existentă.
Ce trebuie făcut
Citiți resursa existentă și decideți dacă o folosiți sau alegeți o altă valoare unică.
Reguli de reîncercare
Nu repetați aceeași creare aflată în conflict.
Răspuns
{
  "error": {
    "code": "resource.already_exists",
    "fields": null,
    "message": "A resource with these unique values already exists."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.in_useAlte resurse depind încă de această resursă.
Ce trebuie făcut
Verificați dependențele și eliminați-le sau modificați-le prin operațiile acceptate înainte de ștergere.
Reguli de reîncercare
Reîncercați după rezolvarea dependențelor.
Răspuns
{
  "error": {
    "code": "resource.in_use",
    "fields": null,
    "message": "The resource is still in use."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.state_conflictStarea comercială curentă împiedică această modificare.
Ce trebuie făcut
Citiți starea curentă și alegeți o tranziție comercială validă.
Reguli de reîncercare
Nu forțați automat și nu retrimiteți repetat modificarea aflată în conflict.
Răspuns
{
  "error": {
    "code": "resource.state_conflict",
    "fields": null,
    "message": "The current resource state does not allow this operation."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.version_conflictO altă scriere a modificat resursa după versiunea pe care ați citit-o.
Ce trebuie făcut
Citiți starea cea mai recentă, adaptați modificarea și trimiteți noua valoare expected_version.
Reguli de reîncercare
Folosiți o cheie de idempotență nouă pentru operația revizuită; nu suprascrieți fără verificare.
Răspuns
{
  "error": {
    "code": "resource.version_conflict",
    "fields": null,
    "message": "The resource version has changed."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409storage.limit_reachedLimita de stocare pentru imagini și fișiere a fost atinsă. Eliberează spațiu sau mărește limita.
Ce trebuie făcut
Limita de stocare pentru imagini și fișiere a fost atinsă. Eliberează spațiu sau mărește limita.
Reguli de reîncercare
Reîncercați operații mai mici și valide, fiecare cu propria cheie de idempotență.
Răspuns
{
  "error": {
    "code": "storage.limit_reached",
    "fields": null,
    "message": "The upload storage limit is reached."
  },
  "meta": {
    "request_id": "example-request"
  }
}

413request.too_largeCererea depășește limita de dimensiune.
Ce trebuie făcut
Reduceți datele trimise sau împărțiți operația în operații individuale acceptate.
Reguli de reîncercare
Reîncercați operații mai mici și valide, fiecare cu propria cheie de idempotență.
Răspuns
{
  "error": {
    "code": "request.too_large",
    "fields": null,
    "message": "The request exceeds the size limit."
  },
  "meta": {
    "request_id": "example-request"
  }
}

415request.unsupported_media_typeTipul media sau codificarea conținutului nu este acceptată.
Ce trebuie făcut
Pentru scrieri JSON, folosiți Content-Type: application/json și un corp necomprimat acceptat.
Reguli de reîncercare
Reîncercați după corectarea tipului media sau a codificării.
Răspuns
{
  "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_satisfiableRestricții: Range
Ce trebuie făcut
Range: bytes=0-(size_bytes-1)
Reguli de reîncercare
Reîncercați după corectarea cererii.
Răspuns
{
  "error": {
    "code": "request.range_not_satisfiable",
    "fields": null,
    "message": "The requested byte range is unavailable."
  },
  "meta": {
    "request_id": "example-request"
  }
}

422request.validation_failedUnul sau mai multe câmpuri ori parametri nu trec validarea.
Ce trebuie făcut
Consultați error.fields, apoi verificați câmpurile obligatorii, acceptarea valorii null, identificatorii și valorile permise.
Reguli de reîncercare
Reîncercați o cerere corectată; o scriere modificată reprezintă o operație logică nouă.
Răspuns
{
  "error": {
    "code": "request.validation_failed",
    "fields": null,
    "message": "Some request parameters are invalid."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429capacity.queue_fullCoada scurtă a API-ului este plină; executarea cererii nu a început.
Ce trebuie făcut
Puneți cererile într-o coadă și respectați antetul de răspuns Retry-After.
Reguli de reîncercare
Așteaptă cel puțin numărul de secunde indicat în Retry-After. Dacă repeți o scriere, păstrează același corp al cererii și aceeași valoare Idempotency-Key.
Răspuns
{
  "error": {
    "code": "capacity.queue_full",
    "fields": null,
    "message": "The API is busy. Please retry shortly."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429capacity.wait_timeoutTimpul de așteptare în coada API-ului a expirat; executarea cererii nu a început.
Ce trebuie făcut
Puneți cererile într-o coadă și respectați antetul de răspuns Retry-After.
Reguli de reîncercare
Așteaptă cel puțin numărul de secunde indicat în Retry-After. Dacă repeți o scriere, păstrează același corp al cererii și aceeași valoare Idempotency-Key.
Răspuns
{
  "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.exceededFrecvența cererilor depășește limita aplicabilă.
Ce trebuie făcut
Puneți cererile într-o coadă și respectați antetul de răspuns Retry-After.
Reguli de reîncercare
Așteaptă cel puțin numărul de secunde indicat în Retry-After. Dacă repeți o scriere, păstrează același corp al cererii și aceeași valoare Idempotency-Key.
Răspuns
{
  "error": {
    "code": "rate_limit.exceeded",
    "fields": null,
    "message": "The request rate limit has been exceeded."
  },
  "meta": {
    "request_id": "example-request"
  }
}

500internal.errorA apărut o eroare neașteptată a serviciului.
Ce trebuie făcut
Așteaptă puțin înainte să repeți cererea. Dacă eroarea 500 apare din nou, contactează asistența tehnică Shopently și include identificatorul cererii.
Reguli de reîncercare
Poți încerca din nou să citești datele după o scurtă pauză. Când repeți o scriere, folosește aceeași valoare Idempotency-Key și păstrează corpul cererii neschimbat.
Răspuns
{
  "error": {
    "code": "internal.error",
    "fields": null,
    "message": "An unexpected error occurred."
  },
  "meta": {
    "request_id": "example-request"
  }
}

502gateway.bad_responseGateway-ul nu a primit un răspuns API valid.
Ce trebuie făcut
Păstrați identificatorul cererii. Un răspuns nereușit nu dovedește că scrierea nu a fost aplicată.
Reguli de reîncercare
Folosiți reîncercări limitate, cu întârzieri progresive; repetați aceeași scriere logică folosind valoarea Idempotency-Key și datele originale.
Răspuns
{
  "error": {
    "code": "gateway.bad_response",
    "fields": null,
    "message": "The API gateway could not obtain a valid response."
  },
  "meta": {
    "request_id": "example-request"
  }
}

503service.unavailableAPI nu poate procesa temporar cererea.
Ce trebuie făcut
Dacă răspunsul include antetul Retry-After, așteaptă numărul de secunde indicat înainte să încerci din nou. Altfel, așteaptă puțin. Dacă eroarea persistă, contactează asistența tehnică Shopently și include identificatorul cererii.
Reguli de reîncercare
Încearcă din nou după timpul de așteptare descris mai sus. Când repeți o scriere, folosește aceeași valoare Idempotency-Key și păstrează corpul cererii neschimbat.
Răspuns
{
  "error": {
    "code": "service.unavailable",
    "fields": null,
    "message": "The API is temporarily unavailable."
  },
  "meta": {
    "request_id": "example-request"
  }
}

504gateway.timeoutGateway-ul a depășit timpul de așteptare pentru API.
Ce trebuie făcut
Dacă cererea modifica date, verifică dacă modificările au fost salvate în magazin. Lipsa unui răspuns nu înseamnă că scrierea a eșuat. Dacă eroarea persistă, contactează asistența tehnică Shopently și include identificatorul cererii.
Reguli de reîncercare
Poți încerca din nou să citești datele după o scurtă pauză. Când repeți o scriere, folosește aceeași valoare Idempotency-Key și păstrează corpul cererii neschimbat.
Răspuns
{
  "error": {
    "code": "gateway.timeout",
    "fields": null,
    "message": "The API gateway timed out."
  },
  "meta": {
    "request_id": "example-request"
  }
}