Запрос позволяет получить информацию об истории операций начислений и списаний со счета лояльности.
Используется для истории операций на экране "Бонусные рубли" в приложениях 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. Внутренние операции (перемещение бонусов между счетами, перенос бонусных рублей при мерже пользователей и прочие) не должны возвращаться на клиент.
Attachments:


