Методы
- /api/v2/points/add/ - начисление бонусных баллов
- /api/v2/points/calc/ - расчет допустимого
/api/v2/points/add/ - начисление бонусных баллов
Назначение метода
Метод служит для начисления пользователю бонусных баллов.
Параметры запроса
Параметр обязательный? |
Имя параметра |
Описание параметра |
да |
user_phone или email или origin_user_id |
Идентификатор клиента. Более подробно см. здесь. |
да |
token |
См. здесь |
да |
store_department_id |
См. здесь |
да |
points |
Количество бонусных баллов, которые необходимо начислить данному пользователю |
нет |
comment |
Комментарий к начислению бонусных баллов. Будет отображаться в popup’е пользователя во вкладке со списком действий. Комментарий должен иметь следующий формат: “Начисление бонусных баллов за XXX”. |
нет |
order_num |
Уникальный идентификатор запроса. В случае, если запрос с таким идентификатором уже был обработан сервер SailPlay вернет ошибку. Использоуание этого параемтра позволит избежать повторного начисления баллов в условиях нестабильного соединения с интернет и упростит сопоставление действий в вашей системе и системе SailPlay.”. |
Ответ сервера
Название параметра |
Описание параметра |
status |
|
points |
Параметр из запроса |
public_key |
Ключ, для подстановки в JS-код. |
receipt_date |
Дата и время начисления бонусных баллов |
Пример запроса
http://sailplay.ru/api/v2/points/add/?store_department_id=111&token=da32f321d2516c8e56142f2430bea4f72a80a6ae&points=1170&comment=Начисление%20бонусных%20баллов%20за%20комментарий%20на%20сайте&origin_user_id=dbsajfbjk12bjb12112321&order_num=239
/api/v2/points/calc/ - расчет допустимого количества начисляемых и списываемых баллов
Назначение метода
Метод служит для расчета максимального количества баллов, которые можно получить или списать в счет скидки с учетом состава корзины и статуса клиента. Этот метода помогает определить точно прогнозировать объем начислений и списаний, а так же избежать дублирования логики на клиенте в случае сложной логики работы с бонусными баллами.
Так же этот метод можно использовать для проверки регистрации клиента в программе лояльности.
Параметры запроса
Параметр обязательный? |
Имя параметра |
Описание параметра |
да |
user_phone или email или origin_user_id |
Идентификатор клиента. Более подробно см. здесь. |
да |
token |
См. здесь |
да |
store_department_id |
См. здесь |
да |
positions |
Массив товаров внутри данной покупки (состав корзины). Имеет формат “positions=1899,13,200:101,10,379” - в группах, разделенных двоеточиями, передается ID-товаров в вашей системе, ID группы товара (опционально) и его стоимость. Если покупок с данным ID товара несколько - передавать этот ID нужно несколько раз. Важно: суммы должны иметь тип int. |
нет |
max_discount |
Максимальный процент скидки, которую можно получить в счет списываемых баллов. Указывается целое количество процентов. При отсутствии данного параметра, используется значение, указанное в настройках |
нет |
points_rate |
Коэффициент конвертации местной валюты в баллы. Может принимать значение из полуинтервала (0,1]. При отсутствии данного параметра, используется значение, указанное в настройках. Формат points_rate=0.45 |
нет |
reverse_conversion_rate |
Коэффициент обратной конфертации конвертации баллы в местную валюту. Формат points_rate=1.2. Обозначает количество баллов, необходимых для получения скидки в 1 рубль. Например, при коэффициенте 3 для получения скидки в 100 рублей понадобится 300 баллов. При отсутствии данного параметра, используется значение, указанное в настройках. |
нет |
current_discount_value |
Актуальное значение размера скидки в местной валюте. Если параметр не указан, размер скидки считается равным 0. Если значение параметра превышает допустимое, выставляется максимально доступный размер скидки.
|
Ответ сервера
Название параметра |
Описание параметра |
status |
|
user_points |
Количество накопленных на данный момент подтвержденных бонусных баллов. |
max_points_receive |
Максимальное количество бонусных баллов, которое можно получить при переданном составе покупки. Такое количество баллов будет начислено, если не будет списания баллов в счет скидки. |
min_points_receive |
Минимальное количество бонусных баллов, которое можно получить при переданном составе покупки. Такое количество баллов будет начислено, если в счет скидки будет списано максимально доступное количество баллов. |
max_discount_value |
Максимальная доступная сумма скидки в местной валюте. |
max_points_result |
Количество бонусных баллов клиента после начисления максимального количества бонусных баллов. |
min_points_result |
Количество бонусных баллов клиента после списания максимального количества бонусных баллов в счет скидки. |
min_price_result |
Итоговая стоимость заказа при списании в счет скидки максимального доступного количества баллов. |
current_price_result |
Итоговая стоимость заказа при списании в счет скидки указанного в запросе количества баллов. |
current_points_result |
Количество бонусных баллов клиента после списания указанного в запросе бонусных баллов в счет скидки. |
current_points_receive |
Количество бонусных баллов, которое будет начислено за покупку при указанном размере скидки. |
positions |
Объект, содержащий в себе информацию о максимально возможных и текущих размере скидки и количестве начисляемых за покупку бонусных баллов. |
Описание элементов positions
Название параметра |
Описание параметра |
sku |
Идентификатор товара на стороне магазина. |
max_points_receive |
Максимальное количество бонусных баллов, которое можно получить за покупку указанного товара. Такое количество баллов будет начислено, если не будет списания баллов в счет скидки. |
min_points_receive |
Минимальное количество бонусных баллов, которое можно получить за покупку указанного товара. Такое количество баллов будет начислено, если в счет скидки будет списано максимально доступное количество баллов. |
max_discount_value |
Максимальный размер скидки по указанному товару. |
value |
Текущая стоимость товара. |
value_after_max_discount |
Стоимость товара после начисления максимальной скидки. |
current_points_receive |
Количество бонусных баллов, начисляемых за покупку товара после списания указанного количества бонусных баллов в счет скидки. |
current_discount_value |
Текущий размер скидки по товару. |
Пример запроса
http://sailplay.ru/api/v2/points/calc/?store_department_id=111&token=da32f321d2516c8e56142f2430bea4f72a80a6ae&&origin_user_id=dbsajfbjk12bjb12112321&positions=1899,200:101,300&max_discount=20
Пример ответа
{
"status": "ok",
"min_points_receive": 75,
"user_points": 50,
"current_points_receive": 85,
"current_points_result": 135,
"max_points_receive": 85,
"current_price_result": 579,
"max_discount_value": 50,
"positions": [
{
"sku": "1899",
"max_points_receive": 10,
"min_points_receive": 7,
"max_discount_value": 50,
"value": 200,
"value_after_max_discount": 150,
"current_points_receive": 10,
"current_discount_value": 0
},
{
"sku": "101",
"max_points_receive": 75,
"min_points_receive": 75,
"max_discount_value": 0,
"value": 379,
"value_after_max_discount": 379,
"current_points_receive": 75,
"current_discount_value": 0
}
],
"min_price_result": 529,
"min_points_result": 75,
"max_points_result": 135
}