Перейти к содержимому

Ошибки и лимиты

{ "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 в каждом ответе показывает время обработки на нашей стороне — полезно, чтобы отличить сетевую задержку от серверной.