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