Bank Statements Common Adapter API
OpenAPI
Варианты
- Паблик
Операции API
GET /v1/accounts/{account}/statements — Getting a list of statements by account number
{
"tags": [
"Final statements"
],
"summary": "Getting a list of statements by account number",
"operationId": "getStatement",
"parameters": [
{
"$ref": "#/components/parameters/Account"
},
{
"$ref": "#/components/parameters/Fields"
},
{
"$ref": "#/components/parameters/From"
},
{
"$ref": "#/components/parameters/To"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/StatementListResponse"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
}
}
}GET /v1/clients/{cnum}/statements — Getting a list of statements by client number
{
"tags": [
"Final statements"
],
"summary": "Getting a list of statements by client number",
"operationId": "getStatementByCnum",
"parameters": [
{
"$ref": "#/components/parameters/Cnum"
},
{
"$ref": "#/components/parameters/Fields"
},
{
"$ref": "#/components/parameters/From"
},
{
"$ref": "#/components/parameters/To"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/StatementListResponse"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
}
}
}GET /v1/clients/statements — Getting a list of statements by several client numbers
{
"tags": [
"Final statements"
],
"summary": "Getting a list of statements by several client numbers",
"operationId": "getStatementByCnumList",
"parameters": [
{
"$ref": "#/components/parameters/CnumList"
},
{
"$ref": "#/components/parameters/Fields"
},
{
"$ref": "#/components/parameters/From"
},
{
"$ref": "#/components/parameters/To"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/StatementListResponse"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
}
}
}GET /v1/accounts/{account}/statements/intraday — Getting a list of intraday statements by account number
{
"tags": [
"Intraday statements"
],
"summary": "Getting a list of intraday statements by account number",
"operationId": "getIntradayStatement",
"parameters": [
{
"$ref": "#/components/parameters/Account"
},
{
"$ref": "#/components/parameters/Fields"
},
{
"$ref": "#/components/parameters/From"
},
{
"$ref": "#/components/parameters/To"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/StatementListResponse"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
}
}
}GET /v1/clients/{cnum}/statements/intraday — Getting a list of intraday statements by client number
{
"tags": [
"Intraday statements"
],
"summary": "Getting a list of intraday statements by client number",
"operationId": "getIntradayStatementByCnum",
"parameters": [
{
"$ref": "#/components/parameters/Cnum"
},
{
"$ref": "#/components/parameters/Fields"
},
{
"$ref": "#/components/parameters/From"
},
{
"$ref": "#/components/parameters/To"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/StatementListResponse"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
}
}
}GET /v1/clients/statements/intraday — Getting a list of intraday statements by several client numbers
{
"tags": [
"Intraday statements"
],
"summary": "Getting a list of intraday statements by several client numbers",
"operationId": "getIntradayStatementByCnumList",
"parameters": [
{
"$ref": "#/components/parameters/CnumList"
},
{
"$ref": "#/components/parameters/Fields"
},
{
"$ref": "#/components/parameters/From"
},
{
"$ref": "#/components/parameters/To"
},
{
"$ref": "#/components/parameters/Limit"
},
{
"$ref": "#/components/parameters/Offset"
},
{
"$ref": "#/components/parameters/IdTokenHeader"
}
],
"responses": {
"200": {
"$ref": "#/components/responses/StatementListResponse"
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"404": {
"$ref": "#/components/responses/NotFound"
}
}
}Схемы и примеры
{
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Access token",
"bearerFormat": "JWT"
}
},
"schemas": {
"GatewayErrorResponse": {
"type": "object",
"required": [
"http_status_code",
"message"
],
"properties": {
"http_status_code": {
"description": "HTTP status",
"type": "integer"
},
"message": {
"description": "Error",
"type": "string"
}
}
},
"ServiceErrorResponse": {
"type": "object",
"required": [
"status",
"error"
],
"properties": {
"status": {
"description": "HTTP status",
"type": "integer"
},
"error": {
"description": "Error",
"type": "string"
},
"message": {
"description": "Error Details",
"type": "string"
}
}
},
"StatementResponse": {
"required": [
"accountNumber",
"creditAmount",
"creditAmountRur",
"creditDocumentsCount",
"currency",
"date",
"debitAmount",
"debitAmountRur",
"debitDocumentsCount",
"documentNumber",
"incomeBalance",
"incomeBalanceRur",
"organizationName",
"outcomeBalance",
"outcomeBalanceRur"
],
"type": "object",
"properties": {
"documentNumber": {
"type": "string",
"description": "Document number"
},
"accountNumber": {
"type": "string",
"description": "Account number"
},
"date": {
"type": "string",
"description": "Transaction date"
},
"currency": {
"type": "string",
"description": "Account currency"
},
"incomeBalance": {
"type": "number",
"description": "Opening balance"
},
"incomeBalanceRur": {
"type": "number",
"description": "Opening balance in national currency"
},
"creditAmount": {
"type": "number",
"description": "Amount of loan turnover"
},
"creditAmountRur": {
"type": "number",
"description": "Amount of loan turnover in national currency"
},
"creditDocumentsCount": {
"type": "integer",
"description": "Number of cash accrual transactions in this statement",
"format": "int32"
},
"debitAmount": {
"type": "number",
"description": "Amount of debit turnover"
},
"debitAmountRur": {
"type": "number",
"description": "Amount of debit turnover in national currency"
},
"debitDocumentsCount": {
"type": "integer",
"description": "Number of debit transactions in this statement",
"format": "int32"
},
"outcomeBalance": {
"type": "number",
"description": "Closing balance"
},
"outcomeBalanceRur": {
"type": "number",
"description": "Closing balance in national currency"
},
"organizationName": {
"type": "string",
"description": "Organization"
}
}
}
},
"responses": {
"Unauthorized": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GatewayErrorResponse"
},
"example": {
"http_status_code": 401,
"message": "Unauthorized"
}
}
}
},
"BadRequest": {
"description": "Bad request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceErrorResponse"
},
"example": {
"status": 400,
"error": "Bad Request",
"message": "Type mismatch."
}
}
}
},
"NotFound": {
"description": "Requested resource is not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ServiceErrorResponse"
},
"example": {
"status": 404,
"error": "Not Found",
"message": "The requested resource is not found"
}
}
}
},
"StatementListResponse": {
"description": "List of statements was successfully received",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StatementResponse"
}
},
"example": "[\n {\n \"documentNumber\": \"12\",\n \"accountNumber\": \"12345678901234567890\",\n \"date\": \"2021-10-21T00:00:00+03:00\",\n \"currency\": \"RUR\",\n \"incomeBalance\": 4705128.19,\n \"incomeBalanceRur\": 4705128.19,\n \"creditAmount\": 2000000.0,\n \"creditAmountRur\": 0.0,\n \"creditDocumentsCount\": 1,\n \"debitAmount\": 2142760.66,\n \"debitAmountRur\": 0.0,\n \"debitDocumentsCount\": 4,\n \"outcomeBalance\": 1265443.51,\n \"outcomeBalanceRur\": 1265443.51,\n \"organizationName\": \"ООО Ромашка\"\n }\n]\n"
}
}
}
},
"parameters": {
"IdTokenHeader": {
"name": "Id-Token",
"description": "User ID token",
"in": "header",
"required": true,
"schema": {
"type": "string"
}
},
"Cnum": {
"name": "cnum",
"description": "Client number",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
"Fields": {
"name": "fields",
"description": "List of required fields",
"in": "query",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string",
"enum": [
"DocumentNumber",
"AccountNumber",
"Date",
"Currency",
"IncomeBalance",
"IncomeBalanceRur",
"CreditAmount",
"CreditAmountRur",
"CreditDocumentsCount",
"DebitAmount",
"DebitAmountRur",
"DebitDocumentsCount",
"OutcomeBalance",
"OutcomeBalanceRur",
"OrganizationName"
]
}
}
},
"From": {
"name": "from",
"description": "Start date of the statement list period in the format yyyy-MM-dd.",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date",
"example": "yyyy-MM-dd"
}
},
"To": {
"name": "to",
"description": "End date of the statement list period in the format yyyy-MM-dd.",
"in": "query",
"required": false,
"schema": {
"type": "string",
"format": "date",
"example": "yyyy-MM-dd"
}
},
"Limit": {
"name": "limit",
"description": "Maximum size of the received list of statements",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"example": 20
}
},
"Offset": {
"name": "offset",
"description": "Size offset from the beginning of the statement list",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"format": "int32",
"example": 0
}
},
"Account": {
"name": "account",
"description": "Account number",
"in": "path",
"required": true,
"schema": {
"type": "string",
"example": 12345678901234567000
}
},
"CnumList": {
"name": "cnumList",
"description": "List of client numbers",
"in": "query",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}