Каталог товаров на сайте
Заявки уходят в CRM. Теперь обратное направление: данные из Битрикса должны попасть на сайт.
В Битрикс24 есть свой каталог — раздел «Товары и Склады». Если товары, цены и остатки ведутся там, сайту незачем хранить второй список: он берёт данные из каталога, и менеджеру не приходится обновлять цены в двух местах.
Добавьте вебхуку право на каталог
В первом уроке мы отметили вебхуку только доступ к CRM — для заявок этого хватало. Для товаров нужно ещё одно право.
Откройте настройки вебхука в Битриксе, добавьте скоуп Торговый каталог (catalog) и сохраните. Если товары всё равно не приходят, проверьте, что у пользователя, от имени которого создан вебхук, есть доступ к каталогу.
Права расширяют под конкретную задачу, а не заранее на всё: чем меньше открыто, тем меньше можно сделать, если адрес вебхука куда-то попадёт.
Данные забирает сервер, а не страница
Страница каталога не обращается в Битрикс. Данные забирает сервер, хранит у себя копию, а посетитель видит уже готовые карточки. Так ключ не попадает в браузер, а витрина открывается быстро.
Как часто обновлять копию, разберём в следующем уроке. Сейчас достаточно получить каталог один раз.
Три места, где обычно спотыкаются
Цены лежат отдельно. В Битриксе цена хранится не внутри товара, а отдельно и запрашивается своим методом. Поэтому частый первый результат — товары на месте, а цены нулевые. Если увидели такое, скажите прямо: цены не подтянулись, забери их отдельно.
Картинки. Их нужно скачать и хранить рядом с сайтом. Если карточки ссылаются на изображения внутри Битрикса, они могут не открыться у посетителя, который в вашем портале не работает.
Вариации. Если у товара есть размеры или цвета, в каталоге это отдельные записи, привязанные к основному товару. Их забирают отдельно, иначе на сайте окажется один товар без выбора.
Обновление без дублей
Каждый раз, когда сервер забирает каталог, он должен обновлять существующие карточки, а не создавать рядом новые. Узнают товар по идентификатору из Битрикса — не по названию, потому что название меняют.
Проверьте результат
- Товары появились на сайте, цены не нулевые.
- Картинки открываются в обычном браузере, а не только у вас.
- У товара с размерами или цветами доступен выбор.
- Запустите получение каталога ещё раз — количество товаров не должно вырасти.
- Скройте товар в Битриксе и обновите каталог — с витрины он должен пропасть.
Четвёртый пункт проверяют обязательно. Задвоение заметно не сразу: при первом обновлении всё выглядит правильно, а через неделю на сайте вдвое больше товаров, чем в Битриксе.
Итог
- Для каталога вебхуку нужно отдельное право.
- Данные забирает сервер и хранит копию, страница в Битрикс не ходит.
- Цены и вариации хранятся отдельно от товаров и запрашиваются дополнительно.
- Картинки скачивают к себе, иначе они не откроются у посетителя.
- Товары сопоставляют по идентификатору из Битрикса, иначе каталог задваивается.