+7 (843) 212-62-17 - Казань
+7 (843) 212-62-17 - Казань

Прием данных осуществляется методом GET или POST. Внешняя система (1С или другая) вызывает REST-обработчик сайта и создает операции бонусов.

Маркетинг → Модуль накопительных баллов → Системные настройки → вкладка "Внешний обмен" → блок "Прием данных из 1С на сайт"

Блок приема данных во вкладке Внешний обмен
Адрес обработчика, поле идентификации пользователя и опции операций на сайте

Адрес и метод запроса

Адрес для направления запросов:

https://адрес_сайта/bitrix/tools/logictim.balls/rest/

Сайт определяет тип запроса автоматически. Примеры ниже описаны в виде GET-запросов.

Авторизация при отправке запросов

На сайте необходимо создать пользователя с доступом администратора и при каждом запросе передавать логин и пароль для авторизации на сайте:

  • логин передается в ключе access_login;
  • пароль передается в ключе access_password.

Идентификация пользователей

Для того чтобы можно было сопоставить пользователей сторонней системы с пользователями сайта, имеется настройка идентификации пользователей.

Устанавливается в настройках бонусной системы на вкладке "Внешний обмен".

В запросах в поле USER необходимо передать значение поля, по которому производится идентификация.

Идентификация возможна по:

  • ID пользователя;
  • внешнему ID пользователя;
  • логину;
  • E-mail;
  • номеру телефона регистрации (поле Битрикс "Номер телефона для регистрации");
  • 10 цифрам номера телефона - можно передать 10 последних цифр, модуль сам найдет пользователя с данным номером;
  • любому пользовательскому свойству строкового или числового типа (например, можно создать свойство "Номер карты" и производить идентификацию по нему).
Поле должно однозначно указывать на одного пользователя. Если найдено несколько - запрос завершится ошибкой.

Настройки в модуле

  • Адрес для приема запросов - готов к копированию.
  • Поле для идентификации пользователя - см. выше.
  • Отправлять уведомления при создании операции - письмо/SMS по типу операции, как при обычных начислениях на сайте.
  • Отключить создание начислений на сайте / Отключить создание списаний на сайте - если баланс ведет только внешняя система. На сайте операции правил и ручные начисления/списания перестанут создаваться; останутся только REST-запросы. Покупатель может видеть блок бонусов, но баланс не изменится без запроса извне.

Получить баланс пользователя

Параметры запроса:

Параметр Описание Тип данных Обязательный
action GET_BALLANCE Фиксированное значение Да
USER Пользователь, чей баланс получаем* строка или число Да
access_login Логин для авторизации на сайте строка Да
access_password Пароль для авторизации на сайте строка Да

* Значение поля, выбранного в настройке идентификации пользователей.

Ответ:

Успешный ответ Ответ с ошибкой
RESULT : SUCCESS
USER_ID : ID пользователя
USER_BALLANCE : текущий баланс пользователя
RESULT : ERROR
ERROR : список ошибок

Начислить бонусы

Параметры запроса:

Параметр Описание Тип данных Обязательный
action ADD_BONUS Фиксированное значение Да
USER Пользователь, которому начисляем бонус* строка или число Да
operation_type Тип операции (за что начисление) Варианты:
ADD_FROM_ORDER - начисление за заказ
USER_BALLANCE_CHANGE - изменение баланса пользователя
BACK_FROM_CANCEL - возврат баллов за отмененный заказ
BACK_FROM_DELETTE - возврат баллов за удаленный заказ
ADD_FROM_REGISTER - начисление при регистрации
ADD_FROM_BIRTHDAY - начисление на день рождения
ADD_FROM_REPOST - начисление за репост
ADD_FROM_REVIEW - начисление за отзыв
ADD_FROM_LINK - начисление за переход по ссылке
ADD_FROM_REFERAL - начисление за заказ реферала
ADD_FROM_SUBSCRIBE - начисление за подписку
Нет.
По умолчанию: USER_BALLANCE_CHANGE
operation_name Наименование операции строка Нет.
По умолчанию будет указано по типу операции
operation_sum Сумма начисления число Да
deactive_date Дата сгорания начисляемых бонусов дата в формате 01.01.2024 Нет.
По умолчанию 01.01.3000
external_id Внешний ID операции (например, ID транзакции в 1С) для идентификации операции. Если на сайте уже создана операция с данным кодом, то повторно она создана не будет строка или число Нет.
По умолчанию REST_API
access_login Логин для авторизации на сайте строка Да
access_password Пароль для авторизации на сайте строка Да

* Значение поля, выбранного в настройке идентификации пользователей.

Ответ:

Успешный ответ Ответ с ошибкой
RESULT : SUCCESS
USER_ID : ID пользователя
OPERATION_ID : ID созданной операции на сайте
RESULT : ERROR
ERROR : список ошибок

Списать бонусы

Параметры запроса:

Параметр Описание Тип данных Обязательный
action MINUS_BONUS Фиксированное значение Да
USER Пользователь, которому списываем бонусы* строка или число Да
operation_type Тип операции (за что списание) Варианты:
MINUS_FROM_ORDER - списание по заказу
USER_BALLANCE_CHANGE - изменение баланса пользователя
DEACIVATE_FROM_DATE - деактивация просроченных бонусов
EXIT_BONUS - выплата бонусов
MINUS_FROM_ORDER_CANCEL - отмена бонусов за заказ
Нет.
По умолчанию: USER_BALLANCE_CHANGE
operation_name Наименование операции строка Нет.
По умолчанию будет указано по типу операции
operation_sum Сумма списания число Да
external_id Внешний ID операции (например, ID транзакции в 1С) для идентификации операции. Если на сайте уже создана операция с данным кодом, то повторно она создана не будет строка или число Нет.
По умолчанию REST_API
access_login Логин для авторизации на сайте строка Да
access_password Пароль для авторизации на сайте строка Да

* Значение поля, выбранного в настройке идентификации пользователей.

Ответ:

Успешный ответ Ответ с ошибкой
RESULT : SUCCESS
USER_ID : ID пользователя
OPERATION_ID : ID созданной операции на сайте
RESULT : ERROR
ERROR : список ошибок

Обновить баланс пользователя

Параметры запроса:

Параметр Описание Тип данных Обязательный
action UPDATE_BALLANCE Фиксированное значение Да
USER Пользователь, чей баланс обновляем* строка или число Да
new_ballance Новый баланс пользователя, который будет установлен число Да
operation_name Наименование операции строка Нет.
По умолчанию: "Обновление баланса"
deactive_date Дата сгорания начисляемых бонусов, если новый баланс больше начального и бонусы доначисляются дата в формате 01.01.2024 Нет.
По умолчанию 01.01.3000
external_id Внешний ID операции (например, ID транзакции в 1С) для идентификации операции. Если на сайте уже создана операция с данным кодом, то повторно она создана не будет строка или число Нет.
По умолчанию REST_API
access_login Логин для авторизации на сайте строка Да
access_password Пароль для авторизации на сайте строка Да

* Значение поля, выбранного в настройке идентификации пользователей.

Ответ:

Успешный ответ Ответ с ошибкой
RESULT : SUCCESS
USER_ID : ID пользователя
USER_BALLANCE : установленный баланс
OPERATION_ID : ID созданной операции на сайте
(если новый и начальный баланс одинаковы, операция не создается и параметр в ответе отсутствует)
RESULT : ERROR
ERRORS : список ошибок

Пример запроса начисления

https://сайт/bitrix/tools/logictim.balls/rest/?action=ADD_BONUS&USER=123&operation_sum=100&external_id=1C-456&access_login=...&access_password=...

См. также: как устроен обмен, передача данных в 1С.