Предоставление информации о товарах
На стороне Сбера реализовано централизованное хранилище товаров, предоставляемых Мерчантами - Мегакаталог. С помощью него обеспечивается быстрый поиск и подбор релевантных товаров.
Ниже предложены доступные варианты передачи каталога товаров.
Загрузка в S3 с актуализацией по Kafka
Подходит для товаров с частым изменением цен и остатков, для которых важна оперативная актуализация цены.
Мерчант передает свой каталог в хранилище S3. При любом изменении цены или остатка Мерчант отправляет событие в Kafka.
Преимущества
- Максимальная производительность: осуществление векторного поиска в Мегакаталоге.
- Постоянная поддержка актуальности данных: изменения остатков оперативно попадают в Мегакаталог, что исключает покупку несуществующего товара.
- Снижение нагрузки на Мерчанта: API Мерчанта вызывается только в момент оформления заказа и оплаты, а не при каждом поисковом запросе пользователя.
Недостатки
Техническая сложность: поддержка и настройка процессов обработки событий.
Загрузка в S3 с периодической актуализацией
Подходит для стабильного ассортимента товаров. Например, электроника или одежда.
Мерчант также передает свой каталог в хранилище S3. Актуализация данных в файле хранилища осуществляется периодически.
Преимущества
- Простота: умение выгружать файлы в S3 по расписанию.
- Стабильность поиска: поиск товаров осуществляется через Мегакаталог.
Недостатки
- Избыточность данных: при обновлении данных по одному товару необходимо обновлять весь файл целиком.
- Нагрузка на метод актуализации: перед оформлением заказа необходимо вызывать проверку цены и остатка во избежание продажи несуществующих товаров.
Загрузка товаров через B2B-кабинет
Подходит для оффлайн-магазинов и Мерчантов с ограниченным набором товаров.
Загрузка товаров через B2B-кабинет осуществляется с помощью небольших файлов или вручную.
Преимущества
- Простота: интуитивно понятный интерфейс B2B-кабинета.
- Наглядность: все изменения вносятся самостоятельно и контролируются Мерчантом.
Недостатки
Сложность при загрузке большого количества данных: на первом этапе нужно потратить время для добавления товаров.
Прямая интеграция
Подходит как временное решение для быстрого запуска.
Мерчант реализует ручки поиска и актуализации товаров на своей стороне и предоставляет их для использования.
Преимущества
Получение «живых» данных: ответ Мерчанта содержит актуальную информацию на момент обращения.
Недостатки
- Низкая скорость поиска: ограничения, связанные с работой API.
- Риск падения Мерчанта: если API тормозит, то пользователь не сможет найти товар и, соответственно, его купить.
- Зависимость от доработки Мерчанта: в случае отсутствия собственного API, потребуется выделение ресурсов на разработку.