Метод operation-history
Метод позволяет просматривать историю операций (полностью или частично) в постраничном режиме. Записи истории выдаются в обратном хронологическом порядке: от последних к более ранним.
 
Запрос
ПараметрТипОписание
typestring
Перечень типов операций, которые требуется отобразить. Возможные значения:
  • deposition
     — пополнение счета (приход);
  • payment
     — платежи со счета (расход);
  • incoming-transfers-unaccepted
     — непринятые входящие P2P-переводы любого типа.
Типы операций перечисляются через пробел. Если параметр отсутствует, выводятся все операции.
labelstringОтбор платежей по значению метки. Выбираются платежи, у которых указано заданное значение параметра
label
вызова request-payment.
fromdatetimeВывести операции от момента времени (операции, равные
from
, или более поздние). Если параметр отсутствует, выводятся все операции.
tilldatetimeВывести операции до момента времени (операции более ранние, чем
till
). Если параметр отсутствует, выводятся все операции.
start_recordstringЕсли параметр присутствует, то будут отображены операции, начиная с номера
start_record
. Операции нумеруются с 
0
. Подробнее про постраничный вывод списка
recordsintКоличество запрашиваемых записей истории операций. Допустимые значения: от 
1
до 
100
, по умолчанию —
30
.
detailsbooleanПоказывать подробные детали операции. По умолчанию
false
. Для отображения деталей операции требуется наличие права
operation-details
.
Пример запроса полной истории
POST /api/operation-history HTTP/1.1
Host: yoomoney.ru
Authorization: Bearer 410012345678901.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123
Content-Type: application/x-www-form-urlencoded
Content-Length: 9

records=3
 
Логика отбора записей истории
Отбор записей истории осуществляется по условиям:
  • тип операции;
  • метка платежа;
  • интервал времени.
Все условия аддитивны, каждое условие вносит дополнительное ограничение.
Правила выборки данных по интервалу времени:
  1. Если заданы оба условия
    from
    и 
    till
    , то отбор записей осуществляется за интервал времени равный
    from
    (или больше) и меньше
    till
    .
  2. Если задано только условие
    from
    , осуществляется отбор всех записей со временем больше или равно
    from
    .
  3. Если задано только условие
    till
    , осуществляется отбор всех записей со временем меньше
    till
    .
  4. Если оба условия условия
    from
    и 
    till
    отсутствуют, записи выбираются без ограничения по времени.
Если история содержит большое количество операций, список операций выдается постранично. По умолчанию выдается первая страница истории. Если есть хотя бы одна последующая страница, то в ответе присутствует параметр
next_record
, определяющий порядковый номер ее первой записи. Чтобы получить следующую страницу, повторите запрос с теми же параметрами, добавив параметр
start_record
и указав в нем порядковый номер первой записи следующей страницы, полученный ранее из параметра
next_record
.
Пример запроса последующих страниц истории платежей
POST /api/operation-history HTTP/1.1
Host: yoomoney.ru
Authorization: Bearer 410012345678901.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123
Content-Type: application/x-www-form-urlencoded
Content-Length: 40

type=payment&records=20&start_record=120
Чтобы получить большую выборку записей в интервале времени необходимо сформировать запрос с условиями
from
и 
till
, получить первую страницу истории, затем формировать запросы последующих страниц истории с теми же значениями параметров
from
и 
till
, а также параметром
start_record
, значение которого было получено из параметра
next_record
ответа предыдущей страницы истории.
 
Ответ
Метод возвращает следующие параметры:
ПараметрТипОписание
errorstringКод ошибки. Присутствует при ошибке выполнения запроса.
next_recordstringПорядковый номер первой записи на следующей странице истории операций. Присутствует в случае наличия следующей страницы истории. Подробнее про постраничный вывод списка
operationsarray
Список операций.
Параметры операции
ПараметрТипОписание
operation_idstringИдентификатор операции.
statusstring
Статус платежа (перевода). Может принимать следующие значения:
  • success
     — платеж завершен успешно;
  • refused
     — платеж отвергнут получателем или отменен отправителем;
  • in_progress
     — платеж не завершен, перевод не принят получателем или ожидает ввода кода протекции.
datetimedatetimeДата и время совершения операции.
titlestringКраткое описание операции (название магазина или источник пополнения).
pattern_idstringИдентификатор шаблона, по которому совершен платеж. Присутствует только для платежей.
directionstring
Направление движения средств. Может принимать значения:
  • in
    (приход);
  • out
    (расход).
amountamountСумма операции.
labelstringМетка платежа. Присутствует для входящих и исходящих переводов другим пользователям ЮMoney, у которых был указан параметр
label
вызова request-payment.
typestring
Тип операции. Возможные значения:
  • payment-shop
     — исходящий платеж в магазин;
  • outgoing-transfer
     — исходящий P2P-перевод любого типа;
  • deposition
     — зачисление;
  • incoming-transfer
     — входящий перевод или перевод до востребования;
  • incoming-transfer-protected
     — входящий перевод с кодом протекции.
Операции с типом
incoming-trasfer
и 
incoming-trasfer-protected
можно принять используя метод incoming-trasfer-accept, а отклонить с помощью метода incoming-transfer-reject.
Если значение входного параметра
details
установлено в 
true
, в ответе будут также присутствовать выходные параметры операции operation-details.
Пример ответа полной истории
JSON
{
  "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"
    }
  ]
}
Пример ответа с подробными деталями операции при платеже в магазин
JSON
{
  "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"
    }
  ]
}
Пример ответа с подробными деталями операции для исходящего перевода другому пользователю
JSON
{
  "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": "Перевод пользователю ЮMoney",
      "codepro": false,
      "details": "Счет получателя:\n4100123456789\nСумма к получению: 50,00 руб.",
      "type": "outgoing-transfer"
    }
  ]
}
 
Коды ошибок
В случае ошибки выполнения операции возвращается ее код:
КодОписание
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
Все прочие значенияТехническая ошибка, повторите вызов операции позднее
Пример ответа при неверно заданном параметре
JSON
{
   "error": "illegal_param_type"
}