{"swagger":"2.0","info":{"title":"partner.fx","version":"1.0.2","description":"API для работы с форексом"},"tags":[{"name":"currency","description":"Сервис для работы с валютой"}],"paths":{"/exchange":{"post":{"tags":["currency"],"summary":"Обмен валют","description":"Создание заявки на валютно-обменную операцию","operationId":"createDocument","produces":["application/json;charset=UTF-8"],"parameters":[{"name":"Authorization","in":"header","description":"Последний токен авторизации (Access Token). Формат передачи будет иметь вид Bearer + {пробел} + {accessToken}","required":true,"type":"string"},{"in":"body","name":"fxCreationRequest","description":"Объект, содержащий переменные по документу","required":true,"schema":{"$ref":"#/definitions/ExchangeRequest"}}],"responses":{"200":{"description":"Успешное выполнение запроса","schema":{"$ref":"#/definitions/ExchangeResponse"}},"400":{"description":"Некорректный запрос","schema":{"$ref":"#/definitions/ShortErrorModel"}},"401":{"description":"Запрос не авторизирован","schema":{"$ref":"#/definitions/ShortErrorModel"}},"500":{"description":"Ошибка выполнения запроса","schema":{"$ref":"#/definitions/ShortErrorModel"}}},"x-st-position":2,"x-st-code-samples":[{"lang":"cUrl","sample":"curl --location --request POST 'https://developerhub.alfabank.by:8273/partner/1.0.2/currency/exchange' \\\r\n--header 'Content-Type: application/json' \\\r\n--header 'Authorization: Bearer <accessToken>' \\\r\n--data-raw '{\r\n  \"exchangeRequest\": {\r\n    \"currPair\": \"string\",\r\n    \"amountType\": true,\r\n    \"amount\": 0,\r\n    \"numberBuy\": \"string\",\r\n    \"numberSell\": \"string\"\r\n  }\r\n}'"},{"lang":"java","sample":"OkHttpClient client = new OkHttpClient().newBuilder()\r\n  .build();\r\nMediaType mediaType = MediaType.parse(\"application/json\");\r\nRequestBody body = RequestBody.create(mediaType, \"{\\r\\n  \\\"exchangeRequest\\\": {\\r\\n    \\\"currPair\\\": \\\"string\\\",\\r\\n    \\\"amountType\\\": true,\\r\\n    \\\"amount\\\": 0,\\r\\n    \\\"numberBuy\\\": \\\"string\\\",\\r\\n    \\\"numberSell\\\": \\\"string\\\"\\r\\n  }\\r\\n}\");\r\nRequest request = new Request.Builder()\r\n  .url(\"https://developerhub.alfabank.by:8273/partner/1.0.2/currency/exchange\")\r\n  .method(\"POST\", body)\r\n  .addHeader(\"Content-Type\", \"application/json\")\r\n  .addHeader(\"Authorization\", \"Bearer <accessToken>\")\r\n  .build();\r\nResponse response = client.newCall(request).execute();"},{"lang":"node","sample":"var request = require('request');\r\nvar options = {\r\n  'method': 'POST',\r\n  'url': 'https://developerhub.alfabank.by:8273/partner/1.0.2/currency/exchange',\r\n  'headers': {\r\n    'Content-Type': 'application/json',\r\n    'Authorization': 'Bearer <accessToken>'\r\n  },\r\n  body: JSON.stringify({\"exchangeRequest\":{\"currPair\":\"string\",\"amountType\":true,\"amount\":0,\"numberBuy\":\"string\",\"numberSell\":\"string\"}})\r\n\r\n};\r\nrequest(options, function (error, response) {\r\n  if (error) throw new Error(error);\r\n  console.log(response.body);\r\n});\r\n"},{"lang":"swift","sample":"import Foundation\r\n\r\nvar semaphore = DispatchSemaphore (value: 0)\r\n\r\nlet parameters = \"{\\r\\n  \\\"exchangeRequest\\\": {\\r\\n    \\\"currPair\\\": \\\"string\\\",\\r\\n    \\\"amountType\\\": true,\\r\\n    \\\"amount\\\": 0,\\r\\n    \\\"numberBuy\\\": \\\"string\\\",\\r\\n    \\\"numberSell\\\": \\\"string\\\"\\r\\n  }\\r\\n}\"\r\nlet postData = parameters.data(using: .utf8)\r\n\r\nvar request = URLRequest(url: URL(string: \"https://developerhub.alfabank.by:8273/partner/1.0.2/currency/exchange\")!,timeoutInterval: Double.infinity)\r\nrequest.addValue(\"application/json\", forHTTPHeaderField: \"Content-Type\")\r\nrequest.addValue(\"Bearer <accessToken>\", forHTTPHeaderField: \"Authorization\")\r\n\r\nrequest.httpMethod = \"POST\"\r\nrequest.httpBody = postData\r\n\r\nlet task = URLSession.shared.dataTask(with: request) { data, response, error in \r\n  guard let data = data else {\r\n    print(String(describing: error))\r\n    semaphore.signal()\r\n    return\r\n  }\r\n  print(String(data: data, encoding: .utf8)!)\r\n  semaphore.signal()\r\n}\r\n\r\ntask.resume()\r\nsemaphore.wait()\r\n"}],"x-scope":"create_currency","x-auth-type":"Application & Application User","x-throttling-tier":"Unlimited","security":[{"default":["create_currency"]}]}},"/list":{"get":{"tags":["currency"],"summary":"История сделок","description":"Возвращает данные об истории операций","operationId":"getDealList","produces":["application/json;charset=UTF-8"],"parameters":[{"name":"Authorization","in":"header","description":"Последний токен авторизации (Access Token). Формат передачи будет иметь вид Bearer + {пробел} + {accessToken}","required":true,"type":"string"},{"name":"dateFrom","in":"query","description":"Начальная дата периода (по умолчанию - (текущий день - месяц))","required":false,"type":"string","format":"date"},{"name":"dateTo","in":"query","description":"Конечная дата периода (по умолчанию - текущий день)","required":false,"type":"string","format":"date"},{"name":"status","in":"query","description":"Статус документов для отбора (по умолчанию - 0)\n\nДопустимые значения:\n\n0 - Все,\n2 - В обработке,\n3 - Отклонено,\n13 - Сделка заключена","required":false,"type":"integer","minimum":0,"format":"int32"},{"name":"currPair","in":"query","description":"Наименование валютных пар для фильтрации (продажа/покупка, например USD/BYN). Доступные валюты: USD, BYN, RUB, EUR (по умолчанию - все).","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"},{"name":"pageRowCount","in":"query","description":"Число строк на странице (по умолчанию - 50, все документы - 0)","required":false,"type":"integer","minimum":0,"format":"int32"},{"name":"pageNo","in":"query","description":"Номер страницы (по умолчанию - 1, все документы - 0) ","required":false,"type":"integer","minimum":0,"format":"int32"}],"responses":{"200":{"description":"Успешное выполнение запроса","schema":{"$ref":"#/definitions/HistoryTransactionsResponse"}},"400":{"description":"Некорректный запрос","schema":{"$ref":"#/definitions/ShortErrorModel"}},"401":{"description":"Запрос не авторизирован","schema":{"$ref":"#/definitions/ShortErrorModel"}},"500":{"description":"Ошибка выполнения запроса","schema":{"$ref":"#/definitions/ShortErrorModel"}}},"x-st-position":3,"x-st-code-samples":[{"lang":"cUrl","sample":"curl --location --request GET 'https://developerhub.alfabank.by:8273/partner/1.0.2/currency/list' \\\r\n--header 'Content-Type: application/json' \\\r\n--header 'Authorization: Bearer <accessToken>' \\\r\n--data-raw ''"},{"lang":"java","sample":"OkHttpClient client = new OkHttpClient().newBuilder()\r\n  .build();\r\nRequest request = new Request.Builder()\r\n  .url(\"https://developerhub.alfabank.by:8273/partner/1.0.2/currency/list?dateFrom&dateTo&status=&currPair&pageRowCount&pageNo\")\r\n  .method(\"GET\", null)\r\n  .addHeader(\"Content-Type\", \"application/json\")\r\n  .addHeader(\"Authorization\", \"Bearer <accessToken>\")\r\n  .build();\r\nResponse response = client.newCall(request).execute();"},{"lang":"node","sample":"var request = require('request');\r\nvar options = {\r\n  'method': 'GET',\r\n  'url': 'https://developerhub.alfabank.by:8273/partner/1.0.2/currency/list?dateFrom&dateTo&status=&currPair&pageRowCount&pageNo',\r\n  'headers': {\r\n    'Content-Type': 'application/json',\r\n    'Authorization': 'Bearer <accessToken>'\r\n  }\r\n};\r\nrequest(options, function (error, response) {\r\n  if (error) throw new Error(error);\r\n  console.log(response.body);\r\n});\r\n"},{"lang":"swift","sample":"import Foundation\r\n\r\nvar semaphore = DispatchSemaphore (value: 0)\r\n\r\nvar request = URLRequest(url: URL(string: \"https://developerhub.alfabank.by:8273/partner/1.0.2/currency/list?dateFrom&dateTo&status=&currPair&pageRowCount&pageNo\")!,timeoutInterval: Double.infinity)\r\nrequest.addValue(\"application/json\", forHTTPHeaderField: \"Content-Type\")\r\nrequest.addValue(\"Bearer <accessToken>\", forHTTPHeaderField: \"Authorization\")\r\n\r\nrequest.httpMethod = \"GET\"\r\n\r\nlet task = URLSession.shared.dataTask(with: request) { data, response, error in \r\n  guard let data = data else {\r\n    print(String(describing: error))\r\n    semaphore.signal()\r\n    return\r\n  }\r\n  print(String(data: data, encoding: .utf8)!)\r\n  semaphore.signal()\r\n}\r\n\r\ntask.resume()\r\nsemaphore.wait()\r\n"}],"x-scope":"read_currency","x-auth-type":"Application & Application User","x-throttling-tier":"Unlimited","security":[{"default":["read_currency"]}]}},"/rates":{"get":{"tags":["currency"],"summary":"Валютные котировки","description":"Возвращает данные о валютных котировках","operationId":"getRates","produces":["application/json;charset=UTF-8"],"parameters":[{"name":"Authorization","in":"header","description":"Последний токен авторизации (Access Token). Формат передачи будет иметь вид Bearer + {пробел} + {accessToken}","required":true,"type":"string"},{"name":"currPair","in":"query","description":"Наименование валютных пар для фильтрации (продажа/покупка, например USD/BYN). Доступные валюты: USD, BYN, RUB, EUR (по умолчанию - все).","required":false,"type":"array","items":{"type":"string"},"collectionFormat":"multi"}],"responses":{"200":{"description":"Успешное выполнение запроса","schema":{"$ref":"#/definitions/RatesListResponse"}},"400":{"description":"Некорректный запрос","schema":{"$ref":"#/definitions/ShortErrorModel"}},"401":{"description":"Запрос не авторизирован","schema":{"$ref":"#/definitions/ShortErrorModel"}},"500":{"description":"Ошибка выполнения запроса","schema":{"$ref":"#/definitions/ShortErrorModel"}}},"x-st-position":1,"x-st-code-samples":[{"lang":"cUrl","sample":"curl --location --request GET 'https://developerhub.alfabank.by:8273/partner/1.0.2/currency/rates' \\\r\n--header 'Accept: application/json' \\\r\n--header 'Authorization: Bearer <accessToken>' \\\r\n--header 'Content-Type: application/json'"},{"lang":"java","sample":"OkHttpClient client = new OkHttpClient().newBuilder()\r\n  .build();\r\nRequest request = new Request.Builder()\r\n  .url(\"https://developerhub.alfabank.by:8273/partner/1.0.2/currency/rates\")\r\n  .method(\"GET\", null)\r\n  .addHeader(\"Accept\", \"application/json\")\r\n  .addHeader(\"Authorization\", \"Bearer <accessToken>\")\r\n  .addHeader(\"Content-Type\", \"application/json\")\r\n  .build();\r\nResponse response = client.newCall(request).execute();"},{"lang":"node","sample":"var request = require('request');\r\nvar options = {\r\n  'method': 'GET',\r\n  'url': 'https://developerhub.alfabank.by:8273/partner/1.0.2/currency/rates',\r\n  'headers': {\r\n    'Accept': 'application/json',\r\n    'Authorization': 'Bearer <accessToken>',\r\n    'Content-Type': 'application/json'\r\n  },\r\n  form: {\r\n\r\n  }\r\n};\r\nrequest(options, function (error, response) {\r\n  if (error) throw new Error(error);\r\n  console.log(response.body);\r\n});\r\n"},{"lang":"swift","sample":"import Foundation\r\n\r\nvar semaphore = DispatchSemaphore (value: 0)\r\n\r\nvar request = URLRequest(url: URL(string: \"https://developerhub.alfabank.by:8273/partner/1.0.2/currency/rates\")!,timeoutInterval: Double.infinity)\r\nrequest.addValue(\"application/json\", forHTTPHeaderField: \"Accept\")\r\nrequest.addValue(\"Bearer <accessToken>\", forHTTPHeaderField: \"Authorization\")\r\nrequest.addValue(\"application/json\", forHTTPHeaderField: \"Content-Type\")\r\n\r\nrequest.httpMethod = \"GET\"\r\n\r\nlet task = URLSession.shared.dataTask(with: request) { data, response, error in \r\n  guard let data = data else {\r\n    print(String(describing: error))\r\n    semaphore.signal()\r\n    return\r\n  }\r\n  print(String(data: data, encoding: .utf8)!)\r\n  semaphore.signal()\r\n}\r\n\r\ntask.resume()\r\nsemaphore.wait()\r\n"}],"x-scope":"read_currency","x-auth-type":"Application & Application User","x-throttling-tier":"Unlimited","security":[{"default":["read_currency"]}]}},"/{id}":{"get":{"tags":["currency"],"summary":"Детальная информация документа по заявке на обмен валюты","description":"Возвращает детальную информацию о документе по заявке на обмен валют","operationId":"getDocumentDetails","produces":["application/json;charset=UTF-8"],"parameters":[{"name":"Authorization","in":"header","description":"Последний токен авторизации (Access Token). Формат передачи будет иметь вид Bearer + {пробел} + {accessToken}","required":true,"type":"string"},{"name":"id","in":"path","description":"Идентификатор документа","required":true,"type":"integer","minimum":1,"format":"int64"}],"responses":{"200":{"description":"Успешное выполнение запроса","schema":{"$ref":"#/definitions/ExchangeDetailsResponse"}},"400":{"description":"Некорректный запрос","schema":{"$ref":"#/definitions/ShortErrorModel"}},"401":{"description":"Запрос не авторизирован","schema":{"$ref":"#/definitions/ShortErrorModel"}},"500":{"description":"Ошибка выполнения запроса","schema":{"$ref":"#/definitions/ShortErrorModel"}}},"x-st-position":4,"x-st-code-samples":[{"lang":"cUrl","sample":"curl --location --request GET 'https://developerhub.alfabank.by:8273/partner/1.0.2/currency/{id}' \\\r\n--header 'Content-Type: application/json' \\\r\n--header 'Authorization: Bearer <accessToken>'"},{"lang":"java","sample":"OkHttpClient client = new OkHttpClient().newBuilder()\r\n  .build();\r\nRequest request = new Request.Builder()\r\n  .url(\"https://developerhub.alfabank.by:8273/partner/1.0.2/currency/{id}\")\r\n  .method(\"GET\", null)\r\n  .addHeader(\"Content-Type\", \"application/json\")\r\n  .addHeader(\"Authorization\", \"Bearer <accessToken>\")\r\n  .build();\r\nResponse response = client.newCall(request).execute();"},{"lang":"node","sample":"var request = require('request');\r\nvar options = {\r\n  'method': 'GET',\r\n  'url': 'https://developerhub.alfabank.by:8273/partner/1.0.2/currency/{id}',\r\n  'headers': {\r\n    'Content-Type': 'application/json',\r\n    'Authorization': 'Bearer <accessToken>'\r\n  }\r\n};\r\nrequest(options, function (error, response) {\r\n  if (error) throw new Error(error);\r\n  console.log(response.body);\r\n});\r\n"},{"lang":"swift","sample":"import Foundation\r\n\r\nvar semaphore = DispatchSemaphore (value: 0)\r\n\r\nvar request = URLRequest(url: URL(string: \"https://developerhub.alfabank.by:8273/partner/1.0.2/currency/{id}\")!,timeoutInterval: Double.infinity)\r\nrequest.addValue(\"application/json\", forHTTPHeaderField: \"Content-Type\")\r\nrequest.addValue(\"Bearer <accessToken>\", forHTTPHeaderField: \"Authorization\")\r\n\r\nrequest.httpMethod = \"GET\"\r\n\r\nlet task = URLSession.shared.dataTask(with: request) { data, response, error in \r\n  guard let data = data else {\r\n    print(String(describing: error))\r\n    semaphore.signal()\r\n    return\r\n  }\r\n  print(String(data: data, encoding: .utf8)!)\r\n  semaphore.signal()\r\n}\r\n\r\ntask.resume()\r\nsemaphore.wait()\r\n"}],"x-scope":"read_currency","x-auth-type":"Application & Application User","x-throttling-tier":"Unlimited","security":[{"default":["read_currency"]}]}}},"definitions":{"ExchangeDetailsRequest":{"type":"object","properties":{"docId":{"type":"integer","format":"int64","description":"Идентификатор документа"},"num":{"type":"integer","format":"int64","description":"Номер документа"},"date":{"type":"string","format":"date-time","example":"2019-08-06T09:00:00.000","description":"Дата создания документа"},"currPair":{"type":"string","description":"Наименование валютной пары"},"rate":{"type":"number","description":"Курс"},"numberBuy":{"type":"string","description":"Счёт для зачисления купленной валюты"},"NumberSell":{"type":"string","description":"Счёт для списания продаваемой валюты"},"amountBuy":{"type":"number","description":"Сумма зачисления"},"buyIso":{"type":"string","description":"Валюта зачисления (мнемоника валюты ISO)"},"amountSell":{"type":"number","description":"Сумма списания"},"sellIso":{"type":"string","description":"Валюта списания (мнемоника валюты ISO)"},"settlementDate":{"type":"string","description":"Дата расчетов по сделке. Формат даты DD.MM.YYYY"},"lstHist":{"type":"array","description":"Список истории статусов документа","items":{"$ref":"#/definitions/HistoryChange"}}},"description":"Выходная модель, содержащая информацию по заявке на обмен валюты"},"ExchangeDetailsResponse":{"type":"object","properties":{"exchangeRequest":{"description":"Объект, содержащий переменную exchangeRequest, значением которой является объект с детальной информацией о документе по заявке на обмен валюты","$ref":"#/definitions/ExchangeDetailsRequest"}},"description":"Выходная модель, содержащая информацию по обмену валют"},"ExchangeParam":{"type":"object","required":["amount","amountType","currPair","numberBuy","numberSell"],"properties":{"currPair":{"type":"string","description":"Наименование валютной пары"},"amountType":{"type":"boolean","description":"Тип суммы: 0 - сумма зачисления, 1 - сумма списания"},"amount":{"type":"number","description":"Сумма"},"numberBuy":{"type":"string","description":"Счёт для зачисления купленной валюты","minLength":28,"maxLength":28},"numberSell":{"type":"string","description":"Счёт для списания продаваемой валюты","minLength":28,"maxLength":28},"settlementDate":{"type":"string","description":"Дата расчетов по сделке. Формат даты DD.MM.YYYY"}},"description":"Объект, содержащий переменные с детальной информацией о документе."},"ExchangeRequest":{"type":"object","properties":{"exchangeRequest":{"$ref":"#/definitions/ExchangeParam"}},"description":"Входная модель содержащая, содержащая переменные с информацией о документе"},"ExchangeResponse":{"type":"object","properties":{"docId":{"type":"integer","format":"int64","description":"Номер документа"},"rate":{"type":"number","description":"Курс валют"}},"description":"Выходная модель, содержащая информацию о документе"},"HistoryChange":{"type":"object","properties":{"dateChange":{"type":"string","format":"date-time","example":"2019-08-06T09:00:00.000","description":"Дата/время изменения"},"changeName":{"type":"string","description":"ФИО пользователя, выполнившего изменения"},"status":{"type":"string","description":"Статус документа\t"}},"description":"Выходная модель, содержащая информацию по изменинию статуса"},"HistoryTransactionsResponse":{"type":"object","properties":{"totalRowCount":{"type":"integer","format":"int32","description":"Общее кол-во документов, удовлетворяющих фильтру"},"list":{"type":"array","description":"Объект, содержащий переменную list, значением которой является массив сделок.","items":{"$ref":"#/definitions/Transaction"}}},"description":"Выходная модель, содержащая информацию по истории операций"},"Rate":{"type":"object","properties":{"currPair":{"type":"string","description":"Наименование валютной пары."},"rate":{"type":"number","description":"Курс"},"sellIso":{"type":"string","description":"Мнемоника продаваемой валюты"},"sellCode":{"type":"integer","format":"int32","description":"Код продаваемой валюты"},"buyIso":{"type":"string","description":"Мнемоника покупаемой валюты"},"buyCode":{"type":"integer","format":"int32","description":"Код покупаемой валюты"},"quantity":{"type":"integer","format":"int32","description":"Количество валюты (лот)"},"rateType":{"type":"integer","format":"int32","description":"\t\nКурс индивидуальный или банковский:\n\n1 - индивидуальный\n\n0 - банковский"}},"description":"Курс валюты"},"RatesListResponse":{"type":"object","properties":{"rates":{"type":"array","description":"список курсов","items":{"$ref":"#/definitions/Rate"}}},"description":"Выходная модель, содержащая информацию по курсам"},"ShortErrorModel":{"type":"object","properties":{"category":{"type":"string","description":"Категория ошибки","enum":["API_ERROR","BACK_ERROR"]},"code":{"type":"integer","format":"int32","description":"Код ошибки"},"message":{"type":"string","description":"Сообщение об ошибке"}}},"Transaction":{"type":"object","properties":{"id":{"type":"integer","format":"int64","description":"Идентификатор документа"},"date":{"type":"string","format":"date-time","example":"2019-08-06T09:00:00.000","description":"Дата документа в формате yyyy-MM-dd'T'HH:mm:ss"},"currPair":{"type":"string","description":"Наименование валютной пары"},"rate":{"type":"number","description":"Курс"},"status":{"type":"integer","format":"int32","description":"Статус документа\t"},"statusName":{"type":"string","description":"Наименование статуса\t"},"buyAmount":{"type":"number","description":"Сумма покупки\t"},"sellAmount":{"type":"number","description":"Сумма продажи"},"settlementDate":{"type":"string","description":"Дата расчетов по сделке. Формат даты DD.MM.YYYY"}},"description":"выходная модель, содержащая информацию о транзакции"}},"x-wso2-security":{"apim":{"x-wso2-scopes":[{"name":"получение информации по курсам и валютным сделкам","description":"","key":"read_currency","roles":"partner_production_info,partner_production_personal"},{"name":"создание заявок на обмен валют","description":"","key":"create_currency","roles":"partner_production_create,partner_production_personal"}]}},"x-version-info":null,"host":"ibapi.alfabank.by:8273","basePath":"/partner/1.0.2/currency","schemes":["https","http"],"securityDefinitions":{"default":{"type":"oauth2","authorizationUrl":"https://ibapi.alfabank.by:8273/authorize","flow":"implicit","scopes":{"read_currency":"получение информации по курсам и валютным сделкам","create_currency":"создание заявок на обмен валют"}}}}