Интеграция с iiko
Получите быструю помощь по покупке, оплате, установке, настройке, продлению и другим вопросам, оставив заявку
💡 Нужна консультация и помощь по работе?
Внимание! Переход на новый формат адреса в версии 6.0.0 для ранее работавших с более ранними версиями: https://g-rain-design.ru/blog/posts/iikotransport-new-address-format/
1. Установка
Установите модуль стандартными средствами 1С-Битрикс.
2. Учетные данные iiko api
Перейдите в настройки модуля: Настройки > Настройки модулей > Интеграция с iiko. На вкладке «Авторизация» заполните поля «Используемый api», «Логин api», «пароль api (только для iikoDelivery)». Нажмите кнопку «Сохранить». Если учетные данные iiko api введены верно, после сохранения появятся остальные вкладки, в противном случае будет выдано сообщение об ошибке.
Для получение учетных данных api, обратитесь к обслуживающей организации.
5. Создание свойств заказа, служб доставки и платежных системПерейдите в администратвной части Настройки > Настройки продукта > Список мастеров и запустите мастер «Настройка магазина для модуля «Интеграция с iiko» (grain:iiko.saleprops.create), при этом выберите существующий тип плательщика (используйте этот вариант, если вы уже запускали мастер, а, сейчас например, создаете новый сайт в системе) либо создайте новый (рекомендуется при первой настройке). При создании нового типа плательщика, также будут созданы (при соответствующих установленных опциях, которые установлены по умолчанию) службы доставки и платежные системы.
При создании свойств заказа, их символьные коды будут автоматически прописаны в настройках модуля на вкладке «Интернет-магазин». Не рекомендуется создавать собственные свойства заказа, или, например, оставлять свойства заказа от демо-магазина 1С-Битрикс или другого решения, т.к. их перечень и типы могут не соответствовать необходимым полям для отправки заказа в iiko. Кроме того, указание символьных кодов свойств заказа в настройках модуля является обязательным, а мастер делает это автоматически.
4. Создание инфоблоковПерейдите в административной части Контент > Инфоблоки и создайте следующие инфоблоки (а при необходимости также типы инфоблоков) для:
- Инфоблок для хранения ресторанов. Данный инфоблок может быть системным, особенно если ресторан только один и его данные могут не выводится в публичной части, но они необходимы для синхронизации меню.
- Инфоблок(и) для хранения меню для каждого ресторана. Настройте права доступа и автоматическое создание картинки анонса из детальной картинки.
Необходимые свойства инфоблоков будут созданы автоматически после настройки синхронизации.
5. Настройка синхронизацииВнимание: для нормальной работы синхронизации настоятельно рекомендуется перевести агенты битрикс на crontab. В противном случае возможны небольшие периодические подвисания сайта в процессе эксплуатации.
Перейдите в настройки модуля: Настройки > Настройки модулей > Интеграция с iiko и выполните следующие действия:
- На вкладке «Синхронизация ресторанов» выберите созданный инфоблок для хранения ресторанов. Нажмите кнопку «Сохранить». После обновления страницы, заново перейдите на вкладку «Синхронизация ресторанов» и в блоке синхронизации нажмите «Запланировать сейчас». Дождитесь выполнения синхронизации и обновите страницу (если агенты выполняются не на crontab, а на хитах, необходимо обновить страницу сразу же после запланированной синхронизации).
- На вкладке «Синхронизация блюд» выберите созданный(е) инфоблок(и) для хранения меню и тип(ы) цен (а при необходимости создайте тип(ы) цен на странице административной части Магазин > Настройки > Цены > Типы цен). Нажмите кнопку «Сохранить». После обновления страницы, заново перейдите на вкладку «Синхронизация блюд» и в блоке синхронизации нажмите «Запланировать сейчас». Дождитесь выполнения синхронизации и обновите страницу.
- Перейдите на вкладку «Адреса и зоны» и при необходимости запланируйте синхронизацию. Если у вас несколько ресторанов (организаций), необходимо провести синхронизацию несколько раз, т.к. за один запуск агента обрабатывается только один ресторан.
Для получения подсказок по адресам доставки в процедуре заказа используется сервис Dadata (dadata.ru), необходимо зарегистрироваться в данном сервисе, получить API-ключ, и прописать его в настройках модуля на вкладке "Адреса и зоны" (опция "API-ключ сервиса Dadata для поиска по адресу"). Сервис предоставляет до 10 000 подсказок адреса в день бесплатно.
7. Настройки выгрузки заказов iiko
Перейдите в настройки модуля: Настройки > Настройки модулей > Интеграция с iiko. На вкладке «Интернет-магазин» выполните следующие действия:
- Установите галочку «Отправлять заказы в iiko».
- Выберите тип плательщика.
- Выберите платежные системы для онлайн оплаты. При выборе данных платежных систем при заказе, заказ будет отправляться в iiko только после совершения оплаты.
- Выберите платежные системы (типы оплат) iiko, используемые для для оплаты на месте и для онлайн оплаты (а при их отсутствии запросите их создание у обслуживающей организации). Тип оплат должен иметь возможность выгрузки как уже совершенный.
- Выберите службы доставки битрикс, используемые для доставки и самовывоза
- Если вы планируете задавать скидки в системе 1С-Битрикс, настройте выгрузки скидок в iiko одним из двух способов: как скидку со свободной суммой или как совершенный платеж в заранее созданной платежной системе в iiko (для создания такой платежной системы или скидки со свободной суммой в системе iiko, обратитесь к обслуживающей организации)
Перейдите в публичную часть сайта и создайте необходимые страницы и разместите компоненты. Все компоненты модуля находятся в дереве компонентов визуального редактора в разделе «Интеграция с iiko». Если данный раздел не появился, нажмите Компоненты > Обновить в над деревом компонентов. Для функционирования модуля необходимы 2 страницы:
- Создайте страницу для размещения меню и разместите на ней компонент «Список блюд» («grain:iiko.section»). Выберите инфоблок с блюдами. В параметре «Количество элементов на странице» укажите значение 1000. Данный компонент отнаследован от стандартного компонента «Элементы раздела» («bitrix:catalog.section») и имеет аналогичные настройки.
- Создайте страницу оформления заказа и разместите на ней компонент «Оформление заказа» («grain:iiko.order»). В параметрах компонента укажите путь к странице оплаты - странице с размещенным компонентом «Подключение платежной системы» («bitrix:sale.order.payment»).
Если в вашем шаблоне сайта отсутствует библиотека bootstrap не менее 4 версии, необходимо в параметрах компонентов установить галочку «Подключить библиотеку bootstrap (из ядра системы)»
9. Настройка синхронизации статусов заказов
Если вы хотите настроить обратную синхронизацию статусов заказов из iiko, выполните следующие действия:
- Перейдите в административной части 1С-Битрикс Магазин > Настройки > Статусы и создайте статусы заказа, соответствующие статусам в iiko: Unconfirmed, WaitCooking, ReadyForCooking, CookingStarted, CookingCompleted, Waiting, OnWay, Delivered, ClosedCancelled, Cancelled
- Перейдите в настройках модуля на вкладку «Интернет-магазин» и в блоке «Синхронизация статусов» нажмите кнопку «Установить вебхук» (при этом если в блоке отображается другой установленный вебхук, предварительно убедитесь, что он не нужен, т.к. после нажатия кнопки он будет удален), после чего установите соответствие созданных статусов статусам в iiko
Произведите тестирование настроенной системы. Логи синхронизаций и отправки заказов находятся в разделе административной части Настройки > Инструменты > Журнал событий.
На время тестирования можно заблокировать отправку заказов в iiko, для этого установите константу (например, в файле /bitrix/php_interface/init.php):
define("GRAIN_IIKO_DO_NOT_POST_ORDERS",true);Для запрета отправки заказов только для текущего сеанса, можно установить следующую переменную (например, через раздел административной части Настройки > Инструменты > Командная PHP-строка):
$_SESSION["grain_iiko_do_not_post_orders"] = true;Справка по решению | Контакты