Guarantee Change REST API
OpenAPI
Сервис для работы с заявлениями на изменение гарантии
Варианты
- Паблик
Операции API
PUT /v1/guarantee/change — Обновить заявление на изменение
{
"tags": [
"Апи по работе с заявками на изменение гарантии"
],
"summary": "Обновить заявление на изменение",
"operationId": "updateGuaranteeChangeApplicationUsingPUT",
"requestBody": {
"description": "updateGuaranteeChangeApplicationCommand",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Команда на изменение заявления на изменение гарантии"
}
}
},
"required": true
},
"parameters": [
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {}
},
"201": {
"description": "Created",
"content": {}
},
"401": {
"description": "Unauthorized",
"content": {}
},
"403": {
"description": "Forbidden",
"content": {}
},
"404": {
"description": "Not Found",
"content": {}
}
},
"x-codegen-request-body-name": "updateGuaranteeChangeApplicationCommand"
}POST /v1/guarantee/change — Создать заявление на изменение
{
"tags": [
"Апи по работе с заявками на изменение гарантии"
],
"summary": "Создать заявление на изменение",
"operationId": "createGuaranteeChangeApplicationUsingPOST",
"requestBody": {
"description": "createGuaranteeChangeApplicationCommand",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Команда на создание заявления на изменение гарантии"
}
}
},
"required": true
},
"parameters": [
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DTO заявления на изменение гарантии"
}
}
}
},
"201": {
"description": "Created",
"content": {}
},
"401": {
"description": "Unauthorized",
"content": {}
},
"403": {
"description": "Forbidden",
"content": {}
},
"404": {
"description": "Not Found",
"content": {}
}
},
"x-codegen-request-body-name": "createGuaranteeChangeApplicationCommand"
}POST /v1/guarantee/change/list — Получить список заявлений на изменение
{
"tags": [
"Апи по работе с заявками на изменение гарантии"
],
"summary": "Получить список заявлений на изменение",
"operationId": "getGuaranteeChangeApplicationListUsingPOST",
"requestBody": {
"description": "searchCriteria",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DTO фильтра для поиска заявлений на изменение гарантии"
}
}
},
"required": true
},
"parameters": [
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GuaranteeChangeApplicationListDto"
}
}
}
},
"201": {
"description": "Created",
"content": {}
},
"401": {
"description": "Unauthorized",
"content": {}
},
"403": {
"description": "Forbidden",
"content": {}
},
"404": {
"description": "Not Found",
"content": {}
}
},
"x-codegen-request-body-name": "searchCriteria"
}POST /v1/guarantee/change/signature/can-sign — Проверить, может ли текущий пользователь подписать документ
Проверяет может ли текущий пользователь подписать документ и также возвращает список криптов профилей,которыми пользователь может подписать документ
{
"tags": [
"Апи по работе с подписями на изменение гарантии"
],
"summary": "Проверить, может ли текущий пользователь подписать документ",
"description": "Проверяет может ли текущий пользователь подписать документ и также возвращает список криптов профилей,которыми пользователь может подписать документ",
"operationId": "canSignUsingPOST",
"parameters": [
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/ClientIdHeader"
}
],
"requestBody": {
"description": "request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SpecificCanSignRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/CanSignResponse"
}
}
}
},
"201": {
"description": "Created",
"content": {}
},
"401": {
"description": "Unauthorized",
"content": {}
},
"403": {
"description": "Forbidden",
"content": {}
},
"404": {
"description": "Not Found",
"content": {}
}
},
"x-codegen-request-body-name": "request"
}POST /v1/guarantee/change/signature/session/init — Инициализировать новую подпись документа
Инициализирует новую сессию подписания документа, сессия должна быть короткоживущая(например в UI открывается виджет на подписание),UI отправляет запрос init, затем подписывает документ и затем вызывает sign,все 'старые' сессии подписания инвалидируются и удаляются
{
"tags": [
"Апи по работе с подписями на изменение гарантии"
],
"summary": "Инициализировать новую подпись документа",
"description": "Инициализирует новую сессию подписания документа, сессия должна быть короткоживущая(например в UI открывается виджет на подписание),UI отправляет запрос init, затем подписывает документ и затем вызывает sign,все 'старые' сессии подписания инвалидируются и удаляются",
"operationId": "initUsingPOST",
"parameters": [
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/ClientIdHeader"
}
],
"requestBody": {
"description": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SpecificInitCommand"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Created",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/InitResponse"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {}
},
"403": {
"description": "Forbidden",
"content": {}
},
"404": {
"description": "Not Found",
"content": {}
}
},
"x-codegen-request-body-name": "command"
}POST /v1/guarantee/change/signature/session/sign — Отправить подпись документа в банк
Отправляет подпись на проверку в банк, если подпись невалидна или на документ нельзя нанести такую подпись возникнет ошибка,этот метод завершает жизненный цикл сессии подписания
{
"tags": [
"Апи по работе с подписями на изменение гарантии"
],
"summary": "Отправить подпись документа в банк",
"description": "Отправляет подпись на проверку в банк, если подпись невалидна или на документ нельзя нанести такую подпись возникнет ошибка,этот метод завершает жизненный цикл сессии подписания",
"operationId": "signUsingPOST",
"parameters": [
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/ClientIdHeader"
}
],
"requestBody": {
"description": "command",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SignCommand"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/SignResponse"
}
}
}
},
"201": {
"description": "Created",
"content": {}
},
"401": {
"description": "Unauthorized",
"content": {}
},
"403": {
"description": "Forbidden",
"content": {}
},
"404": {
"description": "Not Found",
"content": {}
}
},
"x-codegen-request-body-name": "command"
}GET /v1/guarantee/change/{guaranteeChangeApplicationNumber} — Получить заявление на изменение
{
"tags": [
"Апи по работе с заявками на изменение гарантии"
],
"summary": "Получить заявление на изменение",
"operationId": "getGuaranteeChangeApplicationUsingGET",
"parameters": [
{
"name": "guaranteeChangeApplicationNumber",
"in": "path",
"description": "guaranteeChangeApplicationNumber",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DTO заявления на изменение гарантии"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {}
},
"403": {
"description": "Forbidden",
"content": {}
},
"404": {
"description": "Not Found",
"content": {}
}
}
}Схемы и примеры
{
"schemas": {
"ActionDto": {
"title": "ActionDto",
"required": [
"actionType",
"permissionType"
],
"type": "object",
"properties": {
"actionType": {
"type": "string"
},
"permissionType": {
"type": "string",
"enum": [
"ALLOWED",
"DENIED"
]
}
}
},
"AuthorityDto": {
"title": "AuthorityDto",
"type": "object",
"properties": {
"cryptoProfiles": {
"type": "array",
"description": "Список крипто профилей которыми пользователь может подписать документ",
"items": {
"$ref": "#/components/schemas/CryptoProfileDto"
}
},
"signatureType": {
"type": "string",
"description": "Тип подписи"
}
}
},
"CanSignResponse": {
"title": "CanSignResponse",
"type": "object",
"properties": {
"authorities": {
"type": "array",
"description": "Полномочия которые позволяют текущему пользователю подписать документ или операцию",
"items": {
"$ref": "#/components/schemas/AuthorityDto"
}
},
"canSign": {
"type": "boolean",
"description": "Возвращается 'true' если текущий пользователь может подписать документ или операцию, 'false' в противном случае"
}
}
},
"CertificateDto": {
"title": "CertificateDto",
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "Контент сертификата подписи"
},
"id": {
"type": "string",
"description": "Идентификатор сертификата подписи"
},
"issuer": {
"type": "string"
},
"keyRef": {
"type": "string"
},
"serialNumber": {
"type": "string",
"description": "Серийный номер сертификата"
},
"signer": {
"type": "string"
},
"validUntil": {
"type": "string",
"description": "Сертификат валиден до",
"format": "date"
}
}
},
"CryptoProfileDto": {
"title": "CryptoProfileDto",
"type": "object",
"properties": {
"certificate": {
"$ref": "#/components/schemas/CertificateDto"
},
"id": {
"type": "string",
"description": "Идентификатор крипто профиля"
},
"name": {
"type": "string",
"description": "Название крипто профиля"
}
}
},
"DTO бенефициара": {
"title": "DTO бенефициара",
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "Адрес местанахождения"
},
"fullName": {
"type": "string",
"description": "Полное наименование"
},
"inn": {
"type": "string",
"description": "ИНН"
},
"kpp": {
"type": "string",
"description": "КПП"
},
"ogrn": {
"type": "string",
"description": "ОГРН"
},
"oktmo": {
"type": "string",
"description": "ОКТМО"
},
"postAddress": {
"type": "string",
"description": "Почтовый адрес"
},
"registrationDate": {
"type": "string",
"description": "Дата постановки на учет в ФНС",
"format": "date"
},
"shortName": {
"type": "string",
"description": "Сокращенное наименование"
}
}
},
"DTO заявления на изменение гарантии": {
"title": "DTO заявления на изменение гарантии",
"required": [
"availableActions"
],
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "Новая сумма гарантии"
},
"amountOld": {
"type": "number",
"description": "Сумма гарантии"
},
"applicationDate": {
"type": "string",
"description": "Дата заявления",
"format": "date"
},
"applicationNumber": {
"type": "string",
"description": "Номер заявления на изменение гарантии"
},
"availableActions": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActionDto"
}
},
"beneficiary": {
"$ref": "#/components/schemas/DTO бенефициара"
},
"changeType": {
"type": "string",
"description": "Тип изменения"
},
"cnum": {
"type": "string",
"description": "CNUM организации"
},
"comment": {
"type": "string",
"description": "Комментарий"
},
"createdOn": {
"type": "string",
"description": "Дата создания заявления на изменения",
"format": "date-time"
},
"currency": {
"type": "string",
"description": "Валюта"
},
"endDate": {
"type": "string",
"description": "Новая дата окончания",
"format": "date"
},
"endDateOld": {
"type": "string",
"description": "Дата окончания",
"format": "date"
},
"guaranteeNumber": {
"type": "string",
"description": "Номер гарантии"
},
"guaranteeType": {
"type": "string",
"description": "Тип гарантии"
},
"hasUnreadComment": {
"type": "boolean"
},
"issueDate": {
"type": "string",
"description": "Дата выпуска изменений",
"format": "date"
},
"reason": {
"type": "string",
"description": "Основание для изменений"
},
"rejectionComment": {
"type": "string",
"description": "Коммент отказа"
},
"reviseComment": {
"type": "string",
"description": "Коммент ревизия"
},
"source": {
"type": "string",
"description": "Канал"
},
"startDate": {
"type": "string",
"description": "Дата вступления в силу изменений",
"format": "date"
},
"status": {
"type": "string",
"description": "Статус заявления",
"enum": [
"BANK_PROCESSING",
"DELETED",
"DRAFT",
"ISSUED",
"ON_PENDING_BANK",
"ON_SIGN",
"PARTIALLY_SIGNED",
"REJECTED",
"SIGNED"
]
},
"version": {
"type": "integer",
"description": "Версия заявления",
"format": "int64"
}
}
},
"DTO фильтра для поиска заявлений на изменение гарантии": {
"title": "DTO фильтра для поиска заявлений на изменение гарантии",
"type": "object",
"properties": {
"cnums": {
"type": "array",
"description": "CNUM организаций",
"items": {
"type": "string"
}
},
"createdOn": {
"$ref": "#/components/schemas/RangeDto«LocalDate»"
},
"guaranteeNumber": {
"type": "string",
"description": "Номер гарантии"
},
"guaranteeType": {
"type": "array",
"description": "Типы гарантий",
"items": {
"type": "string"
}
},
"issueDate": {
"$ref": "#/components/schemas/RangeDto«LocalDate»"
},
"number": {
"type": "string",
"description": "Номер заявления на изменение гарантии"
},
"page": {
"$ref": "#/components/schemas/PageDto"
},
"sortBy": {
"$ref": "#/components/schemas/SortDto"
},
"startDate": {
"$ref": "#/components/schemas/RangeDto«LocalDate»"
},
"status": {
"type": "array",
"description": "Статусы заявления",
"items": {
"type": "string",
"enum": [
"BANK_PROCESSING",
"DELETED",
"DRAFT",
"ISSUED",
"ON_PENDING_BANK",
"ON_SIGN",
"PARTIALLY_SIGNED",
"REJECTED",
"SIGNED"
]
}
}
}
},
"GuaranteeChangeApplicationListDto": {
"title": "GuaranteeChangeApplicationListDto",
"required": [
"pagesCount",
"rows",
"totalRows"
],
"type": "object",
"properties": {
"pagesCount": {
"type": "integer",
"format": "int32"
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DTO заявления на изменение гарантии"
}
},
"totalRows": {
"type": "integer",
"format": "int64"
}
}
},
"InitResponse": {
"title": "InitResponse",
"type": "object",
"properties": {
"attempts": {
"type": "integer",
"description": "Оставшееся количество попыток подписания до блокировки",
"format": "int32"
},
"digest": {
"$ref": "#/components/schemas/DigestDto"
},
"sessionId": {
"type": "string",
"description": "Идентификатор сессии подписания"
},
"timeoutMs": {
"type": "integer",
"description": "Таймаут между подписаниям",
"format": "int32"
}
}
},
"InputStream": {
"title": "InputStream",
"type": "object"
},
"PageDto": {
"title": "PageDto",
"type": "object",
"properties": {
"number": {
"type": "integer",
"format": "int32"
},
"size": {
"type": "integer",
"format": "int32"
}
}
},
"RangeDto«LocalDate»": {
"title": "RangeDto«LocalDate»",
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date"
},
"to": {
"type": "string",
"format": "date"
}
}
},
"Resource": {
"title": "Resource",
"type": "object",
"properties": {
"description": {
"type": "string"
},
"file": {
"type": "file",
"format": "binary"
},
"filename": {
"type": "string"
},
"inputStream": {
"$ref": "#/components/schemas/InputStream"
},
"open": {
"type": "boolean"
},
"readable": {
"type": "boolean"
},
"uri": {
"type": "string",
"format": "uri"
},
"url": {
"type": "string",
"format": "url"
}
}
},
"SignCommand": {
"title": "SignCommand",
"type": "object",
"properties": {
"sessionId": {
"type": "string",
"description": "Идентификатор сессии подписания"
},
"signature": {
"type": "string",
"description": "Подпись в base64"
}
}
},
"SignResponse": {
"title": "SignResponse",
"type": "object",
"properties": {
"complete": {
"type": "boolean",
"description": "Завершена ли операция корректно или нет"
},
"entityId": {
"type": "string",
"description": "Идентификатор подписанной сущности"
},
"entitySignStatus": {
"type": "string",
"description": "Статус подписания всей сущности(см. SignatureStatus)"
},
"entityType": {
"type": "string",
"description": "Идентификатор подписанной сущности"
},
"sessionId": {
"type": "string",
"description": "Идентификатор сессии подписания"
}
}
},
"SortDto": {
"title": "SortDto",
"required": [
"field"
],
"type": "object",
"properties": {
"field": {
"type": "string"
},
"order": {
"type": "string"
}
}
},
"SpecificCanSignRequest": {
"title": "SpecificCanSignRequest",
"type": "object",
"properties": {
"entityId": {
"type": "string",
"description": "Идентификатор подписываемой сущности(документа)"
}
}
},
"SpecificInitCommand": {
"title": "SpecificInitCommand",
"type": "object",
"properties": {
"cryptoProfileId": {
"type": "string",
"description": "Профиль подписи"
},
"entityId": {
"type": "string",
"description": "Идентификатор подписываемой сущности(документа)"
},
"sessionId": {
"type": "string",
"description": "Идентификатор сессии подписания(генерируется на фронте, должен быть глобально уникален, например UUID)"
},
"signatureProviderType": {
"type": "string",
"description": "Тип провайдера для подписи(crypto-pro, otp и т.д.)"
}
}
},
"StatusResponseDto": {
"title": "StatusResponseDto",
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Статус"
}
}
},
"UserInfoDTO": {
"title": "UserInfoDTO",
"type": "object",
"properties": {
"clientId": {
"type": "string"
},
"fullName": {
"type": "string"
},
"login": {
"type": "string"
},
"userId": {
"type": "string"
}
}
},
"Команда на изменение заявления на изменение гарантии": {
"title": "Команда на изменение заявления на изменение гарантии",
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "Новая сумма гарантии"
},
"amountOld": {
"type": "number",
"description": "Сумма гарантии"
},
"applicationNumber": {
"type": "string",
"description": "Номер заявления на изменение гарантии"
},
"changeType": {
"type": "string",
"description": "Тип изменения"
},
"cnum": {
"type": "string",
"description": "CNUM организации"
},
"comment": {
"type": "string",
"description": "Комментарий"
},
"currency": {
"type": "string",
"description": "Валюта"
},
"endDate": {
"type": "string",
"description": "Новая дата окончания",
"format": "date"
},
"endDateOld": {
"type": "string",
"description": "Дата окончания",
"format": "date"
},
"guaranteeNumber": {
"type": "string",
"description": "Номер гарантии"
},
"guaranteeType": {
"type": "string",
"description": "Тип гарантии"
},
"issueDate": {
"type": "string",
"description": "Дата выпуска изменений",
"format": "date"
},
"reason": {
"type": "string",
"description": "Основание для изменений"
},
"source": {
"type": "string",
"description": "Канал"
},
"startDate": {
"type": "string",
"description": "Дата вступления в силу изменений",
"format": "date"
},
"version": {
"type": "integer",
"description": "Версия заявления",
"format": "int64"
}
}
},
"Команда на создание заявления на изменение гарантии": {
"title": "Команда на создание заявления на изменение гарантии",
"type": "object",
"properties": {
"amount": {
"type": "number",
"description": "Новая сумма гарантии"
},
"amountOld": {
"type": "number",
"description": "Сумма гарантии"
},
"changeType": {
"type": "string",
"description": "Тип изменения"
},
"cnum": {
"type": "string",
"description": "CNUM организации"
},
"comment": {
"type": "string",
"description": "Комментарий"
},
"currency": {
"type": "string",
"description": "Валюта"
},
"endDate": {
"type": "string",
"description": "Новая дата окончания",
"format": "date"
},
"endDateOld": {
"type": "string",
"description": "Дата окончания",
"format": "date"
},
"guaranteeNumber": {
"type": "string",
"description": "Номер гарантии"
},
"guaranteeType": {
"type": "string",
"description": "Тип гарантии"
},
"issueDate": {
"type": "string",
"description": "Дата выпуска изменений",
"format": "date"
},
"reason": {
"type": "string",
"description": "Основание для изменений"
},
"source": {
"type": "string",
"description": "Канал"
},
"startDate": {
"type": "string",
"description": "Дата вступления в силу изменений",
"format": "date"
}
}
},
"DigestDto": {
"title": "DigestDto",
"type": "object",
"properties": {
"content": {
"type": "string",
"description": "В случае типа дайджеста binary сюда пишем контент в base64"
},
"params": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Параметры сущности подписания(в случае с документом это могут внутренние основные поля, например сумма, название бенефициара и т.д.)"
},
"type": {
"type": "string",
"description": "Тип дайджеста(template, binary)"
},
"version": {
"type": "string",
"description": "Версия схемы дайджеста(если схема дайджеста меняется)"
}
}
}
},
"securitySchemes": {
"bearerAuth": {
"type": "http",
"description": "Токен доступа",
"scheme": "bearer",
"bearerFormat": "JWT"
}
},
"parameters": {
"IdTokenHeader": {
"name": "Id-Token",
"in": "header",
"description": "Идентификационный токен пользователя",
"required": true,
"schema": {
"type": "string",
"format": "byte"
}
},
"ClientIdHeader": {
"name": "x-clientId",
"in": "header",
"description": "Идентификатор пользователя",
"required": true,
"schema": {
"type": "string"
}
}
}
}