1. Статистика
Раздел протокола «Статистка» предназначен для получения сводной (агрегированной) информации о принятых платежах. Протокол содержит следующие запросы на получение данных:
| URI | Назначение | |
|---|---|---|
| 1.1. | /info/systems/list/ | Получение списка всех платёжных систем, через которые когда-либо проводились платежи | 
| 1.2. | /info/systems/sums/ | Получение баланса платёжных систем за определённый период | 
| 1.3. | /info/systems/sums/details/ | Получение баланса платёжных систем за определённый период, разбитого по временным интервалам | 
| 1.4. | /info/systems/allsum/ | Получения суммарного баланса всех платёжных систем за период | 
| 1.5. | /info/errors/total/ | Получить количество ошибок по группам | 
| 1.6. | /info/errors/bydate/ | Получить количество ошибок по группам за период | 
1.1. Запрос получения списка платёжных систем /info/systems/list/
Для получения списка всех платёжных систем необходимо выполнить GET-запрос по URL без параметров.
| Тип | Формат запроса | 
| GET | /info/systems/list/ | 
| Таблица 1.1.1 Параметры запроса списка платёжных систем | |
В ответ возвращается объект следующего вида:
| Тип | Формат ответа | |
| Параметр | Назначение | |
| 1. | id | Идентификатор платёжной системы | 
| 2. | system_description | Системное название платёжной системы | 
| 3. | site_description | Название платёжной системы | 
| Таблица 1.1.2 Параметры ответа на запрос списка платёжных систем | ||
Ответ на запрос состоит из массива объектов. Пример ответа на запрос:
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22  | 
						[    {    "id": "2",    "system_description": "AlfaBank",    "site_description": "Альфа-Банк"    },    {    "id": "6",    "system_description": "AlfaBankSbp",    "site_description": "Альфа-Банк СБП"    },    {    "id": "127",    "system_description": "TestPayments",    "site_description": "Тестовый Платёж"    },    {    "id": "1",    "system_description": "AlfaBankMPOS",    "site_description": "Альфа-Банк mPOS"    } ]  | 
					
1.2. Запрос получения баланса платёжных систем /info/systems/sums/
Запрос возвращает сумму принятых платежей по всем платёжным системам за указанный период. Для этого необходимо выполнить GET-запрос по URL со указанием даты начала и конца периода.
| Тип | Формат запроса | |
| GET | /info/systems/sums/?start=2014-04-12&end=2014-05-12 | |
| Параметр | Назначение | |
| 1. | start | Дата начала периода в формате YYYY-MM-DD | 
| 2. | end | Дата конца периода в формате YYYY-MM-DD | 
| Таблица 1.2.1. Параметры запроса | ||
В ответ возвращается объект следующего вида:
| Тип | Формат ответа | |
| Параметр | Назначение | |
| 1. | id | Идентификатор платёжной системы | 
| 2. | system_description | Системное название платёжной системы | 
| 3. | site_description | Название платёжной системы | 
| 4. | success | Сумма платежей со статусом «Совершён» | 
| 5. | account | Сумма успешных платежей, принятых к перечислению на расчётный счёт | 
| 6. | stuck | Сумма платежей со статусом «Совершён без оповещения» | 
| 7. | currency | Валюта принятых платежей | 
| Таблица 1.2.2. Параметры ответа на запрос | ||
Ответ на запрос состоит из массива объектов. Пример ответа на запрос:
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20  | 
						[     {     "id": "6",     "system_description": "AlfaBank",     "site_description": "Альфа-Банк",     "success": "304 755.00",     "account": "304 755.00",     "stuck": "0.00",     "currency": "RUR"     },     {    "id": "2",    "system_description": "AlfaBankSbp",    "site_description": "Альфа-Банк СБП",    "success": "19 902.00",    "account": "19 902.00",    "stuck": "0.00",    "currency": "RUR"    } ]  | 
					
Обратите внимание, что если за указанный период по некоторым платёжным системам не было платежей, то в возвращённом ответе данных платёжных систем не будет.
1.3. Запрос получения баланса платёжных систем, разбитого по временным интервалам /info/systems/sums/details/
Запрос служит для получения данных, необходимых для построения графика приёма платежей по времени. В случае, если задан интервал меньше 30 дней, возвращается сумма платежей, принятых за каждый день. Если указанный интервал больше 30 дней, то производится усреднение и выводится результат в виде 30 точек с указанным временем и объёмом принятых платежей за этот интервал. Для получения данных необходимо передать GET-запрос по URL со следующими GET-параметрами.
| Тип | Формат запроса | |
| GET | /info/systems/sums/?start=2014-04-12&end=2014-05-12 | |
| Параметр | Назначение | |
| 1. | start | Дата начала периода в формате YYYY-MM-DD | 
| 2. | end | Дата конца периода в формате YYYY-MM-DD | 
| Таблица 1.3.1. Параметры запроса | ||
В ответ возвращается массив объектов следующего вида:
| Тип | Формат ответа | |
| Параметр | Назначение | |
| 1. | payment_system_id | Идентификатор платёжной системы | 
| 2. | label | Название платёжной системы | 
| 3. | data | Содержит массив составных объектов следующего формата: [TIMESTAMP,AMOUNT], где TIMESTAMP – время в секундах в формате Unix Timestamp, AMOUNT – объём принятых платежей за интервал времени.  | 
| Таблица 1.3.2. Параметры ответа на запрос | ||
Пример ответа на запрос:
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15  | 
						[     {     "payment_system_id": "6",     "label":"Alfa-Bank",     "data": [          [1394380800000,120],          [1394467200000,101],          [1394553600000,331],          [1394640000000,290],          [1394726400000,305],          [1394812800000,201]         ]     }, ... ]  | 
					
1.4. Запрос получения суммарного баланса всех платёжных систем /info/systems/allsum/
Запрос возвращает суммарный баланс всех платёжных систем за период. В отличие от запроса 1.2, данный запрос не производит детализацию по каждой платёжной системе, в ответ на запрос возвращается только суммарное значение по всем платёжным системам.
Для получения ответа на запрос необходимо выполнить GET-запрос по URL со следующими GET-параметрами.
| Тип | Формат запроса | |
| GET | /info/systems/allsum/?start=2016-04-12&end=2016-05-12 | |
| Параметр | Назначение | |
| 1. | start | Дата начала периода в формате YYYY-MM-DD | 
| 2. | end | Дата конца периода в формате YYYY-MM-DD | 
| Таблица 1.4.1. Параметры запроса | ||
В ответ возвращается объект следующего вида:
| Тип | Формат ответа | |
| Параметр | Назначение | |
| 1. | success | Сумма платежей со статусом «Совершён» | 
| 2. | account | Сумма успешных платежей, принятых к перечислению на расчётный счёт | 
| 3. | stuck | Сумма платежей со статусом «Совершён без оповещения» | 
| Таблица 1.4.2. Параметры ответа на запрос | ||
Пример ответа на запрос:
| 
					 1 2 3 4 5 6 7  | 
						[     {     "success":"10932.00",     "account":"10932.00",     "stuck":"0.00"     } ]  | 
					
Запросы 1.* и личный кабинет PayKeeper
Многие протокольные запросы используются в личном кабинете PayKeeper. Чтобы назначение запросов было более наглядным, на приведённом ниже скриншоте отмечено, какие запросы используются в личном кабинете для получения данных.
1.5. Получить количество ошибок по группам /info/errors/total/
Запрос возвращает суммарное количество ошибок и количество ошибок по группам
| Тип | Формат запроса | |
| GET | /info/errors/total/ | |
| Параметр | Назначение | |
| Таблица 1.5.1. Параметры запроса | ||
Пример ответа на запрос:
| 
					 1 2 3 4 5 6 7 8 9 10 11  | 
						{   "total": "759",   "totalWithGroup": [     {       "error_code": "70",       "total": "240",       "user_description": "Сетевая ошибка при отправке запроса."     },     ...   ] ]  | 
					
1.6. Получить количество ошибок по группам /info/errors/bydate/
Запрос возвращает сумму принятых платежей по всем платёжным системам за указанный период. Для этого необходимо выполнить GET-запрос по URL со указанием даты начала и конца периода.
| Тип | Формат запроса | |
| GET | /info/errors/bydate/?start=2014-04-12&end=2014-05-12 | |
| Параметр | Назначение | |
| 1. | start | Дата начала периода в формате YYYY-MM-DD | 
| 2. | end | Дата конца периода в формате YYYY-MM-DD | 
| Таблица 1.2.1. Параметры запроса | ||
Ответ аналогичен пункту 1.5.

