Метод 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 . |
Пример запроса полной истории
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
Логика отбора записей истории
Отбор записей истории осуществляется по условиям:
- тип операции;
- метка платежа;
- интервал времени.
Все условия аддитивны, каждое условие вносит дополнительное ограничение.
Правила выборки данных по интервалу времени:
- Если заданы оба условия
from
иtill
, то отбор записей осуществляется за интервал времени равныйfrom
(или больше) и меньшеtill
. - Если задано только условие
from
, осуществляется отбор всех записей со временем больше или равноfrom
. - Если задано только условие
till
, осуществляется отбор всех записей со временем меньшеtill
. - Если оба условия условия
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
ответа предыдущей страницы истории.Ответ
Метод возвращает следующие параметры:
Параметр | Тип | Описание |
---|---|---|
error | string | Код ошибки. Присутствует при ошибке выполнения запроса. |
next_record | string | Порядковый номер первой записи на следующей странице истории операций. Присутствует в случае наличия следующей страницы истории. Подробнее про постраничный вывод списка |
operations | array | Список операций. |
Параметры операции
Параметр | Тип | Описание |
---|---|---|
operation_id | string | Идентификатор операции. |
status | string | Статус платежа (перевода). Может принимать следующие значения:
|
datetime | datetime | Дата и время совершения операции. |
title | string | Краткое описание операции (название магазина или источник пополнения). |
pattern_id | string | Идентификатор шаблона, по которому совершен платеж. Присутствует только для платежей. |
direction | string | Направление движения средств. Может принимать значения:
|
amount | amount | Сумма операции. |
label | string | Метка платежа. Присутствует для входящих и исходящих переводов другим пользователям ЮMoney, у которых был указан параметр label вызова request-payment. |
type | string | Тип операции. Возможные значения:
|
Если значение входного параметра
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" }