Запрос позволяет получить информацию об истории операций начислений и списаний со счета лояльности.

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