[ci skip] deploy from wwwcool

This commit is contained in:
werckerbot 2019-01-22 11:43:06 +00:00
parent e82ef12d1a
commit 60c1cc6cb8
2 changed files with 856 additions and 1 deletions

View File

@ -3,7 +3,7 @@
"info": {
"version": "0.0.1",
"title": "RBKmoney Wallet API",
"description": "\nRBKmoney Wallet API является базовой и единственной точкой взаимодействия с платформой кошельков. Все изменения состояний платформы осуществляются с помощью вызовов соответствующих методов API. Любые сторонние приложения, включая наши веб-сайты и другие UI-интерфейсы являются внешними приложениями-клиентами.\nRBKmoney API работает поверх HTTP-протокола. Мы используем REST архитектуру, схема описывается в соответствии со [Swagger](http://swagger.io/). Коды возврата описываются соответствующими HTTP-статусами. Платформа принимает и возвращает значения JSON в теле запросов и ответов.\n## Формат содержимого\nЛюбой запрос к API должен выполняться в кодировке UTF-8 и с указанием содержимого в формате JSON.\n```\n Content-Type: application/json; charset=utf-8\n```\n## Формат дат\nПлатформа принимает значения date-time в стандарте RFC 3339 с обязательным указанием UTC-оффсета, например:\n```\n 2017-01-01T00:00:00Z\n 2017-01-01T00:00:01+00:00\n```\n## Ошибки обработки запросов\nВ процессе обработки запросов силами нашей платформы могут происходить различные непредвиденные ситуации. Об их появлении платформа сигнализирует по протоколу HTTP соответствующими [статусами][5xx], обозначающими ошибки сервера.\n\n | Код | Описание |\n | ------- | ---------- |\n | **500** | В процессе обработки платформой запроса возникла непредвиденная ситуация. При получении подобного кода ответа мы рекомендуем обратиться в техническую поддержку. |\n | **503** | Платформа временно недоступна и не готова обслуживать данный запрос. Запрос гарантированно не выполнен, при получении подобного кода ответа попробуйте выполнить его позднее, когда доступность платформы будет восстановлена. |\n | **504** | Платформа превысила допустимое время обработки запроса, результат запроса не определён. Попробуйте отправить запрос повторно или выяснить результат выполнения исходного запроса, если повторное исполнение запроса нежелательно. |\n\n[5xx]: https://tools.ietf.org/html/rfc7231#section-6.6\n",
"description": "\nRBKmoney Wallet API является базовой и единственной точкой взаимодействия с платформой кошельков. Все изменения состояний платформы осуществляются с помощью вызовов соответствующих методов API. Любые сторонние приложения, включая наши веб-сайты и другие UI-интерфейсы являются внешними приложениями-клиентами.\nRBKmoney API работает поверх HTTP-протокола. Мы используем REST архитектуру, схема описывается в соответствии со [Swagger](http://swagger.io/). Коды возврата описываются соответствующими HTTP-статусами. Платформа принимает и возвращает значения JSON в теле запросов и ответов.\n## Формат содержимого\nЛюбой запрос к API должен выполняться в кодировке UTF-8 и с указанием содержимого в формате JSON.\n```\n Content-Type: application/json; charset=utf-8\n```\n## Формат дат\nПлатформа принимает значения date-time в стандарте RFC 3339 с обязательным указанием UTC-оффсета, например:\n```\n 2017-01-01T00:00:00Z\n 2017-01-01T00:00:01+00:00\n```\n## Максимальное время обработки запроса\nК любому вызову методов API можно добавить параметр отсечки по времени, определяющий максимальное время ожидания завершения операции по запросу. Данная отсечка передается в соответствующем заголовке HTTP-запроса:\n```\n X-Request-Deadline: 10s\n```\nЗначение отсечки может быть задано в формате ISO 8601 (см. [Формат дат](#section/Format-dat)), либо в относительных величинах, например:\n`150000ms`, `540s`, `3.5m` При этом возможные единицы измерения `ms`, `s`, `m`. В обоих случаях не рекомендуется, чтобы задаваемое значение было меньше **3 секунд** и превышало **1 минуту**.\n## Ошибки обработки запросов\nВ процессе обработки запросов силами нашей платформы могут происходить различные непредвиденные ситуации. Об их появлении платформа сигнализирует по протоколу HTTP соответствующими [статусами][5xx], обозначающими ошибки сервера.\n\n | Код | Описание |\n | ------- | ---------- |\n | **500** | В процессе обработки платформой запроса возникла непредвиденная ситуация. При получении подобного кода ответа мы рекомендуем обратиться в техническую поддержку. |\n | **503** | Платформа временно недоступна и не готова обслуживать данный запрос. Запрос гарантированно не выполнен, при получении подобного кода ответа попробуйте выполнить его позднее, когда доступность платформы будет восстановлена. |\n | **504** | Платформа превысила допустимое время обработки запроса, результат запроса не определён. Попробуйте отправить запрос повторно или выяснить результат выполнения исходного запроса, если повторное исполнение запроса нежелательно. |\n\n[5xx]: https://tools.ietf.org/html/rfc7231#section-6.6\n",
"termsOfService": "http://rbk.money/",
"contact": {
"name": "RBKmoney support team",
@ -50,6 +50,9 @@
},
"NotFound": {
"description": "Искомая сущность не найдена"
},
"Unauthorized": {
"description": "Ошибка авторизации"
}
},
"parameters": {
@ -172,6 +175,48 @@
"required": true,
"type": "integer",
"format": "int32"
},
"reportID": {
"name": "reportID",
"in": "path",
"description": "Идентификатор отчета",
"required": true,
"type": "integer",
"format": "int64"
},
"fileID": {
"name": "fileID",
"in": "path",
"description": "Идентификатор файла",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"fromTime": {
"name": "fromTime",
"in": "query",
"description": "Начало временного отрезка",
"required": true,
"type": "string",
"format": "date-time"
},
"toTime": {
"name": "toTime",
"in": "query",
"description": "Конец временного отрезка",
"required": true,
"type": "string",
"format": "date-time"
},
"deadline": {
"name": "X-Request-Deadline",
"in": "header",
"description": "Максимальное время обработки запроса",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
}
},
"tags": [
@ -204,6 +249,16 @@
"name": "Currencies",
"x-displayName": "Валюты",
"description": ""
},
{
"name": "Reports",
"x-displayName": "Отчеты",
"description": ""
},
{
"name": "Downloads",
"x-displayName": "Загрузка файлов",
"description": ""
}
],
"paths": {
@ -218,6 +273,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "currencyID",
"in": "path",
@ -237,6 +295,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -254,6 +315,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "identity",
"description": "Фильтр по личности владельца",
@ -284,6 +348,9 @@
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
}
}
},
@ -297,6 +364,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "destination",
"description": "Данные приёмника средств",
@ -324,6 +394,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"409": {
"$ref": "#/responses/ConflictRequest"
},
@ -347,6 +420,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/destinationID"
}
@ -361,6 +437,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -378,6 +457,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/destinationID"
},
@ -401,6 +483,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
},
@ -413,6 +498,51 @@
}
}
},
"/files/{fileID}/download": {
"post": {
"description": "Скачать файл",
"tags": [
"Downloads"
],
"operationId": "downloadFile",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/fileID"
},
{
"name": "expiresAt",
"in": "query",
"description": "Время до которого ссылка будет считаться действительной",
"required": true,
"type": "string",
"format": "date-time"
}
],
"responses": {
"201": {
"description": "Данные для получения файла",
"schema": {
"$ref": "#/definitions/FileDownload"
}
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/identities": {
"get": {
"operationId": "listIdentities",
@ -424,6 +554,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "provider",
"description": "Фильтр по провайдеру услуг",
@ -464,6 +597,9 @@
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
}
}
},
@ -477,6 +613,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "identity",
"description": "Данные создаваемой личности",
@ -504,6 +643,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"409": {
"$ref": "#/responses/ConflictRequest"
},
@ -527,6 +669,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/identityID"
}
@ -541,6 +686,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -558,6 +706,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/identityID"
},
@ -588,6 +739,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -603,6 +757,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/identityID"
},
@ -633,6 +790,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
},
@ -659,6 +819,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/identityID"
},
@ -676,6 +839,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -693,6 +859,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/identityID"
},
@ -719,6 +888,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -736,6 +908,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/identityID"
},
@ -756,6 +931,143 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/identities/{identityID}/reports": {
"post": {
"description": "Сгенерировать отчет с указанным типом по личности владельца за указанный промежуток времени",
"tags": [
"Reports"
],
"operationId": "createReport",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/identityID"
},
{
"name": "ReportParams",
"in": "body",
"description": "Параметры генерации отчета",
"required": true,
"schema": {
"$ref": "#/definitions/ReportParams"
}
}
],
"responses": {
"201": {
"description": "Отчет создан",
"schema": {
"$ref": "#/definitions/Report"
}
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
}
}
},
"get": {
"description": "Получить список отчетов по личности владельца за период",
"tags": [
"Reports"
],
"operationId": "getReports",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/identityID"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"name": "type",
"in": "query",
"description": "Тип получаемых отчетов",
"required": false,
"type": "string",
"enum": [
"withdrawalRegistry"
]
}
],
"responses": {
"200": {
"description": "Найденные отчеты",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Report"
}
}
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
}
}
}
},
"/identities/{identityID}/reports/{reportID}": {
"get": {
"description": "Получить отчет по данному идентификатору",
"tags": [
"Reports"
],
"operationId": "getReport",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/identityID"
},
{
"$ref": "#/parameters/reportID"
}
],
"responses": {
"200": {
"description": "Найденный отчет",
"schema": {
"$ref": "#/definitions/Report"
}
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -773,6 +1085,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/residence"
}
@ -789,6 +1104,9 @@
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
}
}
}
@ -804,6 +1122,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/providerID"
}
@ -818,6 +1139,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -835,6 +1159,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/providerID"
}
@ -852,6 +1179,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -869,6 +1199,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/providerID"
},
@ -890,6 +1223,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -907,6 +1243,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/providerID"
},
@ -931,6 +1270,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -948,6 +1290,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/providerID"
},
@ -976,6 +1321,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -993,6 +1341,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "residence",
"in": "path",
@ -1012,6 +1363,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -1029,6 +1383,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "identityID",
"description": "Идентификатор личности владельца",
@ -1074,6 +1431,9 @@
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
}
}
},
@ -1087,6 +1447,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "wallet",
"description": "Данные создаваемого кошелька",
@ -1114,6 +1477,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"409": {
"$ref": "#/responses/ConflictRequest"
},
@ -1137,6 +1503,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/walletID"
}
@ -1151,6 +1520,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -1168,6 +1540,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/walletID"
}
@ -1182,6 +1557,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -1199,6 +1577,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/walletID"
},
@ -1222,6 +1603,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
},
@ -1245,6 +1629,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "walletID",
"in": "query",
@ -1350,6 +1737,9 @@
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
}
}
},
@ -1363,6 +1753,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "withdrawal",
"description": "Данные вывода",
@ -1390,6 +1783,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"409": {
"$ref": "#/responses/ConflictRequest"
},
@ -1413,6 +1809,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/withdrawalID"
}
@ -1427,6 +1826,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -1444,6 +1846,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/withdrawalID"
},
@ -1467,6 +1872,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -1484,6 +1892,9 @@
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/withdrawalID"
},
@ -1501,6 +1912,9 @@
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
@ -1740,6 +2154,24 @@
"type": "string",
"example": "10036274"
},
"FileDownload": {
"type": "object",
"required": [
"url",
"expiresAt"
],
"properties": {
"url": {
"description": "URL файла",
"type": "string"
},
"expiresAt": {
"description": "Время до которого ссылка будет считаться действительной",
"type": "string",
"format": "date-time"
}
}
},
"GrantToken": {
"type": "string",
"minLength": 1,
@ -2268,6 +2700,100 @@
"type": "string",
"example": "ncoeps"
},
"Report": {
"type": "object",
"required": [
"id",
"createdAt",
"fromTime",
"toTime",
"status",
"type",
"files"
],
"properties": {
"id": {
"description": "Идентификатор отчета",
"type": "integer",
"format": "int64"
},
"createdAt": {
"description": "Дата и время создания",
"type": "string",
"format": "date-time"
},
"fromTime": {
"description": "Дата и время начала периода",
"type": "string",
"format": "date-time"
},
"toTime": {
"description": "Дата и время конца периода",
"type": "string",
"format": "date-time"
},
"status": {
"description": "Статус формирования отчета",
"type": "string",
"enum": [
"pending",
"created",
"canceled"
]
},
"type": {
"description": "Тип отчета",
"type": "string",
"enum": [
"withdrawalRegistry"
]
},
"files": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"description": "Идентификатор файла",
"type": "string",
"maxLength": 40,
"minLength": 1
}
}
}
}
}
},
"ReportParams": {
"type": "object",
"required": [
"reportType",
"fromTime",
"toTime"
],
"properties": {
"reportType": {
"description": "Тип отчета",
"type": "string",
"enum": [
"withdrawalRegistry"
]
},
"fromTime": {
"description": "Начало временного отрезка",
"type": "string",
"format": "date-time"
},
"toTime": {
"description": "Конец временного отрезка",
"type": "string",
"format": "date-time"
}
}
},
"Residence": {
"description": "Описание региона резиденции",
"type": "object",

View File

@ -17,6 +17,13 @@ info:
2017-01-01T00:00:00Z
2017-01-01T00:00:01+00:00
```
## Максимальное время обработки запроса
К любому вызову методов API можно добавить параметр отсечки по времени, определяющий максимальное время ожидания завершения операции по запросу. Данная отсечка передается в соответствующем заголовке HTTP-запроса:
```
X-Request-Deadline: 10s
```
Значение отсечки может быть задано в формате ISO 8601 (см. [Формат дат](#section/Format-dat)), либо в относительных величинах, например:
`150000ms`, `540s`, `3.5m` При этом возможные единицы измерения `ms`, `s`, `m`. В обоих случаях не рекомендуется, чтобы задаваемое значение было меньше **3 секунд** и превышало **1 минуту**.
## Ошибки обработки запросов
В процессе обработки запросов силами нашей платформы могут происходить различные непредвиденные ситуации. Об их появлении платформа сигнализирует по протоколу HTTP соответствующими [статусами][5xx], обозначающими ошибки сервера.
@ -63,6 +70,8 @@ responses:
$ref: '#/definitions/ConflictRequest'
NotFound:
description: Искомая сущность не найдена
Unauthorized:
description: Ошибка авторизации
parameters:
requestID:
name: X-Request-ID
@ -179,6 +188,43 @@ parameters:
required: true
type: integer
format: int32
reportID:
name: reportID
in: path
description: Идентификатор отчета
required: true
type: integer
format: int64
fileID:
name: fileID
in: path
description: Идентификатор файла
required: true
type: string
maxLength: 40
minLength: 1
fromTime:
name: fromTime
in: query
description: Начало временного отрезка
required: true
type: string
format: date-time
toTime:
name: toTime
in: query
description: Конец временного отрезка
required: true
type: string
format: date-time
deadline:
name: X-Request-Deadline
in: header
description: Максимальное время обработки запроса
required: false
type: string
maxLength: 40
minLength: 1
tags:
- name: Providers
x-displayName: Провайдеры услуг
@ -198,6 +244,12 @@ tags:
- name: Currencies
x-displayName: Валюты
description: ''
- name: Reports
x-displayName: Отчеты
description: ''
- name: Downloads
x-displayName: Загрузка файлов
description: ''
paths:
'/currencies/{currencyID}':
get:
@ -207,6 +259,7 @@ paths:
- Currencies
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: currencyID
in: path
description: |
@ -222,6 +275,8 @@ paths:
$ref: '#/definitions/Currency'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
/destinations:
@ -232,6 +287,7 @@ paths:
- Withdrawals
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: identity
description: Фильтр по личности владельца
in: query
@ -256,6 +312,8 @@ paths:
$ref: '#/definitions/Destination'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
post:
operationId: createDestination
summary: Завести приёмник средств
@ -263,6 +321,7 @@ paths:
- Withdrawals
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: destination
description: Данные приёмника средств
in: body
@ -281,6 +340,8 @@ paths:
$ref: '#/definitions/Destination'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'409':
$ref: '#/responses/ConflictRequest'
'422':
@ -295,6 +356,7 @@ paths:
- Withdrawals
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/destinationID'
responses:
'200':
@ -303,6 +365,8 @@ paths:
$ref: '#/definitions/Destination'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/destinations/{destinationID}/grants':
@ -313,6 +377,7 @@ paths:
- Withdrawals
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/destinationID'
- name: request
description: Запрос на право управления приёмником средств
@ -327,12 +392,41 @@ paths:
$ref: '#/definitions/DestinationGrantRequest'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'422':
description: Неверные данные для выдачи
schema:
$ref: '#/definitions/InvalidOperationParameters'
'/files/{fileID}/download':
post:
description: Скачать файл
tags:
- Downloads
operationId: downloadFile
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/fileID'
- name: expiresAt
in: query
description: Время до которого ссылка будет считаться действительной
required: true
type: string
format: date-time
responses:
'201':
description: Данные для получения файла
schema:
$ref: '#/definitions/FileDownload'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
/identities:
get:
operationId: listIdentities
@ -341,6 +435,7 @@ paths:
- Identities
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: provider
description: Фильтр по провайдеру услуг
in: query
@ -371,6 +466,8 @@ paths:
$ref: '#/definitions/Identity'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
post:
operationId: createIdentity
summary: Создать личность владельца
@ -378,6 +475,7 @@ paths:
- Identities
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: identity
description: Данные создаваемой личности
in: body
@ -396,6 +494,8 @@ paths:
$ref: '#/definitions/Identity'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'409':
$ref: '#/responses/ConflictRequest'
'422':
@ -410,6 +510,7 @@ paths:
- Identities
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/identityID'
responses:
'200':
@ -418,6 +519,8 @@ paths:
$ref: '#/definitions/Identity'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/identities/{identityID}/challenges':
@ -428,6 +531,7 @@ paths:
- Identities
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/identityID'
- name: status
description: |
@ -456,6 +560,8 @@ paths:
$ref: '#/definitions/IdentityChallenge'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
post:
@ -465,6 +571,7 @@ paths:
- Identities
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/identityID'
- name: challenge
description: Данные для запуска процедуры идентификации
@ -484,6 +591,8 @@ paths:
$ref: '#/definitions/IdentityChallenge'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'409':
@ -500,6 +609,7 @@ paths:
- Identities
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/identityID'
- $ref: '#/parameters/challengeID'
responses:
@ -509,6 +619,8 @@ paths:
$ref: '#/definitions/IdentityChallenge'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/identities/{identityID}/challenges/{challengeID}/events':
@ -519,6 +631,7 @@ paths:
- Identities
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/identityID'
- $ref: '#/parameters/challengeID'
- $ref: '#/parameters/limit'
@ -532,6 +645,8 @@ paths:
$ref: '#/definitions/IdentityChallengeEvent'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/identities/{identityID}/challenges/{challengeID}/events/{eventID}':
@ -542,6 +657,7 @@ paths:
- Identities
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/identityID'
- $ref: '#/parameters/challengeID'
- $ref: '#/parameters/eventID'
@ -552,6 +668,84 @@ paths:
$ref: '#/definitions/IdentityChallengeEvent'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/identities/{identityID}/reports':
post:
description: Сгенерировать отчет с указанным типом по личности владельца за указанный промежуток времени
tags:
- Reports
operationId: createReport
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/identityID'
- name: ReportParams
in: body
description: Параметры генерации отчета
required: true
schema:
$ref: '#/definitions/ReportParams'
responses:
'201':
description: Отчет создан
schema:
$ref: '#/definitions/Report'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
get:
description: Получить список отчетов по личности владельца за период
tags:
- Reports
operationId: getReports
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/identityID'
- $ref: '#/parameters/fromTime'
- $ref: '#/parameters/toTime'
- name: type
in: query
description: Тип получаемых отчетов
required: false
type: string
enum:
- withdrawalRegistry
responses:
'200':
description: Найденные отчеты
schema:
type: array
items:
$ref: '#/definitions/Report'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'/identities/{identityID}/reports/{reportID}':
get:
description: Получить отчет по данному идентификатору
tags:
- Reports
operationId: getReport
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/identityID'
- $ref: '#/parameters/reportID'
responses:
'200':
description: Найденный отчет
schema:
$ref: '#/definitions/Report'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
/providers:
@ -562,6 +756,7 @@ paths:
- Providers
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/residence'
responses:
'200':
@ -572,6 +767,8 @@ paths:
$ref: '#/definitions/Provider'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'/providers/{providerID}':
get:
operationId: getProvider
@ -580,6 +777,7 @@ paths:
- Providers
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/providerID'
responses:
'200':
@ -588,6 +786,8 @@ paths:
$ref: '#/definitions/Provider'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/providers/{providerID}/identity-classes':
@ -598,6 +798,7 @@ paths:
- Providers
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/providerID'
responses:
'200':
@ -608,6 +809,8 @@ paths:
$ref: '#/definitions/IdentityClass'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/providers/{providerID}/identity-classes/{identityClassID}':
@ -618,6 +821,7 @@ paths:
- Providers
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/providerID'
- name: identityClassID
description: Класс личности владельца
@ -631,6 +835,8 @@ paths:
$ref: '#/definitions/IdentityClass'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/providers/{providerID}/identity-classes/{identityClassID}/levels':
@ -641,6 +847,7 @@ paths:
- Providers
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/providerID'
- name: identityClassID
description: Класс личности владельца
@ -656,6 +863,8 @@ paths:
$ref: '#/definitions/IdentityLevel'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/providers/{providerID}/identity-classes/{identityClassID}/levels/{identityLevelID}':
@ -666,6 +875,7 @@ paths:
- Providers
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/providerID'
- name: identityClassID
description: Класс личности владельца
@ -684,6 +894,8 @@ paths:
$ref: '#/definitions/IdentityLevel'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/residences/{residence}':
@ -694,6 +906,7 @@ paths:
- Residences
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: residence
in: path
description: |
@ -709,6 +922,8 @@ paths:
$ref: '#/definitions/Residence'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
/wallets:
@ -719,6 +934,7 @@ paths:
- Wallets
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: identityID
description: Идентификатор личности владельца
in: query
@ -755,6 +971,8 @@ paths:
$ref: '#/definitions/Wallet'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
post:
operationId: createWallet
summary: Завести новый кошелёк
@ -762,6 +980,7 @@ paths:
- Wallets
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: wallet
description: Данные создаваемого кошелька
in: body
@ -780,6 +999,8 @@ paths:
$ref: '#/definitions/Wallet'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'409':
$ref: '#/responses/ConflictRequest'
'422':
@ -794,6 +1015,7 @@ paths:
- Wallets
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/walletID'
responses:
'200':
@ -802,6 +1024,8 @@ paths:
$ref: '#/definitions/Wallet'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/wallets/{walletID}/account':
@ -812,6 +1036,7 @@ paths:
- Wallets
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/walletID'
responses:
'200':
@ -820,6 +1045,8 @@ paths:
$ref: '#/definitions/WalletAccount'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/wallets/{walletID}/grants':
@ -830,6 +1057,7 @@ paths:
- Wallets
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/walletID'
- name: request
description: Запрос на право управления средствами на кошельке
@ -844,6 +1072,8 @@ paths:
$ref: '#/definitions/WalletGrantRequest'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'422':
@ -858,6 +1088,7 @@ paths:
- Withdrawals
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: walletID
in: query
description: Идентификатор кошелька
@ -937,6 +1168,8 @@ paths:
$ref: '#/definitions/Withdrawal'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
post:
operationId: createWithdrawal
summary: Запустить вывод средств
@ -944,6 +1177,7 @@ paths:
- Withdrawals
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: withdrawal
description: Данные вывода
in: body
@ -962,6 +1196,8 @@ paths:
$ref: '#/definitions/Withdrawal'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'409':
$ref: '#/responses/ConflictRequest'
'422':
@ -976,6 +1212,7 @@ paths:
- Withdrawals
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/withdrawalID'
responses:
'200':
@ -984,6 +1221,8 @@ paths:
$ref: '#/definitions/Withdrawal'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/withdrawals/{withdrawalID}/events':
@ -994,6 +1233,7 @@ paths:
- Withdrawals
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/withdrawalID'
- $ref: '#/parameters/limit'
- $ref: '#/parameters/eventCursor'
@ -1006,6 +1246,8 @@ paths:
$ref: '#/definitions/WithdrawalEvent'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/withdrawals/{withdrawalID}/events/{eventID}':
@ -1016,6 +1258,7 @@ paths:
- Withdrawals
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/withdrawalID'
- $ref: '#/parameters/eventID'
responses:
@ -1025,6 +1268,8 @@ paths:
$ref: '#/definitions/WithdrawalEvent'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
definitions:
@ -1244,6 +1489,19 @@ definitions:
При указании будет использован для того, чтобы гарантировать идемпотентную обработку операции.
type: string
example: '10036274'
FileDownload:
type: object
required:
- url
- expiresAt
properties:
url:
description: URL файла
type: string
expiresAt:
description: Время до которого ссылка будет считаться действительной
type: string
format: date-time
GrantToken:
type: string
minLength: 1
@ -1694,6 +1952,77 @@ definitions:
description: Идентификатор провайдера услуг
type: string
example: ncoeps
Report:
type: object
required:
- id
- createdAt
- fromTime
- toTime
- status
- type
- files
properties:
id:
description: Идентификатор отчета
type: integer
format: int64
createdAt:
description: Дата и время создания
type: string
format: date-time
fromTime:
description: Дата и время начала периода
type: string
format: date-time
toTime:
description: Дата и время конца периода
type: string
format: date-time
status:
description: Статус формирования отчета
type: string
enum:
- pending
- created
- canceled
type:
description: Тип отчета
type: string
enum:
- withdrawalRegistry
files:
type: array
items:
type: object
required:
- id
properties:
id:
description: Идентификатор файла
type: string
maxLength: 40
minLength: 1
ReportParams:
type: object
required:
- reportType
- fromTime
- toTime
properties:
reportType:
description: Тип отчета
type: string
enum:
- withdrawalRegistry
fromTime:
description: Начало временного отрезка
type: string
format: date-time
toTime:
description: Конец временного отрезка
type: string
format: date-time
Residence:
description: Описание региона резиденции
type: object