Skip to content

Chyby a limity

Tvar chyby

Každá chyba na úrovni requestu má rovnaký tvar:

json
{ "error": { "code": "invalid_credentials", "message": "Missing or invalid secret key." } }
kódHTTPčo s tým
invalid_credentials401chýbajúci alebo zlý secret_key
insecure_transport400request išiel cez HTTP; použi HTTPS
catalog_mode_conflict409e-shop je v režime feed
invalid_payload400telo nie je platný JSON alebo nie je zoznam objektov
batch_too_large400viac než 100 objektov v dávke
invalid_query400nepodporovaný parameter alebo facet
not_found404neznámy api_key, náhľad alebo generácia
rate_limited429prekročený limit, pozri Retry-After

Chyby jednotlivých objektov

Tieto nevracia request, ale položka v poli objects:

kódpríčina
invalid_identityprázdna alebo príliš dlhá identity
missing_fieldchýba povinné pole (type, title, web_url)
invalid_fieldzlý typ hodnoty — napr. cena ako string
invalid_attribute_namenázov atribútu s bodkou alebo zátvorkou
unsupported_typeiný typ než item / product
nested_unsupportedobjekt obsahuje nested
not_foundPATCH alebo DELETE na neexistujúci objekt

Rate limity

endpointlimit
GET /autocomplete/v21800 / min
GET /search, GET /v1/facet_value600 / min
/v1/content*120 / min

Limit sa počíta na api_key (pri zápisoch na secret_key), takže jeden integrátor neovplyvní ostatných. Veľká dávka stojí viac než malá — počíta sa aj veľkosť payloadu.

Pri prekročení príde 429 s hlavičkami Retry-After, X-RateLimit-Limit a X-RateLimit-Remaining.

Ako opakovať request

  • 429 — počkaj podľa Retry-After a skús znova.
  • 5xx — skús znova s exponenciálnym backoffom.
  • ostatné 4xx — opakovanie nepomôže, oprav request.

Opakovanie zápisovej dávky je bezpečné, lebo zapisuje podľa identity. Hotové to má PHP klient.

Dokumentácia Metty