Запрос позволяет получить информацию об истории операций начислений и списаний со счета лояльности.
Используется для истории операций на экране "Бонусные рубли" в приложениях android:
- данные на вкладке "Начисления"
- данные на вкладке "Списания":
ID функции
r_loyalty_transfer_operations
Кто может вызывать
Авторизованный пользователь.
Авторизованное приложение.
Принимаемые параметры
Данные передаются по пользовательскому сиду.
filter - параметр, по которому можно получить тип движения бонусных рублей. Может иметь значения: refill (вывод только начислений), spend (вывод только списаний). Без указания этого параметра метод будет отдавать транзакции обоих типов. Параметр опциональный.
Возвращаемые значения
fields* – массив объектов, содержащий информацию о текущей учетной записи пользователя. Каждый объект содержит вложенный массив объектов с информацией по полям, которые были переданы в запросе:
- money_details – подробное состояние счета пользователя (в валюте, переданной в параметрах запроса).
- bonus – сумма бонусных денег на счету пользователя;
- money_transfer – массив, который содержит информацию о прошедших движениях бонусных баллов пользователя, в том числе их тип, дату операции, а также по какому действию данное движение произошло. Включает в себя следующие элементы:
- id – ID движения баллов из таблицы money_movements;
- is_spend – возвращается тип движения: списание или начисление баллов; Может принимать значения 0 - начисление, 1 - списание.
- amount – количество бонусов в рамках списания или начисления;
- time – дата списания или начисления;
- type – тип движения из таблицы money_movements.
- s_coment – действие, которое послужило триггером для движения баллов (например, "Бонус "Установка приложения ЛитРес", 50 RUB");
- arts - массив книг, за которые получены бонусы (может быть пустым);
- id - идентификатор книги (может быть пустым);
- title - название книги (может быть пустым);
- cover - «Получение обложки, триального фрагмента и XML-содержания книги» (может быть пустым);
- cover_h – высота обложки в пикселях (может быть пустым);
- cover_w – ширина обложки в пикселях (может быть пустым);
- limit – ограничение на количество возвращаемых значений. Работает аналогично инструкции limit в MySQL и в запросе представлен одним числом либо массивом из двух чисел «N,M». Если limit указан, возвращается M операций, начиная с операции N (у первой операции номер 0). Если limit не задан – значение по умолчанию «0, 20»;
Возможные ошибки
error_code | error_message | Описание |
|---|---|---|
101024 | Неизвестное поле | Параметр fields содержит недопустимое значение |
Пример запроса на сервер
{
"requests": [
{
"func": "r_loyalty_transfer_operations",
"param": {
"fields": [
]
},
"id": "r_loyalty_transfer_operations",
"filter": "refill",
"limit": ["0","20"],
}
],
"time": "2020-05-21T16:49:17+03:00",
"mobile_app": 1,
"sid": "5742ck1x4h9t04ezfz8067c7317o",
"sha": "b79d8e9993d20da6abe78838d3c7fbf640a4c52956569bef3c685d3453316b5c"
}
Пример ответа сервера
{
"r_loyalty_transfer_operations": {
"fields": [
{
"money_details": {
"bonus": "500.0"
},
"loyalty_transfer": [
{
"id": "2",
"is_spend": "1",
"amount": "120",
"time": "2018-07-17T16:21:02+03:00",
"type ": "101",
"s_coment": "Бонус "Установка приложения ЛитРес", 50 RUB",
"arts" : [
{
"id" : "185259",
"title" : "Евгений Онегин",
"cover" : "/pub/c/cover/08787189.jpg",
"cover_h" : "798",
"cover_w" : "570",
},
{
...
},
],
}
],
}
],
"success": true
},
"success": true,
"time": "2020-05-21T16:49:26+03:00"
}
Дополнения
1. Данные по артам (названия, обложки и т.д.) должны возвращаться и для начислений, и для списаний бонусных рублей.
2. Данные для поля s_coment нужно брать из таблицы.
3. Внутренние операции (перемещение бонусов между счетами, перенос бонусных рублей при мерже пользователей и прочие) не должны возвращаться на клиент.

