ИНФОРМАЦИЯ ДЛЯ WEB РАЗРАБОТЧИКОВ.

PointLoyalty REST API следует подходу к архитектуре сетевых протоколов REST (Representational State Transfer).
PointLoyalty Manager определяет следующие REST ресурсы:
Действия пользователей (пользовательские транзакции).
Корректировки бонусов.
Начисленные бонусы.
Пользователи и история пользовательских операций.
Ваши программы и предложения лояльности.
Поддержка аккаунтов Пользовательской Консоли.
Сервисы для полного удаления Ваших данных.
Набор утилит.
Демонстрационный ресурс.
Все HTTP методы - GET, POST, PUT, DELETE могут быть перекрыты параметром !method например &!method=GET.
PointLoyalty поддерживает XML и JSON форматы данных. Вид возвращаемого результата определяется параметром !output_type со следующими допустимыми значениями: JSON и XML. Например, чтобы получить результаты в XML виде укажите !output_type=XML. По умолчанию результаты возвращаются в виде JSON объектов.
Обратите внимание что некоторые методы не возвращают результатов.
В случае ошибок на стороне сервера возвращается HTTP status code 500 и описание ошибки.

REST API ПОДРОБНО

Actions

Основной REST ресурс при работе с системой. Обработка пользовательских операций (транзакций). При передаче данных в систему автоматически производится начисление бонусов.
URL: http://www.pointloyalty.com/wl/rest/actions
пример использования »
Метод: POST
Занесение в систему данных по пользовательским операциям (транзакциям). Обратите внимание что одна пользовательская операция может привести к начислению нескольких бонусов в разных предложениях.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • data-id - string. Опциональный. Клиентский идентификатор передаваемого пакета пользовательских транзакций. Позже, Вы можете удалить транзакции из системы по данному идентификатору.
  • actions - массив или один элемент <action-bean>. Пользовательские операции (транзакции) для обработки.
Возвращает: массив <bonus-full-bean>. Список начисленных бонусов. Может быть пустой если бонусы не начислены ни для одной операции.
Метод: DELETE
Удаление пакета транзакций из системы.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • data-id - string. Клиентский идентификатор пакета для удаления.

Bonus adjustments

Набор изменений начисленных бонусов (например, информация о погашении бонусов) в PointLoyalty Manager.
Используется, если Вы планируете оповещать пользователей о начисленных бонусах, с помощью предоставляемой нами консоли.
URL: http://www.pointloyalty.com/wl/rest/adjustments
Метод: GET
Получение информации о корректировках бонусов за интервал времени для определенного пользователя.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • from - number(datetime). Начало интервала. Опциональный параметр. Если не задан, выбирается все до конца интервала.
  • to - number(datetime). Конец интервала. Опциональный параметр. Если не задан, выбирается все с начала интервала.
  • member-id - string. Идентификатор пользователя.
Возвращает: массив или один элемент типа <bonus-adjustment-bean>. Может быть пустой.
Метод: POST
Занесение в систему данных по корректировкам бонусов. Все корректировки должны относиться к одной и той же программе и предложения лояльности.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • data-id - string. Опциональный. Клиентский идентификатор корректирующего пакета.
  • bonus-adjustments - массив или один элемент типа <bonus-adjustment-bean>. Корректировки бонусов для обработки.
Метод: DELETE
Удаление данных о корректировках бонусов.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • data-id - string. Клиентский идентификатор коррекционного пакета для удаления.

Bonuses

Набор пользовательских бонусов, начисленных в PointLoyalty Manager.
URL: http://www.pointloyalty.com/wl/rest/bonuses
Метод: GET
Получение данных о рассчитанных бонусах.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • from - number(datetime). Начало интервала. Опциональный параметр. Если не задан, выбирается все до конца интервала.
  • to - number(datetime). Конец интервала. Опциональный параметр. Если не задан, выбирается все от начала интервала.
  • member-id - string. Идентификатор пользователя.
Возвращает: массив или один элемент <bonus-full-bean>. Список начисленных бонусов. Может быть пустой если бонусы не начислены.
Метод: DELETE
Удаление рассчитанных бонусов из системы.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • bonus-ids - массив значений или один элемент типа string. Идентификаторы бонусов для удаления.

Members

Операции с данными пользователей, принимающих участие в программах лояльности.
Добавление пользовательских данных в систему используется, если Вы планируете создание программ и предложений лояльности, учитывающих пользовательские данные.
URL: http://www.pointloyalty.com/wl/rest/members
Метод: GET
Получение списка пользовательских операций, зарегистрированных в системе за указанный период времени и корректировок бонусов произведенных владельцем программы лояльности.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • from - number(datetime). Начало интервала. Опциональный параметр. Если не задан, выбирается все до конца интервала.
  • to - number(datetime). Конец интервала. Опциональный параметр. Если не задан, выбирается все с начала интервала.
  • member-id - string. Идентификатор пользователя.
Возвращает: массив или один элемент типа <member-activity-bean>. Пользовательские операции и корректировки бонусов, зарегистрированные в системе за указанный временной интервал. Может быть пустой.
Метод: POST
Занесение данных о Ваших пользователях в систему.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • members - массив или один элемент типа <member-bean>. Список добавляемых пользователей.
Метод: DELETE
Удаление данных о Ваших пользователях из системы.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • member-ids - массив значений или один элемент типа string. Идентификаторы пользователей для удаления.

Offers

Набор действующих предложений лояльности.
URL: http://www.pointloyalty.com/wl/rest/offers
Метод: GET
Получение списка активных на текущий момент времени предложений лояльности.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
Возвращает: массив или один элемент типа <offers-activity-bean>. Набор действующих предложений лояльности. Может быть пустой.
наверх

Member accounts

Создание и удаление аккаунтов Ваших клиентов в Пользовательской Консоли.
URL: http://www.pointloyalty.com/wl/rest/memberaccounts
Метод: POST
Создание аккаунтов в Пользовательской Консоли для клиентов, данные по которым уже были переданы в систему (см. Members).
Параметр(ы):
Метод: DELETE
Удаление зарегистрированных пользовательских аккаунтов.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • personal-ids - массив значений или один элемент типа string. Персональные идентификаторы пользователей для удаления.
наверх

Delete all

Полное удаление данных различных типов.
URL: http://www.pointloyalty.com/wl/rest/deleteall
Метод: DELETE
Обратите внимание что при удалении участников программ, интервал не учитывается. В остальных случаях, если интервал не задан - полностью удаляются все данные этого типа.
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • datatype - string. Тип данных для удаления: "actions", "bonus-adjustments", "bonuses", "members", "member-accounts".
  • from - number(datetime). Начало интервала. Опциональный параметр. Если не задан, удаляется все до конца интервала.
  • to - number(datetime). Конец интервала. Опциональный параметр. Если не задан, удаляется все с начала интервала.
наверх

Utils

Набор утилитных методов.
URL: http://www.pointloyalty.com/wl/rest/utils
Метод: GET
  • Если utils-method равен "check-client-account" - проверяется зарегистрирован ли владелец программ в системе PointLoyalty Manager.
    Значимые аргументы login - аккаунт владельца программ.
  • Если utils-method равен "check-member-account" - проверяется зарегистрирован ли участник программ в Member Console.
    Значимые аргументы login - аккаунт участника программы.
  • Если utils-method равен "check-members-template" - проверяется зарегистрированы ли клиентские атрибуты в системе.
    Значимые аргументы - login - аккаунт владельца программы, attributes - клиентские атрибуты.
  • Если utils-method равен "check-attributes-template" - проверяется зарегистрированы ли атрибуты операции в системе.
    Значимые аргументы - login - аккаунт владельца программы, action - клиентская операция, attributes - атрибуты операции.
Параметр(ы):
  • utils-method - string. Название вызываемой утилиты.
    Допустимые значения: "check-client-account", "check-member-account", "check-members-template", "check-attributes-template".
  • login - <login-bean>. Аккаунт для входа в систему или проверки.
  • action - string. Название клиентской операции.
  • attributes - string или массив string. Названия атрибутов.
Возвращает: элемент типа <value-bean>. Смотри значение поля типа boolean.
наверх

Demo

Демонстрационный ресурс для тестирования интеграции.
URL: http://www.pointloyalty.com/wl/rest/demo
Метод: GET
Если не передается параметр actions метод возвращает активные предложения лояльности. Если параметр передается - рассчитывает бонусы для переданных пользовательских операций в соответствии со следующим предложением лояльности:
"Всем пользователям, совершившим операцию buy со значением атрибута операции sum больше 1000 назначается бонус равный 5% от значения поля sum".
Параметр(ы):
  • login - <login-bean>. Ваш аккаунт в системе PointLoyalty Manager.
  • actions - массив <action-bean>. Набор пользовательских операций. Опциональный.
Возвращает: массив или один элемент типа <bonus-full-bean>. Список начисленных бонусов. Может быть пустой.
наверх

 

ТИПЫ ОБЪЕКТОВ

<login-bean>

Данные для входа в систему.
name string Имя клиента системы PointLoyalty Manager.
password string Клиентский пароль.
locale string Указание языка клиента. Поддерживаются значения 'EN' и 'RU'. По умолчанию - 'EN'.
timeZoneId string Часовой пояс. Строковое представление как в языке Java.

<action-bean>

Информация о пользовательской операции (транзакции).
values <value-bean> Набор атрибутов операции пользователя(транзакции).
memberId string Идентификатор пользователя.
name string Название пользовательской операции.
actionDatetime number(datetime) Время совершения операции. По умолчанию - текущее время в Вашем часовом поясе.
recNum number Номер записи в массиве операций. Опциональный.

<bonus-adjustment-bean>

Информация о корректировке бонусов.
programName string Название программы лояльности.
offerName string Название предложения.
memberId number Идентификатор пользователя.
adjustmentDatetime number(datetime) Дата корректировки.
quantity number Значение вносимого изменения.
description string Текстовое описание - комментарий.

<bonus-full-bean>

Информация о рассчитанном бонусе.
programName string Название программы лояльности.
offerName string Название предложения.
memberId number Идентификатор пользователя.
actionName string Название пользовательской операции.
actionDatetime number(datetime) Дата операции.
bonus string Значение начисленного бонуса.
calcDatetime number(datetime) Дата начисления.
recNum number Номер записи в пакете.
bonusInternalId number Идентификатор бонуса в системе PointLoyalty Manager.

<member-bean>

Информация о пользователе. Дополнительные поля "email", "password" и "personalId" опциональны и служат для возможности присоединения Ваших клиентов к Пользовательской Консоли.
memberId string Идентификатор пользователя. (Смотри также action-bean).
email string Электронный адрес пользователя.
password number Пароль пользователя.
personalId string Персональный идентификатор пользователя.
values <value-bean> Набор клиентских данных (атрибутов пользователя).

<member-activity-bean>

Историческая информация о пользовательской операции или корректировке бонусов.
values <value-bean> Набор атрибутов операции пользователя. Пустой для корректировки.
memberId string Идентификатор пользователя.
actionName string Название пользовательской операции.
actionDatetime number(datetime) Время совершения операции.
bonus string Суммарное значение бонуса.
bonusesHolder <bonus-full-bean> Список всех бонусов начисленных в результате пользовательской операции.
adjustmentDescription string Описание корректировки. Пустое - для пользовательской операции.
isAdjustment boolean Флаг - является ли элемент пользовательской операцией или корректировкой.

<value-bean>

Именованное типизированное значение. Только одно поле значения должно быть заполнено.
name string Название поля.
stringValue string Значение строкового типа.
numericValue number Вещественное число.
dateValue number(date) Дата.
timeValue number(time) Время.
datetimeValue number(datetime) Дата и время.
longValue number Целое число.
boolValue boolean Логическое значение (true/false).

<member-account-bean>

Данные для создания аккаунта клиента в Пользовательской Консоли.
name string Уникальное имя для входа в систему.
password string Пароль для входа в систему. (Смотри также member-bean).
email string Адрес электронной почты пользователя. (Смотри также member-bean).
personalId string Персональный идентификатор клиента. (Смотри также member-bean).
firstName string Имя пользователя (для обращения).
lastName string Фамилия пользователя (для обращения).
timeZoneId string Часовой пояс. Строковое представление как в языке Java.
наверх

Значения типа дата и время:

number(date) Значение — дата, округленное до дней (часы, минуты, секунды не учитываются). Представлено в виде целого числа в миллисекундах с 1 января 1970 года (как в языке Java).
number(datetime) Значение — дата и время, округленное до секунд. Представлено в виде целого числа в миллисекундах с 1 января 1970 года (как в языке Java).
number(time) Значение — время. Дни, месяцы и т.д. - не учитываются. Представлено в виде целого числа в миллисекундах с 1 января 1970 года (как в языке Java).
наверх

Строковые значения и числа:

string Длина ограничена 128 символами, кроме полей описаний (для них ограничение - 2000 символов).
number Максимальное значение для number - 1000000000000. Для вещественных значений, после запятой - не более 5 знаков.
наверх