Loro API
OpenAPI 1.0.0
API для лоро клиентов банка
Варианты
- Паблик
Операции API
POST /v1/payment/validate/mx — Валидация PACS.009.01 и PACS.008.01
{
"tags": [
"Валидация pacs сообщений"
],
"summary": "Валидация PACS.009.01 и PACS.008.01",
"operationId": "validatePacs",
"parameters": [
{
"name": "X-CNUM",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"requestBody": {
"content": {
"application/xml": {
"schema": {
"type": "string"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Валидация успешна",
"content": {
"*/*": {
"schema": {
"type": "object"
}
}
}
},
"400": {
"description": "Критические ошибки валидации (отсутствуют обязательные поля, счет, валюта, сумма и т.д.)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorDto"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"description": "Доступ запрещен (недостаточно прав)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorDto"
}
}
}
},
"422": {
"description": "Ошибки валидации pacs сообщения",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorDto"
}
}
}
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}POST /v1/payment/convert/mx — Конвертация MT сообщения в MX формат
{
"tags": [
"Конвертация MX и MT сообщений"
],
"summary": "Конвертация MT сообщения в MX формат",
"operationId": "convertMtMessageToMxFormat",
"parameters": [
{
"name": "X-CNUM",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"requestBody": {
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Конвертация успешна",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Критические ошибки валидации (отсутствуют обязательные поля, счет, валюта, сумма и т.д.)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorDto"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"description": "Доступ запрещен (недостаточно прав)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorDto"
}
}
}
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}POST /v1/payment/convert/mt — Конвертация MX сообщения в MT формат
{
"tags": [
"Конвертация MX и MT сообщений"
],
"summary": "Конвертация MX сообщения в MT формат",
"operationId": "convertMxMessageToMtFormat",
"parameters": [
{
"name": "X-CNUM",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"requestBody": {
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Конвертация успешна",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Критические ошибки валидации (отсутствуют обязательные поля, счет, валюта, сумма и т.д.)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorDto"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"description": "Доступ запрещен (недостаточно прав)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorDto"
}
}
}
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}GET /v1/payment/tracks/{uetr}/trck — Получение списка TRCK 002 сообщений по UETR платежа
Возвращает список TRCK сообщений в формате XML по UETR платежа
{
"tags": [
"Отслеживание платежа"
],
"summary": "Получение списка TRCK 002 сообщений по UETR платежа",
"description": "Возвращает список TRCK сообщений в формате XML по UETR платежа",
"operationId": "getTrckList",
"parameters": [
{
"name": "uetr",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "X-CNUM",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"403": {
"description": "Доступ запрещен (недостаточно прав)",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorDto"
}
}
}
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}GET /v1/dictionary/bics — Получение справочника БИК
Возвращает список банков по фильтрам: БИК, коррсчет, наименование
{
"tags": [
"Справочник БИК ЦБ РФ"
],
"summary": "Получение справочника БИК",
"description": "Возвращает список банков по фильтрам: БИК, коррсчет, наименование",
"operationId": "getBicDictionary",
"parameters": [
{
"name": "bic",
"in": "query",
"description": "БИКи",
"required": false,
"schema": {
"maxItems": 100,
"minItems": 0,
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "corrAccount",
"in": "query",
"description": "Корр. счета",
"required": false,
"schema": {
"maxItems": 100,
"minItems": 0,
"type": "array",
"items": {
"type": "string"
}
}
},
{
"name": "name",
"in": "query",
"description": "Наименование, подстрока",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "onlyActive",
"in": "query",
"description": "Фильтр по активным записям",
"required": false,
"schema": {
"type": "boolean",
"default": false
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/BicDto"
}
}
}
}
},
"400": {
"description": "Неверный запрос",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiErrorDto"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}GET /v1/reports — Получение отчетов с учетом примененных фильтров и пагинации
{
"tags": [
"Отчёты Лоро-клиентов"
],
"summary": "Получение отчетов с учетом примененных фильтров и пагинации",
"operationId": "getReportModels",
"parameters": [
{
"name": "reportType",
"in": "query",
"description": "Тип отчёта",
"required": true,
"schema": {
"type": "string",
"enum": [
"AVIZO_MT900_MT910",
"CURRENCY_PAYMENT",
"NON_STP",
"RUB_BALANCES",
"FCY_BALANCES",
"INTEREST_LORO_MONTHLY",
"OVERDRAFT_LORO_MONTHLY",
"DEBT_LORO_MONTHLY",
"DEBT_NFI_MONTHLY",
"RUB_FEE_LORO_MONTHLY",
"ARREST_LORO_DAILY"
]
},
"example": "RUB_BALANCES"
},
{
"name": "dateFrom",
"in": "query",
"description": "Дата отчётов с",
"required": true,
"schema": {
"type": "string",
"format": "date"
},
"example": "2025-07-24"
},
{
"name": "dateTo",
"in": "query",
"description": "Дата отчётов по",
"required": true,
"schema": {
"type": "string",
"format": "date"
},
"example": "2025-07-25"
},
{
"name": "limit",
"in": "query",
"description": "Максимальное количество отчётов в ответе, по умолчаниию 10",
"required": false,
"schema": {
"type": "integer"
},
"example": 10
},
{
"name": "offset",
"in": "query",
"description": "Значение смещения строк с отчётами, по умолчанию 0",
"required": false,
"schema": {
"minimum": 0,
"type": "integer"
},
"example": 0
},
{
"name": "sortDirection",
"in": "query",
"description": "Направление сортировки, с возможными значениями \"ASC\" или \"DESC\"",
"required": false,
"schema": {
"type": "string",
"default": "DESC",
"enum": [
"ASC",
"DESC"
]
},
"example": "DESC"
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OffsetPageDebtLoroReportModelRs"
},
"examples": {
"debtReports": {
"summary": "Дебетовый отчет",
"description": "debtReports",
"value": {
"data": [
{
"cnum": "Z12345",
"period": {
"from": "2025-07-24",
"to": "2025-07-25"
},
"clientName": "test",
"accounts": [
"K550987654321"
],
"totalDueAmount": 100,
"reportDetails": [
{
"feeName": "test",
"feeAmount": 0,
"debt": 555.01,
"taxAmount": 666.01,
"currency": "RUB",
"creationDate": "2025-07-01"
}
],
"reportType": "RUB_BALANCES"
}
],
"offset": 0,
"limit": 1,
"totalCount": 1
}
},
"arrestLoroDailyReports": {
"summary": "Отчёт по арестам",
"description": "arrestLoroDailyReports",
"value": {
"data": [
{
"reportType": "ARREST_LORO_DAILY",
"cnum": "Z12345",
"period": {
"from": "2025-07-24",
"to": "2025-07-25"
},
"clientName": "test",
"accountDetails": [
{
"account": "K551234567890",
"totalAccountArrests": 111.01,
"arrestAccountStatus": "BLOCKED",
"arrestDetails": [
{
"arrestStartDate": "2025-07-25",
"currentArrestSum": 116.9,
"arrestStatus": "ACTIVE",
"arrestType": "FULL",
"arrestEvents": [
{
"arrestNumber": "AN123456789",
"arrestOrigin": "AO123456789",
"arrestEventStatus": "CREATED",
"date": "2025-07-25",
"arrestType": "FULL",
"arrestSum": 116.9,
"timestamp": "2025-07-31T07:48:16.049Z"
}
]
}
]
}
]
}
],
"offset": 0,
"limit": 1,
"totalCount": 1
}
}
}
}
}
},
"400": {
"description": "Неверный запрос"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}Схемы и примеры
{
"schemas": {
"ApiErrorDto": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"code": {
"type": "integer",
"format": "int32"
},
"messages": {
"uniqueItems": true,
"type": "array",
"items": {
"type": "string"
}
}
}
},
"BicDto": {
"type": "object",
"properties": {
"bic": {
"type": "string"
},
"externalId": {
"type": "string"
},
"modifiedDate": {
"type": "string"
},
"updateDate": {
"type": "string"
},
"deleteDate": {
"type": "string"
},
"deletePrevBicDate": {
"type": "string"
},
"name": {
"type": "string"
},
"corrAccounts": {
"type": "array",
"items": {
"type": "string"
}
},
"locationType": {
"type": "string"
},
"locationName": {
"type": "string"
},
"address": {
"type": "string"
},
"zipcode": {
"type": "string"
},
"dateExceptionCorrAccount": {
"type": "string"
},
"licenceRevocationDate": {
"type": "string"
},
"dateBicOut": {
"type": "string"
},
"xchType": {
"type": "boolean"
},
"participantBicStatus": {
"type": "string"
},
"accountStatus": {
"type": "string"
},
"accountCloseDate": {
"type": "string"
},
"activeFrom": {
"type": "string"
},
"active": {
"type": "boolean"
},
"forActivePayments": {
"type": "boolean"
},
"settlementCashCenterCbBic": {
"type": "string"
},
"bankType": {
"type": "string"
},
"nameForPayment": {
"type": "string"
}
}
},
"DebtLoroReportModelRs": {
"required": [
"accounts",
"clientName",
"cnum",
"period",
"reportDetails",
"reportType",
"totalDueAmount"
],
"type": "object",
"properties": {
"cnum": {
"type": "string",
"description": "Уникальный идентификатор клиента (CNUM)",
"example": "Z12345"
},
"period": {
"$ref": "#/components/schemas/PeriodRs"
},
"clientName": {
"type": "string",
"description": "Имя клиента",
"example": "RAIFFEISEN BANK INTERNATIONAL"
},
"accounts": {
"type": "array",
"description": "Расчётные счета",
"example": [
"30111810500000100004",
"30111810500000100001"
],
"items": {
"type": "string",
"description": "Расчётные счета",
"example": "[\"30111810500000100004\",\"30111810500000100001\"]"
}
},
"totalDueAmount": {
"type": "number",
"description": "Общая сумма задолженности",
"example": 100
},
"reportDetails": {
"type": "array",
"description": "Детальные отчёты по дебиторской задолженности",
"items": {
"$ref": "#/components/schemas/DebtLoroReportRowRs"
}
},
"reportType": {
"type": "string",
"description": "Тип отчёта",
"example": "RUB_BALANCES",
"enum": [
"AVIZO_MT900_MT910",
"CURRENCY_PAYMENT",
"NON_STP",
"RUB_BALANCES",
"FCY_BALANCES",
"INTEREST_LORO_MONTHLY",
"OVERDRAFT_LORO_MONTHLY",
"DEBT_LORO_MONTHLY",
"DEBT_NFI_MONTHLY",
"RUB_FEE_LORO_MONTHLY",
"ARREST_LORO_DAILY"
]
}
},
"description": "Отчёт о дебиторской задолженности"
},
"DebtLoroReportRowRs": {
"required": [
"creationDate",
"currency",
"debt",
"feeAmount",
"feeName",
"taxAmount"
],
"type": "object",
"properties": {
"feeName": {
"type": "string",
"description": "Наименование услуги",
"example": "Execution of urgent RUB payment"
},
"feeAmount": {
"type": "number",
"description": "Сумма комиссии",
"example": 444.04
},
"debt": {
"type": "number",
"description": "Сумма задолженности",
"example": 555.05
},
"taxAmount": {
"type": "number",
"description": "Сумма НДС",
"example": 666.06
},
"currency": {
"type": "string",
"description": "Валюта комиссии",
"example": "RUB",
"enum": [
"AL_",
"AED",
"AFN",
"ALL",
"AMD",
"ANG",
"AOA",
"ARS",
"AUD",
"AWG",
"AZN",
"BAM",
"BBD",
"BDT",
"BGN",
"BHD",
"BIF",
"BMD",
"BND",
"BOB",
"BOV",
"BRL",
"BSD",
"BTN",
"BWP",
"BYN",
"BZD",
"CAD",
"CDF",
"CHF",
"CLF",
"CLP",
"CNY",
"COP",
"COU",
"CRC",
"CUC",
"CUP",
"CVE",
"CZK",
"DJF",
"DKK",
"DOP",
"DZD",
"EGP",
"ERN",
"ETB",
"EUR",
"FJD",
"FKP",
"GBP",
"GEL",
"GHS",
"GIP",
"GMD",
"GNF",
"GTQ",
"GYD",
"HKD",
"HNL",
"HRK",
"HTG",
"HUF",
"IDR",
"ILS",
"INR",
"IQD",
"IRR",
"ISK",
"JMD",
"JOD",
"JPY",
"KES",
"KGS",
"KHR",
"KMF",
"KPW",
"KRW",
"KWD",
"KYD",
"KZT",
"LAK",
"LBP",
"LKR",
"LRD",
"LSL",
"LYD",
"MAD",
"MDL",
"MGA",
"MKD",
"MMK",
"MNT",
"MOP",
"MRU",
"MUR",
"MVR",
"MWK",
"MXN",
"MXV",
"MYR",
"MZN",
"NAD",
"NGN",
"NIO",
"NOK",
"NPR",
"NZD",
"OMR",
"PAB",
"PEN",
"PGK",
"PHP",
"PKR",
"PLN",
"PYG",
"QAR",
"RON",
"RSD",
"RUB",
"RWF",
"SAR",
"SBD",
"SCR",
"SDG",
"SEK",
"SGD",
"SHP",
"SLL",
"SOS",
"SRD",
"SSP",
"STN",
"SVC",
"SYP",
"SZL",
"THB",
"TJS",
"TMT",
"TND",
"TOP",
"TRY",
"TTD",
"RUR",
"TWD",
"TZS",
"UAH",
"UGX",
"USD",
"UYU",
"UZS",
"VEF",
"VND",
"VUV",
"WST",
"XSU",
"YER",
"ZAR",
"ZMW",
"ZWL"
]
},
"creationDate": {
"type": "string",
"description": "Дата возникновения задолженности",
"format": "date",
"example": "2025-07-01"
}
},
"description": "Детали отчёта о дебиторской задолженности"
},
"OffsetPageDebtLoroReportModelRs": {
"required": [
"data",
"limit",
"offset",
"totalCount"
],
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DebtLoroReportModelRs"
}
},
"offset": {
"type": "integer",
"description": "Смещение, с которого взяты элементы",
"format": "int32",
"example": 0
},
"limit": {
"type": "integer",
"description": "Количество переданных элементов",
"format": "int32",
"example": 10
},
"totalCount": {
"type": "integer",
"description": "Общее количество элементов",
"format": "int64",
"example": 10
}
}
},
"PeriodRs": {
"required": [
"from",
"to"
],
"type": "object",
"properties": {
"from": {
"type": "string",
"description": "Дата, с которой идёт выборка отчётов",
"format": "date",
"example": "2025-07-24"
},
"to": {
"type": "string",
"description": "Дата, по которую идёт выборка отчётов",
"format": "date",
"example": "2025-07-25"
}
}
}
},
"responses": {
"Unauthorized": {
"description": "Аутентификация не пройдена"
},
"InternalError": {
"description": "Внутренняя ошибка"
}
},
"parameters": {
"IdTokenHeader": {
"name": "Id-Token",
"in": "header",
"description": "Идентификационный токен пользователя",
"required": true,
"schema": {
"type": "string",
"format": "byte",
"example": "SUQgVE9LRU4gRk9SIFRFU1RJTkc="
}
},
"AuthorizationHeader": {
"name": "Authorization",
"in": "header",
"description": "Токен доступа",
"required": true,
"schema": {
"type": "string",
"format": "byte",
"example": "Bearer QXV0aG9yaXphdGlvbiBIZWFkZXIgRm9yIFRlc3Rpbmc="
}
}
}
}