Метод operation-history

Описание

Метод позволяет просматривать историю операций (полностью или частично) в постраничном режиме. Записи истории выдаются в обратном хронологическом порядке: от последних к более ранним.

Требуемые права токена: operation-history.

Входные параметры

Параметр Тип Описание
type string Перечень типов операций (см. таблицу), которые требуется отобразить. Типы операций перечисляются через пробел. Если параметр отсутствует, выводятся все операции.
label string Отбор платежей по значению метки. Выбираются платежи, у которых указано заданное значение параметра label вызова request-payment.
from datetime Вывести операции от момента времени (операции, равныеfrom, или более поздние). Если параметр отсутствует, выводятся все операции.
till datetime Вывести операции до момента времени (операции более ранние, чем till). Если параметр отсутствует, выводятся все операции.
start_record string Если параметр присутствует, то будут отображены операции, начиная с номера start_record. Операции нумеруются с 0. (см. замечание).
records int Количество запрашиваемых записей истории операций. Допустимые значения: от 1 до 100, по умолчанию 30.
details boolean Показывать подробные детали операции. По умолчанию false. Для отображения деталей операции требуется наличие права operation-details.

Типы операций:

Тип Описание
deposition Пополнение счета (приход).
payment Платежи со счета (расход).
incoming-transfers-unaccepted Непринятые входящие P2P-переводы любого типа.
Совет.

Логика отбора записей истории.

Отбор записей истории осуществляется по условиям:
  • тип операции;
  • метка платежа;
  • интервал времени.

Все условия аддитивны, каждое условие вносит дополнительное ограничение.

Правила выборки данных по интервалу времени:
  1. Если заданы оба условия from и till, то отбор записей осуществляется за интервал времени равный from (или больше) и меньше till.
  2. Если задано только условие from, осуществляется отбор всех записей со временем больше или равно from.
  3. Если задано только условие till, осуществляется отбор всех записей со временем меньше till.
  4. Если оба условия условия from и till отсутствуют, записи выбираются без ограничения по времени.

Если история содержит большое количество операций, список операций выдается постранично. По умолчанию выдается первая страница истории. Если есть хотя бы одна последующая страница, то в ответе присутствует параметр next_record, определяющий порядковый номер её первой записи. Чтобы получить следующую страницу, повторите запрос с теми же параметрами, добавив параметр start_record и указав в нем порядковый номер первой записи следующей страницы, полученный ранее из параметра next_record.

Чтобы получить большую выборку записей в интервале времени необходимо сформировать запрос с условиями from и till, получить первую страницу истории, затем формировать запросы последующих страниц истории с теми же значениями параметров from и till, а также параметром start_record, значение которого было получено из параметра next_record ответа предыдущей страницы истории.

Возвращает

Метод возвращает следующие параметры:

Параметр Тип Описание
error string Код ошибки. Присутствует при ошибке выполнения запроса.
next_record string Порядковый номер первой записи на следующей странице истории операций. Присутствует в случае наличия следующей страницы истории (см. замечание).
operations array Список операций.

Параметры операции:

Параметр Тип Описание
operation_id string Идентификатор операции.
status string

Статус платежа (перевода). Может принимать следующие значения:

  • success - платеж завершен успешно;
  • refused - платеж отвергнут получателем или отменен отправителем;
  • in_progress - платеж не завершен, перевод не принят получателем или ожидает ввода кода протекции.
datetime datetime Дата и время совершения операции.
title string Краткое описание операции (название магазина или источник пополнения).
pattern_id string Идентификатор шаблона, по которому совершен платеж. Присутствует только для платежей.
direction string

Направление движения средств. Может принимать значения:

  • in (приход);
  • out (расход).
amount amount Сумма операции.
label string Метка платежа. Присутствует для входящих и исходящих переводов другим пользователям Яндекс.Денег, у которых был указан параметр label вызова request-payment.
type string Тип операции.

Возможные типы операций:

Тип Описание
payment-shop Исходящий платеж в магазин
outgoing-transfer Исходящий P2P-перевод любого типа
deposition Зачисление
incoming-transfer Входящий перевод или перевод до востребования.
incoming-transfer-protected Входящий перевод с кодом протекции.

Операции с типом incoming-trasfer и incoming-trasfer-protected можно принять используя метод incoming-trasfer-accept, а отклонить с помощью метода incoming-trasfer-reject.

Совет.

Если значение входного параметра details установлено в true, в ответе будут также присутствовать выходные параметры операции operation-details.

Код ошибки выполнения операции:

Код Описание
illegal_param_type Неверное значение параметра type.
illegal_param_start_record Неверное значение параметра start_record.
illegal_param_records Неверное значение параметра records.
illegal_param_label Неверное значение параметра label.
illegal_param_from Неверное значение параметра from.
illegal_param_till Неверное значение параметра till.
все прочие значения Техническая ошибка, повторите вызов операции позднее.
Примечание.

Если история содержит большое количество операций, список операций выдается постранично. По умолчанию выдается первая страница истории. Если есть хотя бы одна последующая страница, то в ответе присутствует параметр next_record, определяющий порядковый номер ее первой записи.

Чтобы получить следующую страницу, повторите запрос с теми же параметрами, добавив параметр start_record и указав в нем порядковый номер первой записи следующей страницы, полученный ранее из параметра next_record.

Запрос полной истории

Пример запроса полной истории:

POST /api/operation-history HTTP/1.1
Host: money.yandex.ru
Authorization: Bearer 410012345678901.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123
Content-Type: application/x-www-form-urlencoded
Content-Length: 9
 
records=3

Пример запроса последующих страниц истории платежей:

POST /api/operation-history HTTP/1.1
Host: money.yandex.ru
Authorization: Bearer 410012345678901.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123
Content-Type: application/x-www-form-urlencoded
Content-Length: 40
 
type=payment&records=20&start_record=120

Пример ответа полной истории:


{
  "next_record": "4",
  "operations": [
    {
      "operation_id": "1234567",
      "status": "success",
      "pattern_id": "2904",
      "direction": "out",
      "amount": 500.00,
      "datetime": "2011-07-11T20:43:00.000+03:00",
      "title": "Оплата ADSL-доступа компании XXX",
      "type": "payment-shop"
    },
    {
      "operation_id": "1234568",
      "status": "success",
      "pattern_id": "2901",
      "direction": "out",
      "amount": 300.00,
      "datetime": "2011-07-10T20:43:00.000+03:00",
      "title": "Прямое пополнение счета телефона YYY",
      "type": "payment-shop"
    },
    {
      "operation_id": "1234569",
      "status": "success",
      "direction": "in",
      "amount": 1000.00,
      "datetime": "2011-07-10T20:40:00.000+03:00",
      "title": "Банк ZZZ, пополнение",
      "type": "deposit"
    }
  ]
}
      

Пример ответа с подробными деталями операции при платеже в магазин:


{
  "next_record": "2",
  "operations": [
    {
      "operation_id": "1234567",
      "status": "success",
      "pattern_id": "2904",
      "direction": "out",
      "amount": 500.00,
      "datetime": "2011-07-11T20:43:00.000+04:00",
      "title": "Оплата ADSL-доступа компании XXX",
      "details": "Предоплата услуг ADSL доступа в интернет компании XXX\nНомер лицевого счета абонента: \n1234567/89\nЗачисленная сумма: 500.00\nНомер транзакции: 2000002967767",
      "type": "payment-shop"
    }
  ]
}
      

Пример ответа с подробными деталями операции для исходящего перевода другому пользователю:


{
  "next_record": "2",
  "operations": [
    {
      "operation_id": "1234567",
      "status": "success",
      "pattern_id": "p2p",
      "direction": "out",
      "amount": 50.25,
      "datetime": "2011-07-11T20:43:00.000+04:00",
      "title": "Перевод на счет 4100123456789",
      "recipient": "4100123456789",
      "recipient_type": "account",
      "message": "Купите бублики",
      "comment": "Перевод пользователю Яндекс.Денег",
      "codepro": false,
      "details": "Счет получателя:\n4100123456789\nСумма к получению: 50,00 руб.",
      "type": "outgoing-transfer"
    }
  ]
}

Пример ответа при неверно заданном параметре:

{
   "error": "illegal_param_type"
}