{ "swagger": "2.0", "info": { "description": "", "version": "", "title": "" }, "host": "", "basePath": "", "tags": [ { "name": "Бонусный сервер", "description": "Показать/скрыть методы" } ], "paths": { "/rest/v1/accounts": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список счетов с бонусного сервера, без параметров пейджинации - максимально 500 записей", "operationId": "getAccountsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "pageNumber", "in": "query", "description": "Номер страницы данных, которые нужно отобразить", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "Количество записей в каждой странице", "required": false, "type": "integer", "format": "int32" }, { "name": "withCards", "in": "query", "description": "Указывать привязанные карты", "required": false, "type": "boolean" }, { "name": "number_starting", "in": "query", "description": "Искать счета, начинающиеся с...", "required": false, "type": "string" }, { "name": "withBalance", "in": "query", "description": "Указывать баланс", "required": false, "type": "boolean" }, { "name": "withAcceptedBalance", "in": "query", "description": "Указывать информацию о начислениях по срокам действия, выводится только с балансом", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/AccountExtended" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] } ] }, "post": { "tags": [ "Бонусный сервер" ], "summary": "Добавить счет на сервер", "operationId": "addAccountsUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "account", "description": "Добавляемый счет", "required": false, "schema": { "$ref": "#/definitions/Account" } } ], "responses": { "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] } ] } }, "/rest/v1/accounts/bypage": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список счетов с бонусного сервера, без параметров пейджинации - максимально 500 записей", "operationId": "getAccountsByPageUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "pageNumber", "in": "query", "description": "Номер страницы данных, которые нужно отобразить", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "Количество записей в каждой странице", "required": false, "type": "integer", "format": "int32" }, { "name": "withCards", "in": "query", "description": "Указывать привязанные карты", "required": false, "type": "boolean" }, { "name": "number_starting", "in": "query", "description": "Искать счета, начинающиеся с...", "required": false, "type": "string" }, { "name": "withBalance", "in": "query", "description": "Указывать баланс", "required": false, "type": "boolean" }, { "name": "withAcceptedBalance", "in": "query", "description": "Указывать информацию о начислениях по срокам действия, выводится только с балансом", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Page«AccountExtended»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] } ] } }, "/rest/v1/accounts/{number}": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить счет по его номеру", "operationId": "getAccountUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "number", "in": "path", "description": "Номер счета", "required": false, "type": "string" }, { "name": "withCards", "in": "query", "description": "Указывать привязанные карты", "required": false, "type": "boolean" }, { "name": "withoutBalance", "in": "query", "description": "Не указывать баланс", "required": false, "type": "boolean" }, { "name": "withAcceptedBalance", "in": "query", "description": "Указывать информацию о начислениях по срокам действия, выводится только с балансом", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AccountExtended" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список операций, без параметров пейджинации - максимально 500 записей", "operationId": "getAssetsUsingGET_1", "produces": [ "*/*" ], "parameters": [ { "name": "cardNumber", "in": "query", "description": "Фильтр по номеру карты", "required": false, "type": "string" }, { "name": "accountNumber", "in": "query", "description": "Фильтр по номеру счета", "required": false, "type": "string" }, { "name": "type", "in": "query", "description": "Фильтр по типу операций", "required": false, "type": "string", "enum": [ "PAY", "BACK", "ADD", "SUB", "FIRED" ] }, { "name": "withTransaction", "in": "query", "description": "Указывать транзакции", "required": false, "type": "boolean" }, { "name": "pageNumber", "in": "query", "description": "Номер страницы данных, которые нужно отобразить", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "Количество записей в каждой странице", "required": false, "type": "integer", "format": "int32" }, { "name": "sortByTimeDescending", "in": "query", "description": "Сортировать по времени в порядке убывания времени", "required": false, "type": "boolean" }, { "name": "sortByTimeAscending", "in": "query", "description": "Сортировать по времени в порядке возрастания времени", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/AssetExtended" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] }, "post": { "tags": [ "Бонусный сервер" ], "summary": "Провести операцию", "operationId": "addAssetsUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "nonConfirm", "in": "query", "description": "Только зарезервировать средства (для закрытия транзакции нужно будет послать команду commit или rollback)", "required": false, "type": "boolean" }, { "name": "cancelOthers", "in": "query", "description": "Аннулировать для счета все предыдущие транзакции", "required": false, "type": "boolean" }, { "name": "forceCancelOthers", "in": "query", "description": "Аннулировать для счета все предыдущие транзакции, игнорируя статус карты", "required": false, "type": "boolean" }, { "name": "transactionReason", "in": "query", "description": "Установить причину проведения операции", "required": false, "type": "string" }, { "name": "transactionSource", "in": "query", "description": "Установить источник проведения операции", "required": false, "type": "string" }, { "in": "body", "name": "asset", "description": "asset", "required": true, "schema": { "$ref": "#/definitions/Asset" } } ], "responses": { "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/back": { "post": { "tags": [ "Бонусный сервер" ], "summary": "Провести операцию", "operationId": "backBonusByGroupsUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "nonConfirm", "in": "query", "description": "Только зарезервировать средства (для закрытия транзакции нужно будет послать команду commit или rollback)", "required": false, "type": "boolean" }, { "name": "transactionReason", "in": "query", "description": "Установить причину проведения операции", "required": false, "type": "string" }, { "name": "transactionSource", "in": "query", "description": "Установить источник проведения операции", "required": false, "type": "string" }, { "name": "parentSessionId", "in": "query", "description": "SessionId операции оплаты(для возврата по чеку)", "required": false, "type": "string" }, { "name": "fullReturn", "in": "query", "description": "Признак полного возврата по чеку продажи", "required": false, "type": "boolean" }, { "in": "body", "name": "asset", "description": "asset", "required": true, "schema": { "$ref": "#/definitions/Asset" } } ], "responses": { "200": { "description": "OK" }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/bypage": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список операций, без параметров пейджинации - максимально 500 записей", "operationId": "getAssetsByPageUsingGET_1", "produces": [ "*/*" ], "parameters": [ { "name": "cardNumber", "in": "query", "description": "Фильтр по номеру карты", "required": false, "type": "string" }, { "name": "accountNumber", "in": "query", "description": "Фильтр по номеру счета", "required": false, "type": "string" }, { "name": "type", "in": "query", "description": "Фильтр по типу операций", "required": false, "type": "string", "enum": [ "PAY", "BACK", "ADD", "SUB", "FIRED" ] }, { "name": "withTransaction", "in": "query", "description": "Указывать транзакции", "required": false, "type": "boolean" }, { "name": "pageNumber", "in": "query", "description": "Номер страницы данных, которые нужно отобразить", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "Количество записей в каждой странице", "required": false, "type": "integer", "format": "int32" }, { "name": "sortByTimeDescending", "in": "query", "description": "Сортировать по времени в порядке убывания времени", "required": false, "type": "boolean" }, { "name": "sortByTimeAscending", "in": "query", "description": "Сортировать по времени в порядке возрастания времени", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Page«AssetExtended»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/bypage/date-range": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список операций с временными границами, без параметров пейджинации - максимально 500 записей", "operationId": "getAssetsByPageUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "cardNumber", "in": "query", "description": "Фильтр по номеру карты", "required": false, "type": "string" }, { "name": "accountNumber", "in": "query", "description": "Фильтр по номеру счета", "required": false, "type": "string" }, { "name": "type", "in": "query", "description": "Фильтр по типу операций", "required": false, "type": "string", "enum": [ "PAY", "BACK", "ADD", "SUB", "FIRED" ] }, { "name": "withTransaction", "in": "query", "description": "Указывать транзакции", "required": false, "type": "boolean" }, { "name": "pageNumber", "in": "query", "description": "Номер страницы данных, которые нужно отобразить", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "Количество записей в каждой странице", "required": false, "type": "integer", "format": "int32" }, { "name": "sortByTimeDescending", "in": "query", "description": "Сортировать по времени в порядке убывания времени", "required": false, "type": "boolean" }, { "name": "sortByTimeAscending", "in": "query", "description": "Сортировать по времени в порядке возрастания времени", "required": false, "type": "boolean" }, { "name": "fromDate", "in": "query", "description": "Начальная граница для учета начислений/списаний", "required": false, "type": "integer", "format": "int64" }, { "name": "toDate", "in": "query", "description": "Конечная граница для учета начислений/списаний", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Page«AssetExtended»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/date-range": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список операций с временными границами, без параметров пейджинации - максимально 500 записей", "operationId": "getAssetsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "cardNumber", "in": "query", "description": "Фильтр по номеру карты", "required": false, "type": "string" }, { "name": "fromDate", "in": "query", "description": "Начальная граница для учета начислений/списаний", "required": false, "type": "integer", "format": "int64" }, { "name": "toDate", "in": "query", "description": "Конечная граница для учета начислений/списаний", "required": false, "type": "integer", "format": "int64" }, { "name": "offset", "in": "query", "description": "Смещение записей", "required": false, "type": "integer", "default": 0, "format": "int32" }, { "name": "limit", "in": "query", "description": "Количество записей", "required": false, "type": "integer", "default": 500, "format": "int32" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/AssetExtended" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/with-fired": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список операций вместе с сгоревшими начислениями", "operationId": "getAssetWithFiredUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "cardNumber", "in": "query", "description": "Фильтр по номеру карты", "required": false, "type": "string" }, { "name": "accountNumber", "in": "query", "description": "Фильтр по номеру счета", "required": false, "type": "string" }, { "name": "withTransaction", "in": "query", "description": "Указывать транзакции(начислений/списаний)", "required": false, "type": "boolean" }, { "name": "sortByTimeDescending", "in": "query", "description": "Сортировать по времени в порядке убывания", "required": false, "type": "boolean" }, { "name": "sortByTimeAscending", "in": "query", "description": "Сортировать по времени в порядке возрастания", "required": false, "type": "boolean" }, { "name": "fromDate", "in": "query", "description": "Начальная граница для учета начислений/списаний/сгораний", "required": false, "type": "integer", "format": "int64" }, { "name": "toDate", "in": "query", "description": "Конечная граница для учета начислений/списаний/сгораний", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/AssetExtended" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/{parentSessionId}/revertEarn": { "post": { "tags": [ "Бонусный сервер" ], "summary": "Произвести операцию, обратную начислению, по sessionId", "operationId": "revertEarnAssetUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "parentSessionId", "in": "path", "description": "Идентификатор родительской операции, для которой будет создана обратная", "required": false, "type": "string" }, { "in": "body", "name": "revertAsset", "description": "Параметры для добавляемой обратной операции", "required": false, "schema": { "$ref": "#/definitions/RevertAsset" } }, { "name": "transactionReason", "in": "query", "description": "Установить причину проведения операции", "required": false, "type": "string" }, { "name": "transactionSource", "in": "query", "description": "Установить источник проведения операции", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK" }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/{sessionId}": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить операции по идентификатору операции (их может быть несколько, если производилась оплата)", "operationId": "getAssetUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "sessionId", "in": "path", "description": "Идентификатор операции", "required": false, "type": "string" }, { "name": "withoutTransaction", "in": "query", "description": "Не указывать транзакции", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/AssetExtended" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/{sessionId}/cancel": { "put": { "tags": [ "Бонусный сервер" ], "summary": "Отменить операцию", "operationId": "cancelAssetUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "sessionId", "in": "path", "description": "Идентификатор операции", "required": false, "type": "string" }, { "name": "transactionReason", "in": "query", "description": "Установить причину проведения операции", "required": false, "type": "string" }, { "name": "transactionSource", "in": "query", "description": "Установить источник проведения операции", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK" }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/{sessionId}/commit": { "put": { "tags": [ "Бонусный сервер" ], "summary": "Закрыть операцию потдверждением ее воздействия.", "operationId": "commitAssetUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "sessionId", "in": "path", "description": "Идентификатор операции", "required": false, "type": "string" }, { "name": "transactionReason", "in": "query", "description": "Установить причину проведения операции", "required": false, "type": "string" }, { "name": "transactionSource", "in": "query", "description": "Установить источник проведения операции", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK" }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/assets/{sessionId}/rollback": { "put": { "tags": [ "Бонусный сервер" ], "summary": "Закрыть операцию отменой ее воздействия.", "operationId": "rollbackAssetUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "sessionId", "in": "path", "description": "Идентификатор операции", "required": false, "type": "string" }, { "name": "transactionReason", "in": "query", "description": "Установить причину проведения операции", "required": false, "type": "string" }, { "name": "transactionSource", "in": "query", "description": "Установить источник проведения операции", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK" }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/card/account/move": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Привязать карту и все транзакции к другому аккаунту", "operationId": "moveTheCardToTheAccountUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "cardNumber", "in": "query", "description": "Номер карты", "required": false, "type": "string" }, { "name": "accountNumber", "in": "query", "description": "Номер счета", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] }, { "ROLE_TERMINAL": [] } ] } }, "/rest/v1/card/related_cards": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить короткую информацию по счетам", "operationId": "getShortRelatedCardsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "cardNumbers", "in": "query", "description": "Номера карт", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/Card" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] }, { "ROLE_TERMINAL": [] } ] } }, "/rest/v1/cards": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список карт с бонусного сервера, без параметров пейджинации - максимально 500 записей", "operationId": "getCardsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "forNumbers", "in": "query", "description": "Получить информацию только для тех номеров карт, которые указаны в параметре через запятую, не более 100 номеров", "required": false, "type": "string" }, { "name": "pageNumber", "in": "query", "description": "Номер страницы данных, которые нужно отобразить", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "Количество записей в каждой странице", "required": false, "type": "integer", "format": "int32" }, { "name": "number_starting", "in": "query", "description": "Искать карты, начинающиеся с...", "required": false, "type": "string" }, { "name": "withBalance", "in": "query", "description": "Указывать баланс", "required": false, "type": "boolean" }, { "name": "withAcceptedBalance", "in": "query", "description": "Указывать информацию о начислениях по срокам действия, выводится только с балансом", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/CardExtended" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] } ] }, "post": { "tags": [ "Бонусный сервер" ], "summary": "Добавить карту на сервер", "operationId": "addCardUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "card", "description": "Добавляемая карта", "required": false, "schema": { "$ref": "#/definitions/Card" } } ], "responses": { "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] } ] } }, "/rest/v1/cards/bypage": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список карт с бонусного сервера, без параметров пейджинации - максимально 500 записей", "operationId": "getCardsByPageUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "forNumbers", "in": "query", "description": "Получить информацию только для тех номеров карт, которые указаны в параметре через запятую, не более 100 номеров", "required": false, "type": "string" }, { "name": "pageNumber", "in": "query", "description": "Номер страницы данных, которые нужно отобразить", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "Количество записей в каждой странице", "required": false, "type": "integer", "format": "int32" }, { "name": "number_starting", "in": "query", "description": "Искать карты, начинающиеся с...", "required": false, "type": "string" }, { "name": "withBalance", "in": "query", "description": "Указывать баланс", "required": false, "type": "boolean" }, { "name": "withAcceptedBalance", "in": "query", "description": "Указывать информацию о начислениях по срокам действия, выводится только с балансом", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Page«CardExtended»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] } ] } }, "/rest/v1/cards/{number}": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить карту по ее номеру", "operationId": "getCardUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "number", "in": "path", "description": "Номер карты", "required": false, "type": "string" }, { "name": "withoutBalance", "in": "query", "description": "Не указывать баланс", "required": false, "type": "boolean" }, { "name": "withAcceptedBalance", "in": "query", "description": "Указывать информацию о начислениях по срокам действия, выводится только с балансом", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CardExtended" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] }, "put": { "tags": [ "Бонусный сервер" ], "summary": "Поменять карту (привязку к счету или статус)", "operationId": "updateCardUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "number", "in": "path", "description": "Номер карты", "required": false, "type": "string" }, { "in": "body", "name": "card", "description": "Добавляемая карта", "required": false, "schema": { "$ref": "#/definitions/Card" } }, { "name": "forceBindAccount", "in": "query", "description": "Привязать счет, даже если к карте уже привязан другой счет", "required": false, "type": "boolean" } ], "responses": { "201": { "description": "Created" }, "202": { "description": "Accepted" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] } ] } }, "/rest/v1/cards/{number}/assets": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список операций для карты по ее номеру, без параметров пейджинации - максимально 500 записей", "operationId": "getAssetsForCardUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "number", "in": "path", "description": "Номер карты", "required": false, "type": "string" }, { "name": "withTransaction", "in": "query", "description": "Указывать транзакции", "required": false, "type": "boolean" }, { "name": "onlyForCard", "in": "query", "description": "Показать транзакции, проведенные только по карте", "required": false, "type": "boolean" }, { "name": "pageNumber", "in": "query", "description": "Номер страницы данных, которые нужно отобразить", "required": false, "type": "integer", "format": "int32" }, { "name": "pageSize", "in": "query", "description": "Количество записей в каждой странице", "required": false, "type": "integer", "format": "int32" }, { "name": "sortByTimeDescending", "in": "query", "description": "Сортировать по времени в порядке убывания времени", "required": false, "type": "boolean" }, { "name": "sortByTimeAscending", "in": "query", "description": "Сортировать по времени в порядке возрастания времени", "required": false, "type": "boolean" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/AssetExtended" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/expiringBonuses": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить список сущностей с информацией об истекающих бонусах, необходимые для сервиса рассылок", "operationId": "getAccountingExpiringBonusEntriesUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "daysBefore", "in": "query", "description": "Дней до сгорания", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/AccountingExpiringBonusEntry" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/pincode": { "post": { "tags": [ "Бонусный сервер" ], "summary": "Привязать пинкод к карте", "operationId": "savePincodeUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "pincode", "description": "pincode", "required": true, "schema": { "$ref": "#/definitions/Pincode" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "boolean" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] }, "put": { "tags": [ "Бонусный сервер" ], "summary": "Изменить пинкод для карты", "operationId": "updatePincodeUsingPUT", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "pincode", "description": "pincode", "required": true, "schema": { "$ref": "#/definitions/Pincode" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "boolean" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/pincode/{cardNumber}": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить пинкод по номеру карты", "operationId": "getPincodeByCardNumberUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "cardNumber", "in": "path", "description": "Номер карты", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "type": "string" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] }, "delete": { "tags": [ "Бонусный сервер" ], "summary": "Удалить пинкод по номеру карты", "operationId": "deletePincodeByCardNumberUsingDELETE", "produces": [ "*/*" ], "parameters": [ { "name": "cardNumber", "in": "path", "description": "Номер карты", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "type": "boolean" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } }, "security": [ { "ROLE_TERMINAL": [] }, { "ROLE_ADMIN": [] } ] } }, "/rest/v1/settings": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Показать настройки Accounting-сервера.", "operationId": "getSettingsUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/AccountingSettings" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "security": [ { "ROLE_ADMIN": [] } ] } }, "/rest/v1/version": { "get": { "tags": [ "Бонусный сервер" ], "summary": "Получить информацию о версии сервиса", "operationId": "versionUsingGET", "produces": [ "*/*" ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Version" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } } }, "definitions": { "AcceptedBalance": { "type": "object", "properties": { "acceptId": { "type": "string", "description": "Идентификатор, по которому устанавливались временные ограничения действия бонусов", "allowEmptyValue": false }, "acceptWeight": { "type": "integer", "format": "int32", "description": "Число, указывающее порядок применения начислений данной транзакции - операции с большим числом будут иметь приоритет при операциях списывания", "allowEmptyValue": false }, "balance": { "type": "integer", "format": "int64", "description": "Доступные средства по данной группе начислений", "allowEmptyValue": false }, "balanceInactive": { "type": "integer", "format": "int64", "description": "Неактивированные средства по данной группе начислений", "allowEmptyValue": false }, "timeBeginAccept": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false }, "timeEndAccept": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false } }, "title": "AcceptedBalance", "description": "Информация о балансе разделенная по времени применения и сгорания" }, "Account": { "type": "object", "properties": { "accountId": { "type": "string" }, "number": { "type": "string" } }, "title": "Account", "description": "Информация о счете" }, "AccountExtended": { "type": "object", "properties": { "acceptedBalances": { "type": "array", "description": "Список доступных начилений, сгруппированных по времени их действия", "allowEmptyValue": false, "items": { "$ref": "#/definitions/AcceptedBalance" } }, "balance": { "type": "integer", "format": "int64", "description": "Текущий баланс счета", "allowEmptyValue": false }, "balanceInactive": { "type": "integer", "format": "int64", "description": "Неактивированный баланс счета", "allowEmptyValue": false }, "cards": { "type": "array", "items": { "$ref": "#/definitions/CardExtended" } }, "number": { "type": "string" } }, "title": "AccountExtended", "description": "Информация о счете" }, "AccountingExpiringBonusEntry": { "type": "object", "properties": { "amountBurn": { "type": "integer", "format": "int64" }, "assetIds": { "type": "string" }, "dateBeg": { "type": "string", "format": "date-time" }, "dateEnd": { "type": "string", "format": "date-time" }, "idCard": { "type": "string" } }, "title": "AccountingExpiringBonusEntry" }, "AccountingSettings": { "type": "object", "properties": { "acceptAssetGroupChangedCron": { "type": "string" }, "acceptAssetGroupChangedPath": { "type": "string" }, "acceptCreateAccountByCard": { "type": "boolean" }, "acceptOverdraftBack": { "type": "boolean" }, "acceptOverdraftPay": { "type": "boolean" }, "accountingChangeBalanceEventEnabled": { "type": "boolean" }, "accountingChangeBalanceEventMongodbDatabase": { "type": "string" }, "accountingChangeBalanceEventMongodbUri": { "type": "string" }, "accountingChangeBalanceEventProtocolVersion": { "type": "string" }, "accountingChangeBalanceEventSendBalance": { "type": "boolean" }, "accountingRestAuditBodyMaxLength": { "type": "integer", "format": "int32" }, "accountingRestAuditEnabled": { "type": "boolean" }, "accountingRestAuditFilterMethods": { "type": "string" }, "accountingRestAuditFilterPrefixPaths": { "type": "string" }, "autoCloseTransactionCron": { "type": "string" }, "autoCloseTransactionScriptPath": { "type": "string" }, "autoCloseTransactionTime": { "type": "integer", "format": "int32" }, "backAssetGroupId": { "type": "string" }, "backAssetLifeTime": { "type": "integer", "format": "int32" }, "backAssetLifeWeight": { "type": "integer", "format": "int32" }, "balanceMapReduceScriptPath": { "type": "string" }, "bonusesFiredBeforeDateMonthBegin": { "type": "integer", "format": "int32" }, "bonusesFiredOnDateMonthBegin": { "type": "integer", "format": "int32" }, "checkPincode": { "type": "boolean" }, "checkTransactionOlderThenDays": { "type": "integer", "format": "int32" }, "considerCloseTransactionAfterTimeout": { "type": "boolean" }, "correctAssetsScriptPath": { "type": "string" }, "correctionAssetCron": { "type": "string" }, "countOfErrorIteration": { "type": "integer", "format": "int32" }, "createEreCalculationBalanceTableCron": { "type": "string" }, "defaultAssetGroupId": { "type": "string" }, "defaultAssetGroupWeight": { "type": "integer", "format": "int32" }, "defaultCardStatus": { "type": "string", "enum": [ "ACTIVE", "BLOCKED", "WITHDRAWAL", "ANONYMOUS_CARD", "EARN_PAY", "NO_OPERATION", "EARN_ONLY", "PAY_ONLY" ] }, "earnedPolicy": { "type": "integer", "format": "int32" }, "fireOlderBonusesCron": { "type": "string" }, "fireOlderBonusesScriptPath": { "type": "string" }, "overdraftAmount": { "type": "integer", "format": "int64" }, "payOnlyInFirstPayStore": { "type": "boolean" }, "payedPolicy": { "type": "integer", "format": "int32" }, "secondsBetweenRemoveRecords": { "type": "integer", "format": "int64" }, "secondsEreCalculationsBalance": { "type": "integer", "format": "int64" }, "serviceTerminalId": { "type": "string" }, "useCorrectReverseOperation": { "type": "boolean" }, "useUsersTable": { "type": "boolean" } }, "title": "AccountingSettings" }, "Asset": { "type": "object", "properties": { "acceptId": { "type": "string", "description": "Идентификатор, по которому устанавливались временные ограничения действия бонусов", "allowEmptyValue": false }, "acceptWeight": { "type": "integer", "format": "int32", "description": "Число, указывающее порядок применения начислений данной транзакции - операции с большим числом будут иметь приоритет при операциях списывания", "allowEmptyValue": false }, "additionalInfo": { "type": "object", "description": "Дополнительная информация об операции, полезна для анализа", "allowEmptyValue": false, "additionalProperties": { "type": "string" } }, "amount": { "type": "integer", "format": "int64", "description": "Сумма в копейках", "allowEmptyValue": false }, "cardNumber": { "type": "string", "description": "Номер карты", "allowEmptyValue": false }, "sessionId": { "type": "string", "description": "Уникальный идентификатор операции", "allowEmptyValue": false }, "timeBeginAccept": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false }, "timeEndAccept": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false }, "timeFromCash": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false }, "type": { "type": "string", "description": "Тип операции", "allowEmptyValue": false, "enum": [ "PAY", "BACK", "ADD", "SUB", "FIRED" ] } }, "title": "Asset", "description": "Данные об операции" }, "AssetExtended": { "type": "object", "properties": { "acceptId": { "type": "string", "description": "Идентификатор, по которому устанавливались временные ограничения действия бонусов", "allowEmptyValue": false }, "acceptWeight": { "type": "integer", "format": "int32", "description": "Число, указывающее порядок применения начислений данной транзакции - операции с большим числом будут иметь приоритет при операциях списывания", "allowEmptyValue": false }, "accountNumber": { "type": "string", "description": "Номер счета", "allowEmptyValue": false }, "additionalInfo": { "type": "object", "description": "Дополнительная информация об операции, полезна для анализа", "allowEmptyValue": false, "additionalProperties": { "type": "string" } }, "amount": { "type": "integer", "format": "int64", "description": "Сумма в копейках", "allowEmptyValue": false }, "assetTransactions": { "type": "array", "items": { "$ref": "#/definitions/AssetTransaction" } }, "cardNumber": { "type": "string", "description": "Номер карты", "allowEmptyValue": false }, "lastReason": { "type": "string" }, "lastSource": { "type": "string" }, "sessionId": { "type": "string", "description": "Уникальный идентификатор операции", "allowEmptyValue": false }, "state": { "type": "string", "description": "Последнее состояние операции", "allowEmptyValue": false, "enum": [ "NON_CONFIRMED", "COMMITED", "CANCELLED" ] }, "terminalId": { "type": "string", "description": "Терминал, с которого был произведен запрос на первичное проведение операции", "allowEmptyValue": false }, "time": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false }, "timeBeginAccept": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false }, "timeEndAccept": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false }, "timeFromCash": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false }, "type": { "type": "string", "description": "Тип операции", "allowEmptyValue": false, "enum": [ "PAY", "BACK", "ADD", "SUB", "FIRED" ] } }, "title": "AssetExtended", "description": "Данные об операции" }, "AssetTransaction": { "type": "object", "properties": { "state": { "type": "string", "description": "Последнее состояние операции", "allowEmptyValue": false, "enum": [ "NON_CONFIRMED", "COMMITED", "CANCELLED" ] }, "terminalId": { "type": "string", "description": "Терминал, с которого был произведен запрос на первичное проведение операции", "allowEmptyValue": false }, "time": { "type": "string", "example": "2019-04-23T22:22:44.134+0700", "allowEmptyValue": false }, "transactionReason": { "type": "string", "description": "Причина проведения транзакции", "allowEmptyValue": false }, "transactionSource": { "type": "string" } }, "title": "AssetTransaction" }, "Card": { "type": "object", "properties": { "account": { "$ref": "#/definitions/Account" }, "accountNumber": { "type": "string", "description": "Номер счета, к которому привязана данная карта", "allowEmptyValue": false }, "additionalStatus": { "type": "string", "description": "Дополнительный статус карты", "allowEmptyValue": false }, "cardOperations": { "type": "array", "items": { "$ref": "#/definitions/CardTransaction" } }, "idcard": { "type": "string" }, "lastKnownBonusBalance": { "type": "number" }, "lastKnownBonusBalanceDate": { "type": "string", "format": "date-time" }, "number": { "type": "string", "description": "Номер карты", "allowEmptyValue": false }, "status": { "type": "string", "description": "Текущий статус карты", "allowEmptyValue": false, "enum": [ "EARN_PAY", "NO_OPERATION", "EARN_ONLY", "PAY_ONLY" ] } }, "title": "Card", "description": "Информация о карте" }, "CardExtended": { "type": "object", "properties": { "acceptedBalances": { "type": "array", "description": "Список доступных начилений, сгруппированных по времени их действия", "allowEmptyValue": false, "items": { "$ref": "#/definitions/AcceptedBalance" } }, "accountNumber": { "type": "string", "description": "Номер счета, к которому привязана данная карта", "allowEmptyValue": false }, "additionalStatus": { "type": "string", "description": "Дополнительный статус карты", "allowEmptyValue": false }, "balance": { "type": "integer", "format": "int64", "description": "Текущий баланс привязанного счета", "allowEmptyValue": false }, "balanceInactive": { "type": "integer", "format": "int64", "description": "Неактивированный баланс привязанного счета", "allowEmptyValue": false }, "number": { "type": "string", "description": "Номер карты", "allowEmptyValue": false }, "status": { "type": "string", "description": "Текущий статус карты", "allowEmptyValue": false, "enum": [ "EARN_PAY", "NO_OPERATION", "EARN_ONLY", "PAY_ONLY" ] } }, "title": "CardExtended", "description": "Информация о карте" }, "CardTransaction": { "type": "object", "properties": { "accountNumber": { "type": "string" }, "card": { "$ref": "#/definitions/Card" }, "id": { "type": "integer", "format": "int64" }, "operationDate": { "type": "string", "format": "date-time" }, "status": { "type": "string", "enum": [ "ACTIVE", "BLOCKED", "WITHDRAWAL", "ANONYMOUS_CARD", "EARN_PAY", "NO_OPERATION", "EARN_ONLY", "PAY_ONLY" ] }, "terminal": { "$ref": "#/definitions/Terminal" } }, "title": "CardTransaction" }, "Page«AccountExtended»": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/AccountExtended" } }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/definitions/Sort" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } }, "title": "Page«AccountExtended»" }, "Page«AssetExtended»": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/AssetExtended" } }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/definitions/Sort" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } }, "title": "Page«AssetExtended»" }, "Page«CardExtended»": { "type": "object", "properties": { "content": { "type": "array", "items": { "$ref": "#/definitions/CardExtended" } }, "first": { "type": "boolean" }, "last": { "type": "boolean" }, "number": { "type": "integer", "format": "int32" }, "numberOfElements": { "type": "integer", "format": "int32" }, "size": { "type": "integer", "format": "int32" }, "sort": { "$ref": "#/definitions/Sort" }, "totalElements": { "type": "integer", "format": "int64" }, "totalPages": { "type": "integer", "format": "int32" } }, "title": "Page«CardExtended»" }, "Pincode": { "type": "object", "properties": { "number": { "type": "string" }, "pincode": { "type": "string" }, "updateTime": { "type": "string", "format": "date-time" } }, "title": "Pincode" }, "RevertAsset": { "type": "object", "properties": { "additionalInfo": { "type": "object", "description": "Дополнительная информация об операции, полезна для анализа, ключом НЕ могут быть значения: parentSessionId, dateFromCash, correctAsset, dateFromCash", "allowEmptyValue": false, "additionalProperties": { "type": "string" } }, "amount": { "type": "integer", "format": "int64", "description": "Сумма в копейках, на которую нужно провести обратную операцию, не может быть больше суммы первоначальной операции", "allowEmptyValue": false }, "cardNumber": { "type": "string", "description": "Номер карты", "allowEmptyValue": false }, "sessionId": { "type": "string", "description": "Уникальный идентификатор создаваемой операции, можно не указывать, тогда будет сгенерирован на основе UUID", "allowEmptyValue": false } }, "title": "RevertAsset", "description": "Обратная операция (для проведения возвратов по sessionId)" }, "Sort": { "type": "object", "title": "Sort" }, "Terminal": { "type": "object", "properties": { "blocked": { "type": "boolean" }, "terminalId": { "type": "string" } }, "title": "Terminal" }, "Version": { "type": "object", "properties": { "buildDate": { "type": "string", "description": "Дата сборки", "allowEmptyValue": false }, "info": { "type": "string", "description": "Информация", "allowEmptyValue": false }, "restRevision": { "type": "integer", "format": "int32", "description": "Версия ревизии в изменении rest:v1", "allowEmptyValue": false }, "serverMode": { "type": "string", "enum": [ "FULL_MODE", "LIGHT_MODE" ] }, "serverType": { "type": "string", "enum": [ "BONUSES", "CERTIFICATES", "BONUSES_CERTIFICATES", "COUPONS" ] }, "version": { "type": "string", "description": "Версия сборки", "allowEmptyValue": false } }, "title": "Version" } } }
  • No labels