Ошибки и лимиты
Формат ошибки
Заголовок раздела «Формат ошибки»{ "status": 400, "message": "bad request" }message — общее описание без деталей. Ищите причину в параметрах запроса по таблице ниже.
Коды ответов
Заголовок раздела «Коды ответов»| HTTP | Когда | Что делать |
|---|---|---|
200 |
Успех. | — |
400 |
Неверный параметр: невалидный JSON в params, min/max числом вместо строки, отрицательные лимиты в completionSettings, пустой id в /similar. |
Проверьте параметры; в API Reference есть корректные примеры. |
402 |
Тариф проекта закончился более 14 дней назад. Тело — {"status":400,…}. |
Продлите тариф в личном кабинете. |
404 |
Проект с таким UUID не найден или ещё не проиндексирован (тело — {"status":400,…}); товар не найден в find-by-id; виджет не найден; функция не включена (AI-резюме). |
Проверьте UUID и что фид загружен. |
422 |
Товар не найден в /similar (неизвестный id). |
Проверьте, что товар есть в фиде. |
429 |
Превышен лимит запросов (тело пустое). | Повторите с задержкой; не отправляйте запрос на каждый символ без debounce. |
500 |
Внутренняя ошибка. | Повторите через 1–2 с; если повторяется — напишите в поддержку с временем и URL запроса. |
| Что | Лимит |
|---|---|
| Время ответа поиска | 25 с, затем 200 с пустой выдачей |
limit в рекомендациях |
100 |
Глубина выдачи (hits) |
10 000 товаров |
| Запросов в секунду | По умолчанию без ограничений; для проекта может быть задан лимит на /search с одного IP |
| API индексации | 250 товаров в запросе |
| AI-резюме | 40 товаров в запросе, тело до 1 МБ |
Рекомендации
Заголовок раздела «Рекомендации»- Таймауты: подсказки — 1–2 с, поиск — 3 с, рекомендации — 2 с. Не блокируйте рендер страницы рекомендациями.
- Повторы: только для
5xxи сетевых ошибок, с экспоненциальной задержкой, не более 2–3 раз. - Кэш: ответы рекомендаций можно кэшировать на стороне сервера на 1–5 минут; поиск — не дольше нескольких минут.
- Отмена: при вводе отменяйте предыдущий запрос подсказок (
AbortController). - Заголовок
Server-Timingв каждом ответе показывает время обработки на нашей стороне — полезно, чтобы отличить сетевую задержку от серверной.