# Товарные рекомендации
Проверка инициализации SDK
Проверяйте флаг инициализации SDK, прежде чем делать запросы к API. Если SDK не инициализирован, то нет гарантии, что did и seance корректные и попытка отправить запрос может привести к ошибкам. А массовая история может привести к DDOS-атаке.
Когда пользователь попадает на экран приложения, на котором должны быть блоки, необходимо выполнить запросы к API /recommend для каждого блока со всеми необходимыми параметрами текущего контекста:
- Если пользователь находится на карточке товара, передать ID текущего товара.
- Если пользователь находится в категории, передать ID текущей категории.
- Если пользователь находится на экране с пустыми результатами поиска, передать поисковый запрос.
- И т.д.: смотрите документацию с параметрами блоков рекомендаций.
Не забудьте в запросе указать параметр extended=1, чтобы получить не только идентификаторы товаров, но и их характеристики. В этом случае в ответе также вернется готовый HTML по шаблону из редактора блока рекомендаций -- в мобильном приложении его игнорируйте. Это для сайта.
Обязательно используйте обработчик ошибок, если с запросом к API что-то случится.
# Типичные проблемы
- В карточке товара для блока рекомендаций не передается ID текущего товара.
- На экране категории для блока рекомендаций не передается ID текущей категории.
- Большое количество блоков на экране (10-20) при том, что они спрятаны в разных вкладках и одновременно пользователь может увидеть не более трех блоков. Делайте поисковые запросы
- Большой лимит товаров в блоке. Не делайте в блоке рекомендаций более 30 товаров. Если вы хотите вывести в категории персонализированную выдачу на 100-200 товаров, это делается другим способом.
# Обработка ошибок
| Ошибка | Что делать |
|---|---|
| SDK не инициализирован | Не обращаться к API |
| Нет связи | Повторить попытку с интервалом в 5 секунд не более 3 раз |
| 4xx | Не делать повторные попытки |
| 500 | Повторить попытку с интервалом в 5 секунд не более 3 раз |
| 502 | Не делать повторные попытки |
| 504 | Не делать повторные попытки |