1. Для подключения сервиса БонусПлюс к вашему магазину необходимо установить приложение "БонусПлюс" из маркета приложений InSales. 

Ссылка для установки: https://www.insales.ru/collection/apps-loyalnost/product/bonusplyus

2. После установки, приложение появится в списке «Установленные приложения». 

3. После того, как приложение появилось в списке, вам необходимо перейти по ссылке в названии приложения (выделено в скриншоте ниже).

4. После нажатия на ссылку, откроется страница с входом в личный кабинет БонусПлюс. Если вы уже является пользователем сервиса, то вам нужно осуществить вход в приложение.

Если у вас нет аккаунта в БонусПлюс, то вы можете нажать кнопку «Зарегистрироваться»:

Появится окно регистрации:

После регистрации вам на почту придет письмо с логином и паролем для входа в личный кабинет. 

5. После входа в ЛК БонусПлюс перейдите в раздел «Интеграции -> InSales». 

5.1. Включите опцию «Автоматическая синхронизация товаров», благодаря ей сервис БонусПлюс автоматически раз в сутки, ночью, будет обновлять список номенклатуры из InSales. Это необходимо чтобы товар отображался в истории продаж в БонусПлюс и можно было настраивать товарные акции.

5.2 Выберете опцию «Статус проведения продажи в БонусПлюс» и нажмите кнопку Сохранить. После проведения заказа в InSales с одним из выбранных статусов будет проведена продажа в БонусПлюс, с советующим начислением и/или списанием бонусов. До этого момента бонусы будут находится в резерве. 

6. После входа в личный кабинет или регистрации нового аккаунта, интеграция с БонусПлюс завершена.

ВАЖНО: 

Во вкладке "внешние скидки" появится наша скидка. 

НЕ УДАЛЯЙТЕ ЕЕ, ИНАЧЕ ПРИЛОЖЕНИЕ БУДЕТ РАБОТАТЬ НЕ КОРРЕКТНО.

Так же, если вы или ваши программисты собираетесь общаться с API вашего магазина, то будьте осторожны, не удалите 2 объекта в webhooks, и 1 из external_discounts. 

Дополнительно: 

Если планируется просто посмотреть работу сервиса БонусПлюс с платформой InSales дальнейшие действия выполнять не обязательно, текущих настроек вполне достаточно. Но если есть задача провести полноценное тестирование с последующей эксплуатацией на постоянной основ, то необходимо выполнить дополнительную настройку по следующей инструкции:

1. В административной панели InSales перейдите в раздел «Настройки», подраздел «Оформление заказа» и добавьте дополнительное поле, пункт «Настройка полей заказа» кнопка «Добавить».

2. Дайте название нового поля «Название в бэк-офисе». Поставьте галочку напротив пунктов «Скрывать значение в бэк-офисе» и уберите галочки «Выводить значение для клиента» и «Заполняется клиентом». У пункта «Страница для вывода» задайте состояние «корзина (требует изменения шаблона)». Сохраните настройки.

3. После сохранения настроек, кликните по названию получившегося дополнительного поля, оно откроется для редактирования. 

В браузере, в строке ввода адреса скопируйте и отдельно сохраните цифровое значение, оно потребуется позже (выделено на скриншоте красным квадратом). 

4. Далее открываем раздел «внешние скидки». В данном разделе уже должна быть создана внешняя скидка с названием «БонусПлюс» (она создаётся автоматически при подключении интеграции). Нажимаем на неё.

В поле «Зависит от дополнительных полей заказа» нажимаем «Добавить». 

Нужно убедиться, что после нажатия на «Добавить» добавилось созданное нами на шаге 3 поле «RND». Если отображается что-то другое, то из списка нужно выбрать «RND». Сохраняем изменения.

5. Переходим в режим редактирования сайта

Далее наши скриншоты не будут соответствовать вашему шаблону, т.к. мы приводим пример на тестовом шаблоне InSales, а у вас будет ваш интернет-магазин.

6. Нужно открыть страницу с корзиной и навести курсор на виджет корзины, чтобы появились управляющие элементы. Нам нужна кнопка с шестёркой, нажмите на неё.

7. Перейдите в раздел «Код виджета». 

8. Далее необходимо переключиться на вкладку «JS» и вставить в самое начало блока скрипт (расположен ниже). 

Обратите внимание что в скрипте в кавычках нужно написать число с шага 3! Чтобы получилось, как на следующем скриншоте!!! 

Внимание! В не забудьте прописать в кавычках число из шага 3 (см. скриншот выше).

Скрипт для вставки в корзину: 

// БонусПлюс - скрипт для корзины - начало // Начало { const rndFieldId = "ЗДЕСЬ ЧИСЛО С ШАГА 3"; document.write(`

`.replaceAll("{id}", rndFieldId)); var form = document.getElementById('bpForm'); var hf = document.getElementById('bpHiddenField'); hf.value = new URLSearchParams(window.location.search).get('order[fields_values_attributes][' + rndFieldId + '][value]'); if(hf.value == '' || (hf.value > 0 && new Date().getTime() - hf.value > 15000)) { hf.value = new Date().getTime(); form.submit(); } } // БонусПлюс - скрипт для корзины - конец

Описание работы приложения.

1. Когда пользователь сайта, совершает свою первую покупку на вашем сайте, на котором установлено приложение БонусПлюс, его персональные данные передаются в БонусПлюс, где он создается как клиент программы лояльности. 

2. Далее, при совершении последующих покупок, может быть две ситуации:

а) Пользователь авторизирован в магазине

При совершении покупки авторизованным пользователем, приложение рассчитает скидки и бонусы за текущий заказ в соответствии с настройками программы лояльности в личном кабинете БонусПлюс и выведет данную информацию над кнопкой "оформить заказ".

б) Пользователь не авторизирован в магазине.

Скидки и бонусы не применяются к заказу для неавторизованных покупателей.

3. После того, как пользователь оформил заказ, в личном кабинете БонусПлюс, происходит резервирование списываемых за заказ бонусов на счету клиента. 

4. Продажа проведется в БонусПлюс после того, как в БЭК офисе статус заказа поменяется на «Оплачен» или «Доставлен», это настраивается в ЛК БонусПлюс в настройках интеграции InSales: 

Настройка полей формы регистрации. 

Если вы хотите, чтобы при регистрации клиент мог указать следующие поля: пол, день рождения, по рекомендации; и хотите, чтобы эти данные попали в БонусПлюс, то необходимо произвести следующие настройки.

Перейдите в раздел Настройки, поле Клиенты. 

Добавляйте поля, нажатием кнопки Добавить.

ВАЖНО: поля могут называться по-разному и иметь разное описание для клиента, НО идентификатор обязан быть как изображено на скриншотах ниже!

1. Поле дня рождения Идентификатор = birthday

2. Пол. Идентификатор = sex

3. По рекомендации (В это поле можно ввести номер телефона пригласившего человека, номер дисконтной карты или специальный код). Идентификатор = recommendation.