Руководство по эксплуатации продукта «Platform V Exchange Rates» Код компонента: CRT (Поколение 4) - часть 4

 

  Главная      Книги - Разные     Руководство по эксплуатации продукта «Platform V Exchange Rates» Код компонента: CRT (Поколение 4)

 

поиск по сайту            правообладателям  

 

   

 

   

 

содержание      ..     2      3      4     

 

 

 

 

Руководство по эксплуатации продукта «Platform V Exchange Rates» Код компонента: CRT (Поколение 4) - часть 4

 

 

R
N
P
(e
rn
p
C
o
d
e)
».
Конв
conv
List
of
1..N
ерси
ersio
Structure
я
ns
ИД
conversionU
String
1
конв
UID
ерси
и
Тип
conversionT
String
0..1
Возможные
конв
ype
значения:
ерси
• «SIMPLE»
-
и
простая
конверсия
:
• одна из валют в
ва
лю
тн
ой
па
ре
со
отв
етс
тву
ет
ру
бл
ю;
• обе валюты в
ва
лю
тн
ой
па
ре
ин
ост
ра
нн
ые
и
по
ни
м
ест
ь
пр
ям
ая
кот
ир
ов
ка;
• «CROSS_COURS
E» - кросс-
курс
конверсия
:
• обе валюты в
ва
лю
тн
ой
па
ре
явл
яю
тся
ин
ост
ра
нн
ым
и и
по
ни
м
отс
утс
тву
ет
пр
ям
ая
кот
ир
ов
ка;
• расчет
через
пр
ом
еж
уто
чн
ые
ко
нв
ер
си
и к
ру
бл
ю
(R
UB
).
Сред
instrumentD
String
0..1
Аналогичные
ство
ebit
значения
из
спис
запроса
ания
Сред
instrumentC
String
0..1
Аналогичные
ство
redit
значения
из
зачи
запроса
слен
ия
Резу
conversionR
Structure
1
льтат
esult
конв
ерси
и
Курс
conversio
Big
0..1
Курс
конвертаци
nRateFor
Decimal
конвертаци
и за ед.
OneUnit
и,
по
валюты
которому
осуществле
на
конверсия
за единицу
валюты.
Курс
приведен к
масштабу за
1 единицу
валюты
Курс
conversio
Big
0..1
Курс
покупки
nRateBuy
Decimal
приведен к
иностранно
ForOneU
масштабу за
й валюты за
nit
1 единицу
ед. валюты
валюты
Остается
пустым если
«Тип
конверсии
(conversionT
ype)»
=
2
(кросс-
курс).
Курс
conversio
BigDecim
0..1
Курс
продажи
nRateSell
al
приведен к
иностранно
ForOneU
масштабу за
й валюты за
nit
1 единицу
ед. валюты
валюты
Остается
пустым если
«Тип
конверсии
(conversionT
ype)»
=
2
(кросс-
курс).
Курс
сonversio
BigDecim
0..1
Курс
конвертаци
nRateFor
al
конвертаци
и
CbLotSize
и,
по
которому
осуществле
на
конверсия.
Курс
приведен к
масштабу
cbLotSize
Остается
пустым если
«Тип
конверсии
(conversionT
ype)»
=
2
(кросс-
курс).
Курс
сonversio
BigDecim
0..1
Курс
покупки
nRateBuy
al
покупки
иностранно
ForCbLot
иностранно
й валюты
Size
й валюты
Курс
приведен к
масштабу
cbLotSize
Остается
пустым если
«Тип
конверсии
(conversionT
ype)»
=
2
(кросс-
курс).
Курс
сonversio
BigDecim
0..1
Курс
продажи
nRateSell
al
продажи
иностранно
ForCbLot
иностранно
й валюты
Size
й валюты
Курс
приведен к
масштабу
cbLotSize
Остается
пустым если
«Тип
конверсии
(conversionT
ype)»
=
2
(кросс-
курс).
Курс ЦБ за
cbRateFo
BigDecim
0..1
Курс
ед. валюты
rOneUnit
al
приведен к
масштабу за
1 единицу
валюты
Будет
возвращено
null, если по
результатм
округления
курс ЦБ = 0.
Остается
пустым если
«Тип
конверсии
(conversionT
ype)»
=
2
(кросс-
курс).
Курс
cbRateFo
BigDecim
0..1
Курс
Центробанк
rCbLotSiz
al
приведен к
а (ЦБ)
e
масштабу
cbLotSize
Будет
возвращено
null, если по
результатм
округления
курс ЦБ = 0.
Остается
пустым если
«Тип
конверсии
(conversionT
ype)»
=
2
(кросс-
курс).
Масштаб
cbRateFo
Integer
0..1
Остается
валюты
rCbLotSiz
пустым если
e
«Тип
конверсии
(conversionT
ype)»
=
2
(кросс-
курс).
Буквенный
buyCurre
String
0..1
Аналогичны
код
ncy
е значения
покупаемой
из запроса
валюты
Сумма
buyAmou
BigDecim
0..1
покупаемой
nt
al
валюты
Сумма
cbBuyAm
BigDecim
0..1
Сумма
покупаемой
ount
al
покупаемой
валюты по
валюты по
курсу ЦБ
курсу ЦБ
Если
в
результате
расчета
сумма будет
равна нулю,
то вернется
null (чтобы
сумму
нельзя было
случайно
использоват
ь).
Точность
buyFracti
Integer
0..1
Количество
покупаемой
onalAmo
десятичных
валюты
untSize
цифр после
точки для
покупаемой
валюты
Буквенный
sellCurre
String
0..1
Аналогичны
код
ncy
е значения
продаваем
из запроса
ой валюты
Сумма
sellAmou
BigDecim
0..1
продаваем
nt
al
ой валюты
Сумма
cbSellAm
BigDecim
0..1
Сумма
продаваем
ount
al
продаваемо
ой валюты
й валюты по
по курсу ЦБ
курсу ЦБ
Если
в
результате
расчета
сумма будет
равна нулю,
то вернется
null (чтобы
сумму
нельзя было
случайно
использоват
ь).
Точность
sellFracti
Integer
0..1
Количество
продаваем
onalAmo
десятичных
ой валюты
untSize
цифр после
точки для
продаваемо
й валюты
Нижняя
selectedR
BigDecim
0..1
Остается
граница
angeMin
al
пустым если
выбранного
«Тип
диапазона
конверсии
курсов
(conversionT
ype)»
=
2
(кросс-
курс).
Верхняя
selectedR
BigDecim
0..1
Остается
граница
angeMax
al
пустым если
выбранного
«Тип
диапазона
конверсии
курсов
(conversionT
ype)»
=
2
(кросс-
курс).
Результаты
conversio
Structure
0..1
Остается
промежуто
nResults
пустым если
чных
«Тип
конверсий
конверсии
(conversionT
ype)»
=
1
(простая).
Данные
conversio
Structure
2
промежу
nList
точной
конверси
и
Курс
conversionRateFor
Big Decimal
0..1
Курс
конверта
OneUnit
конвертации,
ции
за
по которому
ед.
осуществлена
валюты
конверсия за
единицу
валюты.
Курс приведен
к масштабу за 1
единицу
валюты
Остается
пустым если
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Курс
conversionRateBuy
Big Decimal
0..1
Курс приведен
покупки
ForOneUnit
к масштабу за 1
иностран
единицу
ной
валюты
валюты
Остается
за
ед.
пустым если
валюты
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Курс
conversionRateSell
BigDecimal
0..1
Курс приведен
продажи
ForOneUnit
к масштабу за 1
иностран
единицу
ной
валюты
валюты
Остается
за
ед.
пустым если
валюты
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Курс
сonversionRateFor
BigDecimal
0..1
Курс
конверта
CbLotSize
конвертации,
ции
по которому
осуществлена
конверсия.
Курс приведен
к
масштабу
cbLotSize
Остается
пустым если
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Курс
сonversionRateBuy
BigDecimal
0..1
Курс покупки
покупки
ForCbLotSize
иностранной
иностран
валюты
ной
Курс приведен
валюты
к
масштабу
cbLotSize
Остается
пустым если
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Курс
сonversionRateSell
BigDecimal
0..1
Курс продажи
продажи
ForCbLotSize
иностранной
иностран
валюты
ной
Курс приведен
валюты
к
масштабу
cbLotSize
Остается
пустым если
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Курс ЦБ
cbRateForOneUnit
BigDecimal
1
Курс приведен
за
ед.
к масштабу за 1
валюты
единицу
валюты
Будет
возвращено
null, если по
результатм
округления
курс ЦБ = 0.
Курс
cbRateForCbLotSiz
BigDecimal
1
Курс приведен
Центроб
e
к
масштабу
анка (ЦБ)
cbLotSize
Будет
возвращено
null, если по
результатм
округления
курс ЦБ = 0.
Остается
пустым если
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Масштаб
cbRateForCbLotSiz
Integer
0..1
Остается
валюты
e
пустым если
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Буквенн
buyCurrency
String
1
Остается
ый код
пустым если
покупае
«Тип
мой
конверсии
валюты
(conversionTyp
e)»
=
1
(простая).
Сумма
buyAmount
BigDecimal
0..1
Остается
покупае
пустым если
мой
«Тип
валюты
конверсии
(conversionTyp
e)»
=
1
(простая).
Сумма
cbBuyAmount
BigDecimal
1
Сумма
покупае
покупаемой
мой
валюты
по
валюты
курсу ЦБ
по курсу
Если
в
ЦБ
результате
расчета сумма
будет
равна
нулю,
то
вернется null
(чтобы сумму
нельзя было
случайно
использовать).
Остается
пустым если
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Точность
buyFractionalAmo
Integer
0..1
покупае
untSize
мой
валюты
Буквенн
sellCurrency
String
1
Остается
ый код
пустым если
продавае
«Тип
мой
конверсии
валюты
(conversionTyp
e)»
=
1
(простая).
Сумма
sellAmount
BigDecimal
0..1
Остается
продавае
пустым если
мой
«Тип
валюты
конверсии
(conversionTyp
e)»
=
1
(простая).
Сумма
cbSellAmount
BigDecimal
1
Сумма
продавае
продаваемой
мой
валюты
по
валюты
курсу ЦБ
по курсу
Если
в
ЦБ
результате
расчета сумма
будет
равна
нулю,
то
вернется null
(чтобы сумму
нельзя было
случайно
использовать).
Остается
пустым если
«Тип
конверсии
(conversionTyp
e)»
=
1
(простая).
Точность
sellFractionalAmou
Integer
0..1
продавае
ntSize
мой
валюты
Нижняя
selectedRangeMin
BigDecimal
0..1
Остается
граница
пустым если
выбранн
«Тип
ого
конверсии
диапазон
(conversionTyp
а курсов
e)»
=
1
(простая).
Верхняя
selectedRangeMax
BigDecimal
0..1
Остается
граница
пустым если
выбранн
«Тип
ого
конверсии
диапазон
(conversionTyp
а курсов
e)»
=
1
(простая).
Результа
status
Structure
1
т
обработк
и
конверси
и
Код завершения
statusCode
String
1
Возможные
значения:
• «0» - в случае
успешно
го
заверше
ния;
• код ошибки
errorCod
e
-
в
случае
возникн
овения
ошибки
(см.
в
перечне
ошибок
ниже).
Описание ошибки
errorDescrip
String
1
Описание
tion
ошибки.
В
случае
успешного
выполнения
конверсии
выводится
сообщение «Нет
ошибок»
Нижняя граница
errorRange
BigDecimal
0..1
Нижняя граница
проверяемого
Min
проверяемого
диапазона курсов
диапазона
курсов
при
возникновении
ошибки.
Остается пустым
в
случае
успешного
завершения
выполнения
запроса
Верхняя граница
errorRange
BigDecimal
0..1
Верхняя граница
проверяемого
Max
проверяемого
диапазона курсов
диапазона
курсов
при
возникновении
ошибки.
Остается пустым
в
случае
успешного
завершения
выполнения
запроса
Результат
status
Structure
1
обработки
конверсии
Код
statusCo
String
1
Возможны
заверше
de
е
ния
значения:
• «0»
- в
слу
чае
усп
еш
ног
о
зав
ер
ше
ни
я;
• код
ош
иб
ки
err
orC
od
e -
в
слу
чае
воз
ни
кн
ов
ен
ия
ош
иб
ки
(см
в
пе
ре
чн
е
ош
иб
ок
ни
же)
Описани
errorDesc
String
1
Описание
е ошибки
ription
ошибки.
В случае
успешного
выполнен
ия
конверсии
выводится
сообщени
е
«Нет
ошибок»
Нижняя
errorRan
BigDecimal
0..1
Нижняя
граница
geMin
граница
проверя
проверяе
емого
мого
диапазон
диапазона
а курсов
курсов
при
возникнов
ении
ошибки.
Остается
пустым в
случае
успешного
завершен
ия
выполнен
ия запроса
Верхняя
errorRan
BigDecimal
0..1
Верхняя
граница
geMax
граница
проверя
проверяе
емого
мого
диапазон
диапазона
а курсов
курсов
при
возникнов
ении
ошибки.
Остается
пустым в
случае
успешного
завершен
ия
выполнен
ия запроса
Резул
statu
Struc
1
ьтат
s
ture
обраб
отки
запро
са
Код
statu
Strin
1
Возможн
заве
sCod
g
ые
рше
e
значения
ния
:
• «0» - в
с
л
у
ч
а
е
у
с
п
е
ш
н
о
г
о
з
а
в
е
р
ш
е
н
и
я;
• код
о
ш
и
б
к
и
er
ro
r
C
o
d
e
-
в
с
л
у
ч
а
е
в
о
з
н
и
к
н
о
в
е
н
и
я
о
ш
и
б
к
и
м.
в
п
е
р
е
ч
н
е
о
ш
и
б
о
к
н
и
ж
е)
Опис
error
Strin
0..1
Описани
ание
Desc
g
е
оши
riptio
ошибки.
бки
n
Остается
пустым в
случае
успешно
го
заверше
ния
выполне
ния
запроса
Возвращаемые параметры в зависимости от типа конверсии
Параметр
Простая конверсия
Кросс-курс конверсия
ы ответа
(возвраща
емые
курсы)
Итоговый
Да
Да
результат
конверсии
Курс APK приведен к
1
conversionRateForOneUnit
Да
Да
валюты
Курс APK приведен к
1
conversionRateBuyForOneUni
Да
Нет
валюты
t
Курс APK приведен к
1
conversionRateSellForOneUni
Да
Нет
валюты
t
Курс АРК приведен к
conversionRateForCbLotSize
Да
Нет
cbLotSize
Курс АРК приведен к
conversionRateBuyForCbLotS
Да
Нет
cbLotSize
ize
Курс АРК приведен к
conversionRateSellForCbLotSi
Да
Нет
cbLotSize
ze
Курс ЦБ приведен к
1
cbRateForOneUnit
Да
Да
валюты
Курс ЦБ приведен к
1
cbRateForCbLotSize
Да
Нет
cbLotSize
Масштаб курса ЦБ
cbLotSize
Да
Нет
Сумма покупаемой валюты
buyAmount
Да
Да
Сумма покупаемой валюты
cbBuyAmount
Да
Да
по курсу ЦБ
ISO
код
покупаемой
buyCurrency
Да
Да
валюты
Количество
десятичных
buyFractionalAmountSize
Да
Да
цифр после
точки для
покупаемой валюты
Сумма
продаваемой
sellAmount
Да
Да
валюты
Сумма
продаваемой
cbSellAmount
Да
Да
валюты по курсу ЦБ
ISO
код
продаваемой
sellCurrency
Да
Да
валюты
Количество
десятичных
sellFractionalAmountSize
Да
Да
цифр после
точки для
продаваемой валюты
Нижняя граница диапазона
selectedRandeMin
Да
Нет
Верхняя граница диапазона
selectedRangeMax
Да
Нет
intermediateConversionResu
Нет
Да
lt
- Результат
промежуточных конверсий
conversion
- Результат
Нет
Да
промежуточной конверсии
1
Курс APK
conversionR
Нет
Да
приведен
ateForOneU
к 1 валюты
nit
Курс APK
conversionR
Нет
Да
приведен
ateBuyForO
к 1 валюты
neUnit
Курс APK
conversionR
Нет
Да
приведен
ateSellForOn
к 1 валюты
eUnit
Курс АРК
conversionR
Нет
Да
приведен
ateForCbLot
к cbLotSize
Size
Курс АРК
conversionR
Нет
Да
приведен
ateBuyForCb
к cbLotSize
LotSize
Курс АРК
conversionR
Нет
Да
приведен
ateSellForCb
к cbLotSize
LotSize
Курс ЦБ
cbRateForO
Нет
Да
приведен
neUnit
к 1 валюты
Курс ЦБ
cbRateForCb
Нет
Да
приведен
LotSize
к cbLotSize
Масштаб
cbLotSize
Нет
Да
курса ЦБ
Сумма
buyAmount
Нет
Да
покупаемо
й валюты
Сумма
cbBuyAmou
Нет
Да
покупаемо
nt
й валюты
по курсу
ЦБ
ISO
код
buyCurrency
Нет
Да
покупаемо
й валюты
Сумма
sellAmount
Нет
Да
продавае
мой
валюты
Сумма
cbSellAmou
Нет
Да
продавае
nt
мой
валюты по
курсу ЦБ
ISO
код
sellCurrency
Нет
Да
продавае
мой
валюты
Нижняя
selectedRan
Нет
Да
граница
deMin
диапазона
Верхняя
selectedRan
Нет
Да
граница
geMax
диапазона
conversion
- Результат
Нет
Да
промежуточной конверсии
2
Курс APK
conversionR
Нет
Да
приведен
ateForOneU
к 1 валюты
nit
Курс APK
conversionR
Нет
Да
приведен
ateBuyForO
к 1 валюты
neUnit
Курс APK
conversionR
Нет
Да
приведен
ateSellForOn
к 1 валюты
eUnit
Курс АРК
conversionR
Нет
Да
приведен
ateForCbLot
к cbLotSize
Size
Курс АРК
conversionR
Нет
Да
приведен
ateBuyForCb
к cbLotSize
LotSize
Курс АРК
conversionR
Нет
Да
приведен
ateSellForCb
к cbLotSize
LotSize
Курс ЦБ
cbRateForO
Нет
Да
приведен
neUnit
к 1 валюты
Курс ЦБ
cbRateForCb
Нет
Да
приведен
LotSize
к cbLotSize
Масштаб
cbLotSize
Нет
Да
курса ЦБ
Сумма
buyAmount
Нет
Да
покупаемо
й валюты
Сумма
cbBuyAmou
Нет
Да
покупаемо
nt
й валюты
по курсу
ЦБ
ISO
код
buyCurrency
Нет
Да
покупаемо
й валюты
Сумма
sellAmount
Нет
Да
продавае
мой
валюты
Сумма
cbSellAmou
Нет
Да
продавае
nt
мой
валюты по
курсу ЦБ
ISO
код
sellCurrency
Нет
Да
продавае
мой
валюты
Нижняя
selectedRan
Нет
Да
граница
deMin
диапазона
Верхняя
selectedRan
Нет
Да
граница
geMax
диапазона
Статус
Да
Да
Пример вызова метода
Запрос на кросс-курс
{
"conversionDateTime":"2021-02-10T12:02:21.004+0004",
"operationId":"82638bb6e4bd45b685449c2990101c59",
"auditContextUuid":"f470972e-0ae6-404e-8831-92b4d3c1a250",
"bank":"38",
"division":null,
"office":null,
"atm":null,
"packageTypes":["0"],
"channel":"CHNL-1",
"card":null,
"option":null,
"conversions":[
{
"buyCurrency":"RUB",
"sellCurrency": "EUR",
"sellAmount":1000,
"instrumentDebit":"NSTR-1",
"instrumentCredit":"NSTR-1",
"conversionUUID":"1111111111"
}
]
}
Запрос (ошибка с конверсией)
{
"channel":"CHNL-1",
"office":null,
"division":null,
"bank":"38",
"operationId":"82638bb6e4bd45b685449c2990101c59",
"atm":null,
"auditContextUuid":"f470972e-0ae6-404e-8831-92b4d3c1a250",
"card":null,
"option":null,
"conversionDateTime":"2021-02-10T12:02:21.004+0004",
"packageTypes":["0"],
"conversions":[
{
"buyCurrency":"USD",
"sellCurrency": "EUR",
"sellAmount":1000,
"instrumentDebit":"NSTR-1",
"instrumentCredit":"NSTR-1",
"conversionUUID":"1111111111"
}
]
}
Запрос с ошибкой запроса
{
"channel":"CHNL-1",
"office":null,
"division":null,
"bank":"38",
"operationId":"82638bb6e4bd45b685449c2990101c59",
"atm":null,
"auditContextUuid":"f470972e-0ae6-404e-8831-92b4d3c1a250",
"card":null,
"option":null,
"conversionDateTime":"2021-02-10T12:02:21.004+0004",
"packageTypes":["0"],
"conversions":[
{
"buyCurrency":"RUB",
"sellCurrency": "EUR",
"sellAmount":1000,
"instrumentDebit":"NSTR-4",
"instrumentCredit":"NSTR-1",
"conversionUUID":"1111111111"
}
]
}
Ответ
{
"channel":"CHNL-1",
"office":null,
"division":null,
"bank":"38",
"operationId":"82638bb6e4bd45b685449c2990101c59",
"atm":null,
"auditContextUuid":"f470972e-0ae6-404e-8831-92b4d3c1a250",
"card":null,
"option":null,
"conversionDateTime":"2021-02-10T12:02:21.004+0004",
"conversions":[
{
"buyCurrency":"RUB",
"sellCurrency": "EUR",
"sellAmount":1000,
"instrumentDebit":"NSTR-1",
"instrumentCredit":"NSTR-1",
"conversionUUID":"1111111111"
}
]
}
Ответ по конверсии кросс-курса
{
"success": true,
"body": {
"ListConversionResult": [
{
"packageType": "0",
"conversions": [
{
"conversionUUID": "1111111111",
"instrumentDebit": "NSTR-1",
"instrumentCredit": "NSTR-1",
"conversionType": "SIMPLE",
"conversionResult": {
"status": {
"statusCode": "0",
"errorDescription": "Нет ошибок."
},
"buyAmount": 77760,
"buyCurrency": "RUB",
"sellAmount": 1000,
"sellCurrency": "EUR",
"selectedRangeMin": 0,
"selectedRangeMax": 100000,
"cbBuyAmount": 76637.6,
"cbSellAmount": 1000,
"buyFractionalAmountSize": 2,
"sellFractionalAmountSize": 2,
"cbLotSize": 1,
"conversionRateForOneUnit": 77.76,
"cbRateForOneUnit": 76.6376,
"conversionRateForCbLotSize": 77.76,
"conversionRateSellForCbLotSize": 77.76,
"conversionRateBuyForCbLotSize": 72.79,
"conversionRateBuyForOneUnit": 72.79,
"conversionRateSellForOneUnit": 77.76,
"cbRateForCbLotSize": 76.6376
}
}
]
}
],
"status": {
"statusCode": "0"
}
}
}
Ответ с ошибкой конверсии
{
"success": true,
"body": {
"ListConversionResult": [
{
"packageType": "0",
"conversions": [
{
"conversionUUID": "1111111111",
"instrumentDebit": "NSTR-1",
"instrumentCredit": "NSTR-1",
"conversionType": "CROSS_COURSE",
"conversionResult": {
"status": {
"statusCode": "0",
"errorDescription": "Нет ошибок."
},
"buyAmount": 988.04,
"buyCurrency": "USD",
"sellAmount": 1000,
"sellCurrency": "EUR",
"cbBuyAmount": 942.68,
"cbSellAmount": 1000,
"conversionRateForOneUnit": 1.0121,
"cbRateForOneUnit": 1.0608,
"conversionResults": {
"conversionList": [
{
"status": {
"statusCode": "0",
"errorDescription": "Нет ошибок."
},
"buyAmount": 77760,
"buyCurrency": "RUB",
"sellAmount": 1000,
"sellCurrency": "EUR",
"selectedRangeMin": 0,
"selectedRangeMax": 100000,
"cbBuyAmount": 76637.6,
"cbSellAmount": 1000,
"buyFractionalAmountSize": 2,
"sellFractionalAmountSize": 2,
"cbLotSize": 1,
"conversionRateForOneUnit": 77.76,
"cbRateForOneUnit": 76.6376,
"conversionRateForCbLotSize": 77.76,
"conversionRateSellForCbLotSize": 77.76,
"conversionRateBuyForCbLotSize": 72.79,
"conversionRateBuyForOneUnit": 72.79,
"conversionRateSellForOneUnit": 77.76,
"cbRateForCbLotSize": 76.6376
},
{
"status": {
"statusCode": "0",
"errorDescription": "Нет ошибок."
},
"buyAmount": 988.06,
"buyCurrency": "USD",
"sellAmount": 77760,
"sellCurrency": "RUB",
"selectedRangeMin": 0,
"selectedRangeMax": 100000,
"cbBuyAmount": 956.44,
"cbSellAmount": 77760,
"buyFractionalAmountSize": 2,
"sellFractionalAmountSize": 2,
"cbLotSize": 1,
"conversionRateForOneUnit": 78.7,
"cbRateForOneUnit": 81.3011,
"conversionRateForCbLotSize": 78.7,
"conversionRateSellForCbLotSize": 82.8,
"conversionRateBuyForCbLotSize": 78.7,
"conversionRateBuyForOneUnit": 78.7,
"conversionRateSellForOneUnit": 82.8,
"cbRateForCbLotSize": 81.3011
}
]
}
}
}
]
}
],
"status": {
"statusCode": "0"
}
}
}
Ответ с ошибкой запроса
{
"success": true,
"body": {
"ListConversionResult": [
{
"packageType": "0",
"conversions": [
{
"conversionUUID": "1111111111",
"conversionResult": {
"status": {
"statusCode": "CURRCONV_002",
"errorDescription": "По заданным параметрам курс не найден."
}
}
}
]
}
],
"status": {
"statusCode": "0"
}
}
}
{
"success": true,
"body": {
"status": {
"statusCode": "CURRCONV_003",
"errorDescription": "Отсутствует обязательный параметр [packageTypes]."
}
}
}
Код ERNP по пакету услуг
Назначение
Определение кода ERNP по пакету услуг,
каналу и т.д.
Источник вызова
Список
конверсий
CURR_CONV
(calculateConversionsList)
Исходные данные для алгоритма
excel
snapshot
АРК-АС КВ Матрица и коды ERNP.xlsx
Snapshot.xml
Входные данные
• код пакета услуг;
• канал;
• территориальный банк;
• средство списания
• средство зачислени
Выходные данные
• Код ERNP;
• Код пакета услуг;
Котировки финансовых инструментов (FinancialQuotes)
API
Интерфейс для использования:
FinancialQuotes
Maven
<dependency>
<groupId>sbp.ru.sbt.pricing</groupId>
<artifactId>financial-quotes-cloud-api</artifactId>
<version>уточнять</version>
</dependency>
Получение кросс курса (getCrossRate)
API
FinancialQuotes
Назначение
Получение кросс курса для списка валютных пар на
заданную дату
Внимание:
• Метод работает на заданную дату.
• Если в запросе будет передан вид курса и не
соответствующий ему код валюты, то курс для
данного кода не будет найден. например:
передан вид курса PMCB (учетные цены
драгметаллов) и код валюты USD, которому
соответствует вид курса FXCB (официальные
курсы валют ЦБ);
Что возвращает
CB6T|PMCB|FXCB|ClearCurr|ECU|
Список
курсов
валют
Rq
Rs
Параметры запроса
Наименов
Элемент
Тип
Кратност
Коммент
ание
данных
ь
арий
параметра
Версия
jsonprc
String
1
Структура
JSONRPC
в
соответст
вии
с
версией
специфик
ации
JSONRPC
2.0.
Передаетс
я
значение
константы
«2.0».
Наименова
method
String
1
Наименов
ние метода
ание
вызываем
ого
метода.
Передаетс
я
значение
константы
«getCross
Rate».
Идентифик
id
String
1
Идентифи
атор
катор
запроса
запроса в
рамках
системы-
источника
Перечень
params
Parameter
1
входных
параметро
в
дата
requestDa
Date
0..1
Календар
запроса
te
ная дата,
на
которую
нужно
выполнит
ь расчет
кросс-
курса. Есл
и
не
задана, то
используе
тся
текущая
дата, т.е.
дата
получени
я запроса.
метод
rounding
String
0..1
Для
округлени
Мethod
округлени
я
я прямой
котировк
и
или
рассчитан
ного
кросс-
курса. Есл
и
не
передан,
то
принимае
т
по
умолчани
ю
значение
«0
без
округлени
я»
Возможн
ые
значения
представл
ены
на
странице
Метод
округлени
я
(rounding
Method)
точность
roundingP
Long
0..1
Точность
округлени
recision
округлени
я
я
для
прямой
котировк
и
или
рассчитан
ного
кросс-
курса.
Если
параметр
не
передан,
то
выводит
значение
без
округлени
я (до
50
знаков).
метод
rounding
String
0..1
Метод для
округлени
МethodFo
округлени
я
для
rInvertedQ
я
обратной
uote
обратных
котировк
котирово
и
к
rate,
передавае
мые
в
ответе.
Если
не
передан,
то
принимае
т
по
умолчани
ю
значение
«0
без
округлени
я»
Возможн
ые
значения
представл
ены
на
странице
Метод
округлени
я
(rounding
Method)
точность
roundingP
Long
0..1
Точность
округлени
recisionFor
округлени
я
для
InvertedQ
я
для
обратной
uote
обратных
котировк
котирово
и
к
rate,
передавае
мых
в
ответе.
Если
параметр
не
передан,
то
используе
тся
значение
50 знаков
после
запятой.
список бл
types
list
1..7
Список
оков
блоков с
приоритет
ами, где
искать
валютные
пары для
расчета
кросс
курса.
фин. блок
type
String
1
Возможные значения:
• CB6T -
курсы
рассчитанные
по письму ЦБ
6Т;
• PMCB -
учетные
цены
драгметаллов;
• FXCB -
официальные
курсы валют
ЦБ;
• ClearCurr -
клиринговые
курсы валют;
• ECU - курсы валют
стран-
участниц
Экономическо
го и Валютного
Союза.
• MXRefinitv
-
рыночные
курсы
• MXDiscount
-
дисконтирова
нные
рыночные
курсы
приоритет
priority
int
1
Атрибут необходим
для приоритезации -
если
инструмент
(валютная
пара)
найден в нескольких
блоках
"type",
использовать
только
один, в соответствии с
очередностью
приоритета. Диапазо
н заполнения от 1 до
20.
1 - высший приоритет
(инструменты,
привязанные
к
данному
блоку,
должны
использоваться
в
первую очередь)
20
-
низший
приоритет
(инструменты,
привязанные
к
данному
блоку,
должны
использоваться
в
последнюю очередь)
список
pairs
list
1..5
Перечень
пар
<object>
валютных
пар, для
которых
требуется
расчет
курса.
код
baseCode
String
1
Числовой
или
базовой
буквенный
код
валюты/металла,
для
которого необходимо
получить
курс. Пример:
USD,
840.
код
quoteCod
String
1
Числовой
или
котируем
e
буквенный
код
ой
валюты/металла,
для
которого необходимо
получить
курс. Пример:
EUR,
978.
третья
interimCo
String
0..1
Числовой
валюта
de
или
для
буквенны
расчета
й
код
кросс-
валюты,
курса
через
которую
будет
рассчитан
кросс-
курс. Если
параметр
не
передан,
то будет
использов
ана
валюта
RUB.
Параметры ответа
Наимено
Элемен
Тип
Кратнос
Коммен
вание
т
ть
тарий
парамет
ра
Версия
jsonprc
String
1
=«2.0».
JSONRPC
Структур
а
в
соответс
твии с
версией
специфи
кации
JSONRP
C 2.0.
Идентиф
id
String
1
Идентиф
икатор
икатор
запроса
запроса
в рамках
системы
-
источни
ка
из
запроса.
Перечень
result
object
0..1
Заполня
выходных
ется
параметр
только в
ов
случае
успешно
й
обработ
ки
запроса
Перечен
success
list
0..5
Заполня
ь
<object>
ется,
успешн
если
ых
рассчита
результа
н хотя
тов
бы
1
кросс-
курс
Данные
crossRat
object
1
Отдельн
кросс
e
ая дата
курса
из
запроше
нного
диапазо
на
на
которую
действу
ют
курсы из
списке
ниже
Кросс
-
crossRat
BigDeci
1
Рассчитанный кросс
курс
e
mal
курс,
точность
валютно
значения из запроса,
й пары
Масшта
lotSize
BigDeci
1
Значение масштаба
б кросс
mal
кросс курса
курса
Код
baseCod
String
1
Значение из запроса
базовой
e
baseCode
валюты
Код
quoteCo
String
1
Значение из запроса
котируе
de
quoteCode
мой
валюты
Данные
baseRate
Currency
1
Курс
базовой
о курсе
Rate
валюты,
базовой
использованной для
валюты
расчета кросс-курса
Данные
quoteRat
Currency
1
Курс
котируемой
о курсе
e
Rate
валюты,
котируе
использованной для
мой
расчета кросс-курса
валюты
Данные
rate
Currency
0..5
Найденн
курса
Rate
ый курс
прямой
или
обратно
й
котиров
ки
Перечен
errors
List
0..N
Заполня
ь
<object>
ется,
ошибок
если в
процесс
е
обработ
ки
запроса
были
выявлен
ы
ошибки
Базовая
baseCod
String
0..1
Код
валюта
e
базовой
валюты,
если
ошибка
связана
с курсом
этой
валюты
Котируе
quoteCo
String
0..1
Код
мая
de
котируе
валюта
мой
валюты,
если
ошибка
связана
с курсом
этой
валюты
Ошибка
error
object
1
Код
code
Int
1
Код
ошибки
ошибки
из Описание API - 4-
е поколение
Описани
descripti
String
1
Описание ошибки
е
on
ошибки
Наличие
error
Error
0..1
Блок
ошибок
заполня
ется
только в
случае
возникн
овения
общей
ошибки
Код
code
Integer
1
ошибки
Сообще
message
String
1
ние об
ошибке
Описание объекта CurrencyRate
Курс
rate
BigDecimal
1
Значение курса валюты
котировки
Дата/время
startDate
Date
1
Дата начала действия курса
начала
валюты
действия котиро
вки
Буквенный код
baseAlphaCode
String
1
По ISO 4217: американский
базовый
доллар - USD; евро - EUR.
Числовой код
baseNumericCo
String
1
По ISO 4217: американский
базовый
de
доллар - 840; евро - 978;
Буквенный код
quoteAlphaCod
String
1
По ISO 4217: российский
котируемый
e
рубль - RUB;
Числовой код
quoteNumericC
String
1
По ISO
4217: российский
котируемый
ode
рубль - 643;
Масштаб курса
lotSize
BigDecimal
1
Значение масштаба курса
Вид курса
type
String
1
Возможные значения:
• CB6T -
курсы
рассчитанные
по
письму ЦБ 6Т;
• PMCB - учетные цены
драгметаллов;
• FXCB -
официальные
курсы валют ЦБ;
• ClearCurr - клиринговые
курсы валют;
• ECU - курсы валют стран-
участниц
Экономического и
Валютного Союза.
• ... - рыночные курсы
• ...
- дисконтированные
рыносные курсы
Признак
invertedQuote
String
1
= "true" для обратной
обратной
котировки, "false"
- для
котировки
прямой котировки
ИД
rqUID
String
1
Уникальный
распоряжения
идентификатор
распоряжения (запроса о
создании
курсов),
передаваемый
в
сообщении с курсами
валют.
Список котировок (getRates)
API
FinancialQuotes
Назначение
Всегда возвращает курс валюты или котировку
металла за N единиц и масштаб N.
Внимание:
• Ограничение на длину периода - не более
30
календарных дней.
• Дата начала и окончания периода могут совпадать -
в этом случае будет передан перечень курсов
ЦБ на запрашиваемую дату;
• Если в запросе будет передан вид курса и не
соответствующий ему код валюты, то курс для
данного кода не будет найден. например:
передан вид курса PMCB (учетные цены
драгметаллов) и код валюты USD, которому
соответствует вид курса FXCB (официальные
курсы валют ЦБ);
• Присутствует ограничение на глубину поиска 14
дней с даты запроса (если курс не обновлялся
более 14-ти дней, потребитель не сможет его
получить). Для получения исторических курсов
требуется передать дату из прошлого, где курс
по данной валюте действовал на промежутке 1
дней.
• Метод работает в режиме low-latency только в
случае:
• dateTo = sysDate (текущая дата генерируемая java
машиной) и dateFrom = null
• dateTo = dateFrom = sysDate
Rq
Rs
Параметры запроса
Наименов
Элемент
Тип
Кратност
Комментарий
ание
данных
ь
параметра
Версия
jsonprc
String
1
Структура в соответствии с версией
JSONRPC
спецификации JSONRPC 2.0.
Передается значение константы «2.0».
Наименова
method
String
1
Наименование вызываемого метода.
ние метода
Передается значение константы «getRates».
Идентифик
id
String
1
Идентификатор запроса в рамках системы-
атор
источника.
запроса
Перечень
params
Parameter
1
входных
параметро
в
дата
dateFrom
Date
0..1
Календарная дата начала
начала
периода. Если null, то
периода
равен дате окончания
периода (dateTo)
дата
dateTo
Date
1
Календарная
дата
окончани
окончания
я периода
периода, формат
передаваемых данных
метод
rounding
String
0..1
Метод округляет прямые
округлени
Мethod
котировки
rate,
я
передаваемые в ответе.
Если не передан, то
принимает
по
умолчанию значение «0
без округления»
Возможные значения по
числовым кодам:
• 0 - без округления,
• 1 - математическое,
• 2 - отсечение,
• 3 - в меньшую сторону,
• 4 - в большую сторону.
точность
roundingP
Long
0..1
Точность округления для
округлени
recision
прямых котировок rate,
я
передаваемых в ответе.
Если
пареметр
не
передан, то выводит
значение полученное от
мастер системы КФИ.
метод
rounding
String
0..1
Метод для округления
округлени
МethodFo
обратных котировок rate,
я
для
rInvertedQ
передаваемые в ответе.
обратной
uote
Если не передан, то
котировк
принимает
по
и
умолчанию значение «0
без округления»
Возможные значения по
числовым кодам:
• 0 - без округления,
• 1 - математическое,
• 2 - отсечение,
• 3 - в меньшую сторону,
• 4 - в большую сторону.
добавлено в доработке r
pu-6580
точность
roundingP
Long
0..1
Точность округления для
округлени
recisionFor
обратных котировок rate,
я
для
InvertedQ
передаваемых в ответе.
обратной
uote
Если
пареметр
не
котировк
передан, то используется
и
значение
50
знаков
после запятой.
добавлено в доработке r
pu-6580
Признак
includeInv
boolean
0..1
• true
расчета
ertedRates
• -
добавляет
обратной
переверну
котировк
тую
и
котировку
в
параметра
х ответа,
если
по
переданн
ым pairs
отсутству
ют
прямые
котировки
в РБФИ
• - добавляет переверну
тые
котировки
в
параметра
х ответа в
дополнен
ие
к
базовым,
если
передан
только
финансов
ый блок
(type)
• false
-
возвращает
только
прямые
котировки
• null = false
список бл
types
list
0..7
Если
значение
не
оков
передано, то отправляет
ответ включащий все
виды
курса,
перечисленные ниже.
фин. блок
type
String
1
Возможные значения:
• CB6T -
курсы
рассчитанные
по письму ЦБ 6Т;
• PMCB - учетные цены
драгметаллов;
• FXCB - официальные
курсы валют ЦБ;
• ClearCurr -
клиринговые
курсы валют;
• ECU
- курсы валют
стран-участниц
Экономическог
о и Валютного
Союза.
• ... - рыночные курсы
• ...
-
дисконтированн
ые
рыносные
курсы
приоритет
priority
int
0..1
Если атрибут передан
хотябы для одного
объекта из списка, то и
для всех объектов
атрибут требуется к
заполнению,
иначе
ошибка.
Атрибут
необходим
для
преоритезации
- если
инструмент (валютная
пара)
найден
в
нескольких
блоках
"type",
передать
в
ответе только один, в
соответствии
с
очередностью
приоритета. Диапазон
заполнения от 1 до 20.
1 - высший приоритет
(инструменты,
привязанные к данному
блоку,
должны
выводиться в первую
очередь)
20 - низший приоритет
(инструменты,
привязанные к данному
блоку,
должны
выводиться
в
последнюю очередь)
список
pairs
list
0..N
Перечень кодов, по
пар
<object>
которым запрашиваются
фин. инструменты.
Может
передавать
пустое значение, тогда
возвращается перечень
курсов по всем видам
фин.
инструментов,
перечисленных
в
атрибуте
«список блоков».
код
baseCode
String
0..1
Числовой
или
базовый
буквенный
код
валюты/металла,
для
которого необходимо
получить курс. Пример:
USD, 840.
код
quoteCod
String
0..1
Числовой
или
котируем
e
буквенный
код
ый
валюты/металла,
для
которого необходимо
получить курс. Пример:
EUR, 978.
Параметры ответа
Наимен
Элеме
Тип
Кратно
Комментарий
ование
нт
сть
параме
тра
Версия
jsonprc
String
1
Структура в соответствии с
JSONRP
версией
спецификации
C
JSONRPC 2.0.
Передается
значение
константы «2.0».
Иденти
id
String
1
Идентификатор запроса в
фикатор
рамках системы-источника
запроса
из запроса.
Перечен
result
object
0..1
Заполняется только в
ь
случае
успешной
выходн
обработки запроса
ых
парамет
ров
Перече
success
list
0..N
нь
<object
успешн
>
ых
результ
атов
Дата
request
Date
0..N
Отдельная
запрос
Date
дата
из
а
запрошенног
о диапазона
на которую
действуют
курсы
из
списке ниже
Список
rates
list<object>
0..N
Список
курсов
курсов
валют
запрошенных
валют,
действующих
на
дату
запроса.
Курс
rate
BigDecimal
1
Курс валюты (в текущих
котиро
распоряжениях
4 знака
вки
после запятой)
Дата/в
startDate
Date
1
ремя
начала
действ
ия коти
ровки
Буквен
baseAlphaCode
String
1
По ISO 4217:
ный
код
• американский доллар -
базовы
USD;
й
• евро - EUR.
Числов
baseNumericCode
String
1
По ISO 4217:
ой код
• американский доллар -
базовы
840;
й
• евро - 978;
Буквен
quoteAlphaCode
String
1
По ISO 4217: российский
ный
рубль - RUB;
код
котиру
емый
Числов
quoteNumericCode
String
1
По ISO 4217: российский
ой код
рубль - 643;
котиру
емый
Масшт
lotSize
BigDecimal
1
аб
базово
й
валюты
относи
тельно
котиру
емой
Вид
type
String
1
Возможные значения:
курса
• CB6T -
курсы
рассчитанные по
письму ЦБ 6Т;
• PMCB - учетные цены
драг-металлов;
• FXCB - официальные
курсы валют ЦБ;
• ClearCurr -
клиринговые
курсы валют;
• ECU
- курсы валют
стран-участниц
Экономического
и
Валютного
Союза.
• ... - рыночные курсы
• ...- дисконтированные
рыносные курсы
ИД
rqUID
String
1
Уникальный
распор
идентификатор
яжения
распоряжения (запроса о
создании
курсов),
передаваемый
в
сообщении с курсами
валют.
Перече
errors
List
0..N
нь
<object
ошибо
>
к
Дата
request
Date
1
Отдельная
запрос
Date
дата
из
а
запрошенног
о диапазона
Список
rates
list<object>
1..N
курсов
валют
Код
code
String
0..1
равен
из
вх
валюты
списка codes.code
Ошибк
error
object
1
а
Код ошибки
code
Int
1
Описание ошибки
description
String
1
Наличие
error
Error
0..1
Блок заполняется только в
ошибок
случае
возникновения
ошибки
Код
code
Integer
1
ошибк
и
Сообщ
messag
String
1
ение
e
об
ошибк
е
Деталь
data
String
0..1
Не
ная
заполняет
инфор
ся
на
мация
стороне
об
ППРБ.КВ,
ошибк
но может
е
заполнять
ся
на
стороне
ММТ
Кейс №1. Потребитель хочет получить по блоку FXCB прямые и обратные котировки
{
{
"jsonrpc": "2.0",
"jsonrpc": "2.0",
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"method": "getRates",
"result": {
"params": [
"success": [
{
{
"types": [
"requestDate": "2021-06-22T23:59:59.999+03:00",
{"type":"FXCB"}
"rates": [
],
{
"dateTo": "2021-06-22T01:23:16.019",
"currencyRate": 79.4084,
"roundingМethod": "1",
"startDate": "2021-06-22T00:00:00.000+03:00",
"roundingPrecision": 4,
"baseAlphaCode": "CHF",
"includeInvertedRates": true
"baseNumericCode": "756",
}
"quoteAlphaCode": "RUB",
]
"quoteNumericCode": "643",
}
"lotSize": 1,
"type": "FXCB",
"rqUID": "1833FDED7EF578B5EAC79009826C765A"
},
..... остальные прямые котировки валют
{
"currencyRate": 94.2711,
"startDate": "2021-06-22T00:00:00.000+03:00",
"baseAlphaCode": "HKD",
"baseNumericCode": "344",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 10.0,
"type": "FXCB",
"rqUID": "1833FDED7EF578B5EAC79009826C765A"
},
{
"currencyRate": 0.0126,
"startDate": "2021-06-22T00:00:00.000+03:00",
"baseAlphaCode": "RUB",
"baseNumericCode": "643",
"quoteAlphaCode": "CHF",
"quoteNumericCode": "756",
"lotSize": 1,
"type": "FXCB",
"rqUID": "1833FDED7EF578B5EAC79009826C765A"
},
..... остальные обратные котировки валют
{
"currencyRate": 0.0106,
"startDate": "2021-06-22T00:00:00.000+03:00",
"baseAlphaCode": "RUB",
"baseNumericCode": "643",
"quoteAlphaCode": "HKD",
"quoteNumericCode": "344",
"lotSize": 0.1,
"type": "FXCB",
"rqUID": "1833FDED7EF578B5EAC79009826C765A"
}
]
}
]
}
}
Кейс №2. Потребитель хочет получить по блоку FXCB котировку RUB/EUR
{
{
"jsonrpc": "2.0",
"jsonrpc": "2.0",
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"result": {
"method": "getRates",
"success": [
"params": [
{
{
"requestDate": "2021-06-22T23:59:59.999+03:00",
"types": [
"rates": [
{"type":"FXCB"}
{
],
"currencyRate": 0.01150825,
"pairs": [
"startDate": "2021-06-22T00:00:00.000+03:00",
{
"baseAlphaCode": "RUB",
"baseCode": "RUB",
"baseNumericCode": "643",
"quoteCode": "EUR"
"quoteAlphaCode": "EUR",
}
"quoteNumericCode": "978",
],
"lotSize": 1,
"dateTo": "2021-06-22T01:23:16.019",
"type": "FXCB",
"roundingМethod": "1",
"rqUID": "1833FDED7EF578B5EAC79009826C765A"
"roundingPrecision": 8,
}
"includeInvertedRates": true
]
}
}
]
]
}
}
}
Кейс №3. Потребитель хочет получить по блоку FXCB все котировки для базовой валюты RUB
{
{
"jsonrpc": "2.0",
"jsonrpc": "2.0",
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"id": "d6bbe6f6d09
34a669523cb834a5461c9",
"method": "getRates",
"result": {
"params": [
"success": [
{
{
"types": [
"requestDat
e": "2021-06-22T23:59:59.999+03:00",
{"type":"FXCB"}
"rates": [
],
{
"pairs": [
"currencyRate": 0.0126,
{
"startD
ate": "2021-06-22T00:00:00.000+03:00",
"baseCode": "RUB"
"baseA
lphaCode": "RUB",
}
"baseN
umericCode": "643",
],
"quoteAlphaCode": "CHF",
"dateTo": "2021-06-22T01:23:16.019",
"quoteNumericCode": "756",
"roundingМethod": "1",
"lotSize": 1,
"roundingPrecision": 8,
"type":
"FXCB",
"includeInvertedRates": true
"rqUID
": "1833FDED7EF578B5EAC79009826C765A"
}
},
]
..... остальные обратные котировки по RUB
}
{
"currencyRate": 0.0106,
"startDate": "2021-06-22T00:00:00.000+03:00",
"baseAlphaCode": "RUB",
"baseNumericCode": "643",
"quoteAlphaCode": "HKD",
"quoteNumericCode": "344",
"lotSize": 0.1,
"type": "FXCB",
"rqUID": "1833FDED7EF578B5EAC79009826C765A"
}
]
}
]
}
}
Кейс №4. Потребитель хочет получить по блоку FXCB все котировки для котируемой валюты EUR
{
"jsonrpc": "2.0",
{
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"jsonrpc": "2.0",
"result": {
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"success": [
"method": "getRates",
{
"params": [
"requestDate": "2021-06-22T23:59:59.999+03:00",
{
"rates": [
"types": [
{
{"type":"FXCB"}
"currencyRate": 0.01150825,
],
"startDate": "2021-06-22T00:00:00.000+03:00",
"pairs": [
"baseAlphaCode": "RUB",
{
"baseNumericCode": "643",
"quoteCode": "EUR"
"quoteAlphaCode": "EUR",
}
"quoteNumericCode": "978",
],
"lotSize": 1,
"dateTo": "2021-06-22T01:23:16.019",
"type": "FXCB",
"roundingМethod": "1",
"rqUID": "1833FDED7EF578B5EAC79009826C765A"
"roundingPrecision": 8,
}
"includeInvertedRates": true
]
}
}
]
]
}
}
}
Кейс №5. Потребитель хочет получить по блокам FXCB, Murex прямые котировки относительно EUR. (в обоих блоках есть инструменты)
{
{
"jsonrpc": "2.0",
"jsonrpc": "2.0",
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"method": "getRates",
"result": {
"params": [
"success": [
{
{
"types": [
"requestDate": "2021-06-22T23:59:59.999+03:00",
{"type":"FXCB", "priority" : 2},
"rates": [
{"type":"Murex", "priority" : 1}
{
],
"currencyRate": 86.8941,
"pairs": [
"startDate": "2021-06-22T00:00:00.000+03:00",
{
"baseAlphaCode": "EUR",
"baseCode": "EUR",
"baseNumericCode": "978",
"quoteCode": "RUB"
"quoteAlphaCode": "RUB",
}
"quoteNumericCode": "643",
],
"lotSize": 1,
"dateTo": "2021-06-22T01:23:16.019",
"type": "Murex",
"roundingМethod": "1",
"rqUID": "1833FDED7EF578B5EAC79009826C765A"
"roundingPrecision": 4,
}
"includeInvertedRates": false
]
}
}
]
]
}
}
}
Кейс №6. Потребитель хочет получить по блокам FXCB, Murex прямые котировки относительно EUR. (инструмент есть только блоке FXCB)
{
"jsonrpc": "2.0",
{
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"jsonrpc": "2.0",
"result": {
"id": "d6bbe6f6d0934a669523cb834a5461c9",
"success": [
"method": "getRates",
{
"params": [
"requestDate": "2021-06-22T23:59:59.999+03:00",
{
"rates": [
"types": [
{
{"type":"FXCB", "priority" : 2},
"currencyRate": 87.4189,
{"type":"Murex", "priority" : 1}
"startDate": "2021-06-22T00:00:00.000+03:00",
],
"baseAlphaCode": "EUR",
"pairs": [
"baseNumericCode": "978",
{
"quoteAlphaCode": "RUB",
"baseCode": "EUR",
"quoteNumericCode": "643",
"quoteCode": "RUB"
"lotSize": 1,
}
"type": "FXCB",
],
"rqUID": "1833FDED7EF578B5EAC79009826C765A"
"dateTo": "2021-06-22T01:23:16.019",
}
"roundingМethod": "1",
]
"roundingPrecision": 4,
}
"includeInvertedRates": false
]
}
}
]
}
}
Курсы ЦБ (CentralBankRates)
API
Интерфейс для использования:
CentralBankRates
Maven
<dependency>
<groupId>sbp.ru.sbt.pricing</groupId>
<artifactId>currency-rates-cb-cloud-api</artifactId>
<version>уточнять</version>
</dependency>
Базовый объект
Наименование
Элемент
Тип
Кратность
параметра
Курс базовой
currencyRate
BigDecimal
1
валюты
по
отношению
к
котируемой
Дата/время начала
startDate
Date
1
действия курса
Строковый
код
baseAlphaCode
String
1
базовый валют
Числовой
код
baseNumericCode
String
1
базовый валюты
Строковый
код,
quoteAlphaCode
String
1
котируемый валюты
Числовой
код,
quoteNumericCode
String
1
котируемый валюты
Масштаб
базовой
lotSize
BigDecimal
1
валюты
относительно
котируемой
ИД
rqUID
String
1
распоряжения базов
ой валюты
Простая конверсия
Наименование
Элемент
Тип
Кратность
параметра
Базовый объект
-
-
1
Сумма операции во
amount
BigDecimal
1
второй валюте
Размерность второй
decimalPrecision
Long
1
валюты
Конверсия кросс-курс
Наименование
Элемент
Тип
Обязательность
Комментарий
параметра
Сконвертирован
crossAmount
BigDecimal
1
ная сумма во
второй валюте
Кросс
- курс
crossRate
BigDecimal
1
валютной пары
Масштаб
lotSize
BigDecimal
1
базовой валюты
относительно
котирумой
Размерность для
decimalPrecisio
Long
1
Количество десятичных
суммы
во
n
цифр после точки.
второй валюте
Финансовый
finInstrument
String
1
Base/quote
инструмент
Ошибки
Наименование
Элемент
Тип
Кратность
параметра
Код ошибки
code
Integer
1
Сообщение
об
message
String
1
ошибке
Детальная
data
String
0..1
информация
об
ошибке
Курс ЦБ с конверсией (getRate)
API
CentralBankRates
Поколение API
4
Назначение
Получение курса ЦБ валюты на
операционную дату.
Всегда возвращает курс за N единиц
валюты и масштаб N.
Rq
getRateCentralBankRq.json
Rs
getRateCentralBankRs.json
Входные параметры
Элемент
Наименова
Тип
Обязательн
Комментарий
ние
ость
параметра
передачи
параметра
в вызове
метода
jsonrpc
-
String
Да
Спецификация
JsonRpc 2.0
id
идентифика
String
Да
тор_запроса
method
вызываемы
String
Да
getRate
й_метод
params
параметры
params
Да
запроса
code
код_валюты
String
Да
Числовой
или
буквенный
код
валюты/металла,
для
которого
необходимо
получить курс
amount
сумма_опер
Double
Нет
по
умолчанию
ации
равна "1"
Параметр
необходим
для
расчета
выходного
параметра
«сумма_операции
_по_второй_валю
те (amount)»
direct
прямая_опе
Boolean
Нет
по
умолчанию
рация
равна "true"
Определяет
валюту, в которой
введена сумма.
Принимает
значения:
• true - Означает,
что сумма
введена в
валюте
«currencyC
ode»
• false - Означает,
что сумма
введена в
«российск
ий рубль»
Параметр
необходим
для
расчета
выходного
параметра
«сумма_операции
_по_второй_валю
те (amount)»
roundingМet
метод_округ
Метод
Нет
по
умолчанию
hod
ления
округления
равен "MATH"
(roundingMe
Принимает
thod)
значения:
• ABSENT
- без
округлени
я;
• MATH
-
математич
еское,
• TRUNC
-
отсечение,
• DOWN
-
в
меньшую
сторону,
• UP - в большую
сторону.
Параметр
необходим
для
расчета
выходного
параметра
«сумма_операции
_по_второй_валю
те (amount)»
requestDate
дата_запрос
Date
Да
Дата календарная,
а
на
которую
необходимо
получить курс ЦБ
по
заданным
атрибутам
форматы дат ISO
8601 (2021-02)
Выходные параметры
Элемент
Наименова
Тип
Обязательн
Комментар
ние
ость
ий
параметра
передачи
параметра
в вызове
метода
jsonrpc
-
String
Да
Спецификац
ия JsonRpc
2.0
id
идентифика
String
Да
тор_запроса
result
параметры
params
Да
ответа
currencyRate
Курс
BigDecimal
Да
Курс валюты (в текущих
Центробанк
распоряжениях
4 знака
а России
после запятой)
startDate
Дата/время
Date
Да
начала
действия
курса
baseAlphaCo
Строковый
String
Да
По ISO 4217:
de
код базовой
• американский доллар -
валюты
USD;
• евро - EUR.
baseNumeric
Числовой
String
Да
По ISO 4217:
Code
код базовой
• американский доллар -
валюты
840;
• евро - 978;
quoteAlphaC
Строковый
String
Да
По ISO 4217: российский
ode
код
рубль - RUB
котируемой
валюты
quoteNumer
Числовой
String
Да
По ISO 4217: российский
icCode
код
рубль - 643;
котируемой
валюты
lotSize
Масштаб
BigDecimal
Да
базовой
валюты
относительн
о
котируемой
amount
Сумма
BigDecimal
Да
операции
во второй
валюте
decimalPreci
Размерност
Long
Да
Количество десятичных
sion
ь
второй
цифр после точки.
валюты
rqUID
ИД
String
Да
распоряжен
ия
error
Наличие
Error
0..1
Блок
ошибок
заполняется
только
в
случае
возникнове
ния ошибки
code
Код ошибки
Integer
1
message
Сообщение
String
1
об ошибке
data
Детальная
String
0..1
Не
заполняется
на
информаци
стороне Курсов Валют, но
я об ошибке
может заполняться на
стороне ММТ
Пример вызова метода Запрос (только обязательные поля)
ReqHeaders
Connection: keep-alive
Content-type: application/json
Content-Length: 154
Host: currency-rates.apps.dev-gen2.ca.sbrf.ru
User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_221)
____________________________________________________
POST http://currency-rates.apps.dev-gen2.ca.sbrf.ru/ru.sbt.currency.integration.api.cb.CentralBankRates
POST data:
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRate",
"params":
[{
"code": "978",
"requestDate": "2020-03-11"
}]
}
Ответ
ResHeaders
HTTP/1.1 200 OK
content-disposition: inline;filename=f.txt
content-type: application/octet-stream
content-length: 317
date: Thu, 07 May 2020 16:51:30 GMT
x-envoy-upstream-service-time: 17
server: istio-envoy
Set-Cookie: d8bd35e4a03fb0af5f674de9625a2cea=235993c3d8872f409065e769f24f95e4; path=/; HttpOnly
_______________________________________________________________________-
{
"jsonrpc": "2.0",
"id": 111,
"result": {
"currencyRate": 44.4444,
"startDate": "2017-12-31T00:00:00.000+0000",
"baseAlphaCode": "EUR",
"baseNumericCode": "978",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"amount": 44.44,
"decimalPrecision": 2,
"rqUID": "d1acad97-bfcd-4071-ab32-81044cb"
}
}
Запрос (все поля)
ReqHeaders
Connection: keep-alive
Content-type: application/json
Content-Length: 247
Host: currency-rates.apps.dev-gen2.ca.sbrf.ru
User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_221)
____________________________________________________
POST http://currency-rates.apps.dev-gen2.ca.sbrf.ru/ru.sbt.currency.integration.api.cb.CentralBankRates
POST data:
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRate",
"params": [{
"code": "840",
"amount": 100,
"direct": true,
"roundingMethod": "MATH",
"requestDate": "2019-05-07"
}]
}
Ответ
ResHeaders
HTTP/1.1 200 OK
content-disposition: inline;filename=f.txt
content-type: application/octet-stream
content-length: 319
date: Thu, 07 May 2020 16:49:46 GMT
x-envoy-upstream-service-time: 15
server: istio-envoy
Set-Cookie: d8bd35e4a03fb0af5f674de9625a2cea=235993c3d8872f409065e769f24f95e4; path=/; HttpOnly
___________________________________________________
{
"jsonrpc": "2.0",
"id": 111,
"result": {
"currencyRate": 66.9969,
"startDate": "2017-12-31T00:00:00.000+0000",
"baseAlphaCode": "USD",
"baseNumericCode": "840",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"amount": 6699.69,
"decimalPrecision": 2,
"rqUID": "d1acad97-bfcd-4071-ab32-81044cb"
}
}
Перечень ошибок
Код ошибки
Текст ошибки
Пояснение
-31000
Отсутствие обязательных
Отсутствие
или
параметров
некорректное заполнение
одного или более из
обязательных параметров
-31001
Отсутствие курсов валют
По
переданным
параметрам отсутствуют
курсы валют
-31004
В
качестве
валюты
Во входных параметрах в
передано
значение
качестве
кода
"российский рубль"
валюты/металла передано
значение для российского
рубля.
Список курсов ЦБ с конверсией по валюте котировки (getRateListByQuoteCurrency)
API
CentralBankRates
Назначение
Получение курса ЦБ по списку валют.
Всегда возвращает M курсов за N единиц
валюты и масштаб L.
Rq
getRateCentralBankRq.json
Rs
getRatesByQuotedCurrencyRs.json
Доработка
Добавлен алгоритм обработки ошибок
для списка базовых валют. Обогащены
параметры ответа.
Входные параметры
Элемент
Наименова
Тип
Обязательн
Комментарий
ние
ость
параметра
передачи
параметра
в вызове
метода
jsonrpc
-
String
Да
Спецификация
JsonRpc 2.0
id
идентифика
String
Да
тор_запроса
method
вызываемы
String
Да
getRateListByQuoteC
й_метод
urrency
params
параметры
params
Да
quoteCode
код
String
Да
Числовой
или
котируемой
буквенный
код
валюты/мет
валюты/металла
алла
baseCodeLis
список
List<String>
Да
Числовой
или
t
базовых
буквенный
код
валют
валюты/металла
amount
сумма_опер
BigDecimal
Нет
Если
параметр
ации
передается
пустым, то по
умолчанию
присваивается
значение «1».
direct
прямая_опе
Boolean
Нет
Определяет
рация
валюту, в которой
введена сумма.
Принимает
значения:
• true - Означает,
что сумма
передана
базовой
валюте и
требуется
расчитать
значение
в
котируемо
й
• false - Означает,
что сумма
передана
в
котируемо
й валюте и
требуется
расчитать
значение
в базовой
Если
параметр
передается
пустым, то по
умолчанию
-
«Истина (true)».
roundingMet
метод_округ
Метод
Нет
Метод
hod
ления
округления
округления.
(roundingMe
Принимает
thod)
значения:
0
-
без
округлени
я
(
50
знаков
после
запятой)
1
-
математич
еское,
• 2 - отсечение,
• 3 - в меньшую
сторону,
• 4 - в большую
сторону.
Если
параметр
передается
пустым, то по
умолчанию
-
«Математическое
(1)».
requestDate
дата_запрос
Date
Да
Дата календарная,
а
на
которую
необходимо
получить
по
заданным
атрибутам
Выходные параметры
Наименов
Элемент
Тип
Обязател
Коммент
ание
ьность
арий
параметра
Дата
requestDa
DateTime
1
запроса
te
Данные по
quoteCurr
currencyR
1
котируемо
encyRate
ate
й валюте
Результат
currencyR
list
1..N
расчета
ates
<CbAndCr
ossCurren
cyRates>
Базовая
baseCode
String
0..1
Равен
валюта
параметр
у
из
списка
вх.baseCo
deList
Не
передаетс
я в случае
успешног
о ответа
Статус
error
object
0..1
Не
передаетс
я в случае
успешног
о ответа
Код
code
Int
1
ошибки
Описание
descriptio
String
1
ошибки
n
Данные
cbBaseCur
currencyR
0..1
Не
по
rencyRate
ate
передаетс
базовой
я в случае
валюте
ошибки
Данные
cbCrossCu
crossCurre
0..1
Не
конверси
rrencyRate
ncyRate
передаетс
онной
я в случае
операции
ошибки
Сконверт
crossAmo
BigDecima
1
ированна
unt
l
я сумма
во второй
валюте
Кросс
-
crossRate
BigDecima
1
курс
l
валютной
пары
Масштаб
lotSize
BigDecima
1
базовой
l
валюты
относител
ьно
котирумо
й
Размерно
decimalPr
Long
1
Количество десятичных
сть
для
ecision
цифр после точки.
суммы во
второй
валюте
Финансов
finInstrum
String
1
Base/quote
ый
ent
инструме
нт
Наличие
ошибок
Код
code
Int
1
ошибки
Сообщен
message
String
1
ие
об
ошибке
Детальная
data
Object
0..1
Не заполняется на
информац
стороне ППРБ.КВ, но
ия
об
может заполняться на
ошибке
стороне ММТ
currencyRate
Элемент
Наименова
Тип
Обязательн
Комментарий
Комментарий №2
ние
ость
параметра
currencyRate
Курс
BigDecimal
Да
Курс валюты (в
Если
в
качестве
Центробанк
текущих
котируемой валюты
а России
распоряжениях
передан
рубль,
4 знака после
принимает
значение
запятой)
null
startDate
Дата/время
Date
Да
Если
в
качестве
начала
котируемой валюты
действия
передан
рубль,
курса
принимает
значение
null
baseAlphaCo
Строковый
String
Да
По ISO 4217:
de
код базовой
• американски
валюты
й
доллар -
USD;
• евро - EUR.
baseNumeric
Числовой
String
Да
По ISO 4217:
Code
код базовой
• американски
валюты
й
доллар -
840;
• евро - 978;
quoteAlphaC
Строковый
String
Да
По ISO
4217:
ode
код
российский
котируемой
рубль - RUB
валюты
quoteNumeri
Числовой
String
Да
По
ISO
cCode
код
4217: российски
котируемой
й рубль - 643;
валюты
lotSize
Масштаб
BigDecimal
Да
Если
в
качестве
базовой
котируемой валюты
валюты
передан
рубль,
относительн
принимает
значение
о рубля
null
rqUID
ИД
String
Да
Если
в
качестве
распоряжен
котируемой валюты
ия
передан
рубль,
принимает
значение
null
Пример вызова метода Запрос - цифровой код
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRateListByQuoteCurrency",
"params": [
{
"quoteCode": "643",
"baseCodeList": [
"978",
"840",
"HelloWorld",
"643"
],
"amount": 100,
"direct": true,
"roundingMethod": 1,
"requestDate": "2020-06-07"
}
]
}
Ответ
{
"jsonrpc": "2.0",
"id": 111,
"result": {
"requestDate": "2020-06-07T00:00:00.000+0000",
"quoteCurrencyRate": {
"baseAlphaCode": "RUB",
"baseNumericCode": "643",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643"
},
"currencyRates": [
{
"cbCurrencyRate": {
"currencyRate": 77.6376,
"startDate": "2020-06-04T21:00:00.000+0000",
"baseAlphaCode": "EUR",
"baseNumericCode": "978",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"rqUID": "7ed88a9d66c440cf8a97619cb53a9579"
},
"cbCrossCurrencyRate": {
"finInstrument": "EUR / RUB",
"crossAmount": 7763.76,
"lotSize": 1,
"decimalPrecision": 2,
"crossRate": 77.6376
}
},
{
"cbCurrencyRate": {
"currencyRate": 69.7114,
"startDate": "2020-06-04T21:00:00.000+0000",
"baseAlphaCode": "USD",
"baseNumericCode": "840",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"rqUID": "7ed88a9d66c440cf8a97619cb53a9579"
},
"cbCrossCurrencyRate": {
"finInstrument": "USD / RUB",
"crossAmount": 6971.14,
"lotSize": 1,
"decimalPrecision": 2,
"crossRate": 69.7114
}
},
{
"baseCode": "HelloWorld",
"error": {
"code": -31001,
"description": "По переданному коду валюты, отсутствует курс"
}
},
{
"baseCode": "643",
"error": {
"code": -31009,
"description": "Базовая и котируемая валюта не могут быть одинаковыми"
}
}
]
}
}
Список курсов за период (getRates)
API
CentralBankRates
Назначение
Получение курса валюты Центробанка / котировки
металла на начало каждого дня из переданного в
запросе периода.
Всегда возвращает курс валюты или котировку металла
за N единиц и масштаб N.
Внимание:
• Ограничение на длину периода
- не более
30
календарных дней.
• Дата начала и окончания периода могут совпадать -
в этом случае будет передан перечень курсов
ЦБ на запрашиваемую дату;
• Если в запросе будет передан вид курса и не
соответствующий ему код валюты, то курс для
данного кода не будет найден. например:
передан вид курса PMCB (учетные цены
драгметаллов) и код валюты USD, которому
соответствует вид курса FXCB (официальные
курсы валют ЦБ);
• Присутствует ограничение на глубину поиска 14 дней
с даты запроса (если курс не обновлялся более
14-ти дней, потребитель не сможет его
получить). Для получения исторических курсов
требуется передать дату из прошлого, где курс
по данной валюте действовал на промежутке 14
дней.
Rq
getRatesCentralBankRq.json
Rs
getRatesCentralBankRs.json
Входные параметры
Наимено
Элемен
Тип
Кратнос
Может
Коммен
вание
т
данных
ть
передав
тарий
парамет
аться
ра
null
(пусто)
Версия
jsonprc
String
1
Нет
Структур
JSONRPC
а
в
соответс
твии с
версией
специфи
кации
JSONRP
C 2.0.
Передае
тся
значени
е
констант
ы «2.0».
Наимено
method
String
1
Нет
Наимен
вание
ование
метода
вызывае
мого
метода.
Передае
тся
значени
е
констант
ы
«getRate
s».
Идентиф
id
String
1
Нет
Идентиф
икатор
икатор
запроса
запроса
в рамках
системы
-
источни
ка.
Перечень
params
Paramet
1
Нет
входных
er
параметр
ов
дата
dateFro
Date
1
Нет
Календа
начала
m
рная
периода
дата
начала
периода
Формат
передав
аемых
данных -
любой,
должен
соответс
твовать
станда
рту
список
types
Set
of
0..5
Да
Если
видов
<String>
значени
курсов
е
не
передан
о,
то
отправл
яет ответ
включа
щий все
виды
курса,
перечис
ленные
ниже.
вид
type
String
1
Нет
В запросе указывается
курса
только
значение
атрибута
без
наименования.
См.
пример ниже.
Возможные значения:
• CB6T -
курсы
рассчитанные
по письму ЦБ
6Т;
• PMCB -
учетные
цены
драгметаллов;
• FXCB -
официальные
курсы валют
ЦБ;
• ClearCurr -
клиринговые
курсы валют;
• ECU - курсы валют
стран-
участниц
Экономическо
го и Валютного
Союза.
список
codes
Set
of
0..N
Да
Перечен
кодов
<String>
ь валют,
валют/м
по
еталла
которым
запраши
ваются
курсы
ЦБ.
Может
передав
ать
пустое
значени
е, тогда
возвращ
ается
перечен
ь курсов
по всем
видам
курсов,
перечис
ленных в
атрибуте
«список
видов
курсов».
код
code
String
1
Нет
В запросе указывается
валюты
только
значение
атрибута
без
наименования.
См.
пример ниже.
Числовой
или
буквенный
код
валюты/металла,
для
которого необходимо
получить курс
Выходные параметры
Наимен
Элеме
Тип
Кратно
Комме
ование
нт
сть
нтарий
параме
тра
Версия
jsonprc
String
1
Структу
JSONRP
ра
в
C
соответ
ствии с
версие
й
специф
икации
JSONR
PC 2.0.
Переда
ется
значен
ие
конста
нты
«2.0».
Иденти
id
String
1
Иденти
фикатор
фикато
запроса
р
запрос
а
в
рамках
систем
ы-
источн
ика из
запрос
а.
Перечен
result
object
0..1
Заполн
ь
яется
выходн
только
ых
в
парамет
случае
ров
успешн
ой
обрабо
тки
запрос
а
Перече
success
list
0..N
нь
<object
успешн
>
ых
результ
атов
Дата
request
Date
0..N
Отдель
запрос
Date
ная
а
дата из
запрош
енного
диапаз
она на
котору
ю
действу
ют
курсы
из
списке
ниже
Список
rates
list<obj
0..N
Список
курсов
ect>
курсов
валют
запрош
енных
валют,
действу
ющих
на дату
запрос
а.
Курс
currenc
BigDeci
1
Курс валюты
Центро
yRate
mal
текущих
банка
распоряжени
России
ях
4 знака
после
запятой)
Дата/в
startDat
Date
1
ремя
e
начала
действ
ия
курса
Буквен
baseAlp
String
1
По ISO 4217:
ный
haCode
• американс
код
кий
базовы
долла
й
р
-
валюты
USD;
• евро - EUR.
Числов
baseNu
String
1
По ISO 4217:
ой код
mericC
• американс
базовы
ode
кий
й
долла
валюты
р
-
840;
• евро - 978;
Буквен
quoteAl
String
1
По ISO 4217:
ный
phaCod
российский
код
e
рубль - RUB;
котиру
емый
валюты
Числов
quoteN
String
1
По
ISO
ой код
umeric
4217: россий
котиру
Code
ский рубль -
емый
643;
валюты
Масшт
lotSize
BigDeci
1
аб
mal
базово
й
валюты
относи
тельно
котиру
емой
Вид
type
String
1
Возможные
курса
значения:
• CB6T -
курсы
рассч
итанн
ые по
письм
у ЦБ
6Т;
• PMCB -
учетн
ые
цены
драг-
метал
лов;
• FXCB -
офиц
иальн
ые
курсы
валют
ЦБ;
• ClearCurr -
клири
нговы
е
курсы
валют
;
• ECU
-
курсы
валют
стран
-
участ
ниц
Экон
омич
еског
о
и
Валют
ного
Союз
а.
ИД
rqUID
String
1
Уникальный
распор
идентификат
яжения
ор
распоряжени
я (запроса о
создании
курсов),
передаваемы
й
в
сообщении с
курсами
валют.
Перече
errors
List
0..N
нь
<object
ошибо
>
к
Дата
request
Date
1
Отдель
запрос
Date
ная
а
дата из
запрош
енного
диапаз
она
Список
rates
list<obj
1..N
курсов
ect>
валют
Код
code
String
0..1
равен из вх
валюты
списка codes.
code
Ошибк
error
object
1
а
Код
code
Int
1
ошибк
и
Описан
descript
String
1
ие
ion
ошибк
и
Наличие
error
Error
0..1
Блок
ошибок
заполн
яется
только
в
случае
возник
новени
я
ошибк
и
Код
code
Integer
1
ошибк
и
Сообщ
messag
String
1
ение
e
об
ошибк
е
Деталь
data
String
0..1
Не
ная
заполн
инфор
яется
мация
на
об
сторон
ошибк
е
е
ППРБ.К
В,
но
может
заполн
яться
на
сторон
е ММТ
Пример вызова метода
Запрос
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRates",
"params": [
{
"types": [
"FXCB",
"PMCB",
"HelloWorld"
],
"codes": [
"840",
"978",
"HelloWorld"
],
"dateFrom": "2021-04-22T12:51:47.188",
"dateTo": "2021-04-22T12:51:47.188"
}
]
}
Ответ: Список валют на одну дату
{
"jsonrpc": "2.0",
"id": 111,
"result": [
{
"success": [
{
"requestDate": "2021-04-22T23:59:59.000+03:00",
"rates": [
{
"currencyRate": 71.6993,
"startDate": "2021-04-30T00:00:00.000+03:00",
"baseAlphaCode": "EUR",
"baseNumericCode": "978",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "FXCB",
"rqUID": "FXCB_null"
},
{
"currencyRate": 65.5555,
"startDate": "2021-04-30T00:00:00.000+03:00",
"baseAlphaCode": "USD",
"baseNumericCode": "840",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "FXCB",
"rqUID": "FXCB_null"
}
]
}
]
},
{
"errors": [
{
"requestDate": "2021-04-22T23:59:59.000+03:00",
"rates": [
{
"code": "HelloWorld",
"error": {
"code": -31001,
"description": ""По переданному коду: HelloWorld отсутствуют курсы валют для
типов: FXCB,PMCB,HelloWorld."
}
}
]
}
]
}
]
}
Только типы
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRates",
"params": [
{
"types": [
"FXCB",
"PMCB",
"HelloWorld"
],
"dateFrom": "2021-04-22T12:51:47.188",
"dateTo": "2021-04-22T12:51:47.188"
}
]
}
Ответ: Список валют на одну дату
{
"jsonrpc": "2.0",
"id": 111,
"result": [
{
"success": [
{
"requestDate": "2021-04-30T23:59:59.000+03:00",
"rates": [
{
"currencyRate": 71.6993,
"startDate": "2021-04-30T00:00:00.000+03:00",
"baseAlphaCode": "EUR",
"baseNumericCode": "978",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "FXCB",
"rqUID": "FXCB_null"
},
{
"currencyRate": 65.5555,
"startDate": "2021-04-30T00:00:00.000+03:00",
"baseAlphaCode": "USD",
"baseNumericCode": "840",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "FXCB",
"rqUID": "FXCB_null"
}
]
}
]
},
{
"errors": [
{
"requestDate": "2021-04-30T23:59:59.000+03:00",
"rates": [
{
"error": {
"code": -31008,
"description": "По переданному типу: HelloWorld отсутствуют курсы валют."
}
}
]
}
]
}
]
}
Только коды
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRates",
"params": [
{
"codes": [
"840",
"978",
"HelloWorld"
],
"dateFrom": "2021-04-22T12:51:47.188",
"dateTo": "2021-04-22T12:51:47.188"
}
]
}
Ответ: Список валют на одну дату
{
"jsonrpc": "2.0",
"id": 111,
"result": [
{
"success": [
{
"requestDate": "2021-04-30T23:59:59.000+03:00",
"rates": [
{
"currencyRate": 71.6993,
"startDate": "2021-04-30T00:00:00.000+03:00",
"baseAlphaCode": "EUR",
"baseNumericCode": "978",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "FXCB",
"rqUID": "FXCB_null"
},
{
"currencyRate": 65.5555,
"startDate": "2021-04-30T00:00:00.000+03:00",
"baseAlphaCode": "USD",
"baseNumericCode": "840",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "FXCB",
"rqUID": "FXCB_null"
}
]
}
]
},
{
"errors": [
{
"requestDate": "2021-04-30T23:59:59.000+03:00",
"rates": [
{
"code": "HelloWorld",
"error": {
"code": -31001,
"description": "По переданному коду: HelloWorld отсутствуют курсы валют."
}
]
}
]
}
]
}
Список курсов с разницей на дату (getRatesWithPreviousRateChanges)
API
CentralBankRates
Назначение
Получение курса валюты Центробанка /
котировки металла и разницу с
предыдущим значением на дату запроса.
Всегда возвращает курс валюты или
котировку металла за N единиц и масштаб
N.
Внимание:
• Отличие от getRates - курсы за 1 день и
с указанием разницы между
курсом и его предыдущим
значением.
• Если в запросе будет передан вид курса
и не соответствующий ему код
валюты, то курс для данного
кода не будет найден. например:
передан вид курса PMCB (учетные
цены драг-металлов) и код валюты
USD, которому соответствует вид
курса FXCB (официальные курсы
валют ЦБ);
• Присутствует ограничение на глубину
поиска
14
дней
с даты
запроса (если курс не обновлялся
более 14-ти дней, потребитель не
сможет его получить). Для
получения исторических курсов
требуется передать дату из
прошлого, где курс по данной
валюте действовал на промежутке
14 дней.
• Также присутствует ограничение на
глубину поиска предыдущего
значения курса, для вычисления
разницы значений. Максимальная
глубина поиска предыдущего
значения составляет 14 дней от
даты
курса,
для
которого
выполняется поиск предыдущего
значения.
Если
предыдущее
значение за 14 дней назад найдено
не будет, то в ответе будет
отсутствовать
значение
с
разницей.
Rq
Rs
Входные параметры
Наимено
Элемен
Тип
Кратнос
Допусти
Коммен
вание
т
данных
ть
мо
тарий
парамет
NULL
ра
(пусто)
Версия
jsonprc
String
1
Нет
«2.0».
JSONRPC
Наимено
method
String
1
Нет
«getRate
вание
sWithPre
метода
viousRat
eChange
Идентиф
id
String
1
Нет
Идентиф
икатор
икатор
запроса
запроса
в рамках
системы
-
источни
ка
запроса.
Перечень
params
List
1
Нет
Массив
входных
<Object
из
параметр
>
одного
ов
элемент
а
(требова
ние
транспо
рта)
список
types
List
1..5
Да
видов
<Object
курсов с
>
валютам
и
вид
type
String
1
Нет
В
запросе
курса
указывается
только
значение
атрибута без
наименования.
См.
пример
ниже.
Возможные
значения:
CB6T - курсы
рассчитанные
по письму ЦБ
6Т;
PMCB -
учетные цены
драг-металлов;
FXCB -
официальные
курсы валют
ЦБ;
ClearCurr -
клиринговые
курсы валют;
ECU
- курсы
валют стран-
участниц
Экономическо
го и Валютного
Союза.
изменено по д
оработке rpu-
6553 : добавле
но
название
типа для блока
types
список
codes
List
0..N
Да
Перечень
кодов
<String>
валют,
по
валют/м
которым
еталла
запрашиваютс
я курсы ЦБ.
Представляет
из себя список
числовых или
буквенных
кодов
валюты/метал
ла.
Может
передавать
пустое
значение,
тогда в ответе
будет
перечень
курсов по всем
кодам валюты
и по всем
видам курсов,
перечисленны
х в атрибуте
«список видов
курсов».
изменено по д
оработке rpu-
6553 : изменен
уровень
вложенности,
теперь
относится
к
блоку types
Выходные параметры
Наимен
Элеме
Тип
Кратно
Комме
ование
нт
сть
нтарий
параме
тра
Версия
jsonprc
String
1
Структу
JSONRP
ра
в
C
соответ
ствии с
версие
й
специф
икации
JSONR
PC 2.0.
Переда
ется
значен
ие
конста
нты
«2.0».
Иденти
id
String
1
Иденти
фикатор
фикато
запроса
р
запрос
а
из
запрос
а.
Перечен
result
List
0..1
Заполн
ь
<object
яется
выходн
>
только
ых
в
парамет
случае
ров
успешн
ой
обрабо
тки
запрос
а
Дата
request
String
1
Дата
запрос
Date
(как
запрос
а
Date)
а,
на
котору
ю
действу
ют
курсы
из
списка
ниже
Успешн
success
List
0..5
ый
<Objec
результ
t>
ат
Вид
type
String
1
Вид
курса
курса,
значен
ия из
входящ
их
параме
тров
списка
params.
types
Список
rates
List
0..N
Список
курсов
<Objec
курсов
валют
t>
запрош
енных
валют,
действу
ющих
на дату
запрос
а.
Курс
currenc
BigDeci
1
Курс
Центро
yRate
mal
валюты (в
банка
текущих
России
распоряже
ниях
4
знака после
запятой)
Разниц
previou
BigDeci
0..1
Разница с
а курса
sRateC
mal
предыдущи
hange
м
значением
курса ЦБ (4
знака после
запятой) в
масштабе,
указанном
в lotSize
Для
вычисления
разницы
используетс
я курс не
ранее чем
14
дней
от
даты начала
действия
предыдуще
го курса ЦБ
Дата/в
startDat
String
1
ремя
e
(как
начала
Date)
действ
ия
курса
Дата/в
previou
String
0..1
Дата
и
ремя
sStartD
(как
время
начала
ate
Date)
начала
действ
действия
ия
предыдуще
предыд
го
курса,
ущего
который
курса
был
использова
н
для
вычисления
разницы
курсов
Буквен
baseAlp
String
1
Пример: ам
ный
haCode
ериканский
код
доллар
-
базово
USD; евро -
й
EUR.
валюты
Числов
baseNu
String
1
Пример: ам
ой код
mericC
ериканский
базово
ode
доллар
-
й
840; евро
-
валюты
978;
Буквен
quoteAl
String
1
"RUB"
ный
phaCod
- российски
код
e
й рубль
котиру
емой
валюты
Числов
quoteN
String
1
"643"
-
ой код
umeric
российский
котиру
Code
рубль
емой
валюты
Масшт
lotSize
BigDeci
1
Масштаб
аб
mal
курса
из
базово
распоряже
й
ния
валюты
установивш
относи
его курс ЦБ
тельно
от
котиру
источника
емой
курсов
ИД
rqUID
String
1
Уникальны
распор
й
яжения
идентифика
тор
распоряже
ния
установивш
его курс ЦБ
из
сообщения
от
источника
курсов
ИД
previou
String
1..0
Уникальны
распор
sRqUID
й
яжения
идентифика
предыд
тор
ущего
распоряже
курса
ния
установивш
его
предыдущи
й курс ЦБ из
сообщения
от
источника
курсов
Перече
errors
List
0..N
нь
<Objec
ошибо
t>
к
Вид
type
String
1
Вид
курса
курса,
значен
ия из
входящ
их
параме
тров
списка
params.
types
Ошибк
error
Object
1
а
Код
code
Integer
1
ошибк
и
Описан
descript
String
1
ие
ion
ошибк
и
список
rates
List
0..N
кодов
<Objec
валют/
t>
металл
а
Код
code
String
1
Код
валюты
валюты,
значения из
входящих
параметров
списка
params.cod
es
Ошибк
error
Object
1
а
Код
code
Integer
1
ошибк
и
Описан
descript
String
1
ие
ion
ошибк
и
Наличие
error
Error
0..1
Блок
ошибок
заполн
яется
только
в
случае
возник
новени
я
ошибк
и
Код
code
Integer
1
ошибк
и
Сообщ
messag
String
1
ение
e
об
ошибк
е
Деталь
data
String
0..1
Не
ная
заполн
инфор
яется
мация
на
об
сторон
ошибк
е
е
ППРБ.К
В,
но
может
заполн
яться
на
сторон
е ММТ
Примеры сообщений Запрос с типами и валютами
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRatesWithPreviousRateChanges",
"params": [
{
"requestDate": "2022-03-04T12:51:47.188",
"types": [
{
"type": "FXCB",
"codes": ["840", "978"]
},
{
"type": "PMCB",
"codes": ["A98", "A99"]
}
]
}
]
}
Успешный ответ
{
"jsonrpc": "2.0",
"id": 111,
"result": {
"requestDate": "2022-03-04T12:51:47.188+03:00",
"success": [
{
"type": "FXCB",
"rates": [
{
"currencyRate": 111.7564000000,
"startDate": "2022-03-04T00:00:00.000+03:00",
"baseAlphaCode": "USD",
"baseNumericCode": "840",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "FXCB",
"rqUID": "392C8FB5746B535B903F1BF6F5D3EA98",
"previousRateChange": 8.5077000000,
"previousStartDate": "2022-03-03T00:00:00.000+03:00",
"previousRqUID": "2B895934EE65B61DA15948E93002272E"
},
{
"currencyRate": 124.0161000000,
"startDate": "2022-03-04T00:00:00.000+03:00",
"baseAlphaCode": "EUR",
"baseNumericCode": "978",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "FXCB",
"rqUID": "392C8FB5746B535B903F1BF6F5D3EA98",
"previousRateChange": 9.4617000000,
"previousStartDate": "2022-03-03T00:00:00.000+03:00",
"previousRqUID": "2B895934EE65B61DA15948E93002272E"
}
]
},
{
"type": "PMCB",
"rates": [
{
"currencyRate": 6953.9900000000,
"startDate": "2022-03-04T00:00:00.000+03:00",
"baseAlphaCode": "A98",
"baseNumericCode": "A98",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "PMCB",
"rqUID": "71A6A2D4CD88E4518CC2A3C6BB7450DB",
"previousRateChange": 1817.6800000000,
"previousStartDate": "2022-02-26T00:00:00.000+03:00",
"previousRqUID": "AB59FCE5EE27CD3FC60FABE66A35015E"
},
{
"currencyRate": 90.1000000000,
"startDate": "2022-03-04T00:00:00.000+03:00",
"baseAlphaCode": "A99",
"baseNumericCode": "A99",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "PMCB",
"rqUID": "71A6A2D4CD88E4518CC2A3C6BB7450DB",
"previousRateChange": 22.1000000000,
"previousStartDate": "2022-02-26T00:00:00.000+03:00",
"previousRqUID": "AB59FCE5EE27CD3FC60FABE66A35015E"
}
]
}
]
}
}
Запрос только с типами
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRatesWithPreviousRateChanges",
"params": [
{
"requestDate": "2022-03-04T12:51:47.188",
"types": [
{
"type": "PMCB"
}
]
}
]
}
Ответ с курсами и ошибками
{
"jsonrpc": "2.0",
"id": 111,
"result": {
"requestDate": "2022-03-04T12:51:47.188+03:00",
"success": [
{
"type": "PMCB",
"rates": [
{
"currencyRate": 6953.9900000000,
"startDate": "2022-03-04T00:00:00.000+03:00",
"baseAlphaCode": "A98",
"baseNumericCode": "A98",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "PMCB",
"rqUID": "71A6A2D4CD88E4518CC2A3C6BB7450DB",
"previousRateChange": 1817.6800000000,
"previousStartDate": "2022-02-26T00:00:00.000+03:00",
"previousRqUID": "AB59FCE5EE27CD3FC60FABE66A35015E"
},
{
"currencyRate": 90.1000000000,
"startDate": "2022-03-04T00:00:00.000+03:00",
"baseAlphaCode": "A99",
"baseNumericCode": "A99",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "PMCB",
"rqUID": "71A6A2D4CD88E4518CC2A3C6BB7450DB",
"previousRateChange": 22.1000000000,
"previousStartDate": "2022-02-26T00:00:00.000+03:00",
"previousRqUID": "AB59FCE5EE27CD3FC60FABE66A35015E"
},
{
"currencyRate": 3912.8300000000,
"startDate": "2022-03-04T00:00:00.000+03:00",
"baseAlphaCode": "A76",
"baseNumericCode": "A76",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "PMCB",
"rqUID": "71A6A2D4CD88E4518CC2A3C6BB7450DB",
"previousRateChange": 1078.9500000000,
"previousStartDate": "2022-02-26T00:00:00.000+03:00",
"previousRqUID": "AB59FCE5EE27CD3FC60FABE66A35015E"
},
{
"currencyRate": 9880.8800000000,
"startDate": "2022-03-04T00:00:00.000+03:00",
"baseAlphaCode": "A33",
"baseNumericCode": "A33",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "PMCB",
"rqUID": "71A6A2D4CD88E4518CC2A3C6BB7450DB",
"previousRateChange": 3246.1000000000,
"previousStartDate": "2022-02-26T00:00:00.000+03:00",
"previousRqUID": "AB59FCE5EE27CD3FC60FABE66A35015E"
}
]
}
]
}
}
Запрос c отсутствующим типом
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRatesWithPreviousRateChanges",
"params": [
{
"requestDate": "2022-03-04T12:51:47.188",
"types": [
{
"type": "TYPE1",
"codes": ["840", "978"]
}
]
}
]
}
Ответ с ошибкой (нет типа)
{
"jsonrpc": "2.0",
"id": 111,
"result": {
"requestDate": "2022-03-04T12:51:47.188+03:00",
"errors": [
{
"type": "TYPE1",
"rates": [
{
"error": {
"code": -31008,
"description": "По заданному виду отсутствуют курсы валют"
}
}
]
}
]
}
}
Запрос c отсутствующей валютой
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRatesWithPreviousRateChanges",
"params": [
{
"requestDate": "2022-03-04T12:51:47.188",
"types": [
{
"type": "FXCB",
"codes": ["111", "978"]
}
]
}
]
}
Ответ с ошибкой (нет валюты)
{
"jsonrpc": "2.0",
"id": 111,
"result": {
"requestDate": "2022-03-04T12:51:47.188+03:00",
"success": [
{
"type": "FXCB",
"rates": [
{
"currencyRate": 124.0161000000,
"startDate": "2022-03-04T00:00:00.000+03:00",
"baseAlphaCode": "EUR",
"baseNumericCode": "978",
"quoteAlphaCode": "RUB",
"quoteNumericCode": "643",
"lotSize": 1,
"type": "FXCB",
"rqUID": "392C8FB5746B535B903F1BF6F5D3EA98",
"previousRateChange": 9.4617000000,
"previousStartDate": "2022-03-03T00:00:00.000+03:00",
"previousRqUID": "2B895934EE65B61DA15948E93002272E"
}
]
}
],
"errors": [
{
"type": "FXCB",
"rates": [
{
"code": "111",
"error": {
"code": -31001,
"description": "Отсутствие курсов валют"
}
}
]
}
]
}
}
Межбанковские ставки (InterbankRates)
Интерфейс для использования:
CentralBankRates
Список ставок (getRates)
API
InterbankRates
Назначение
Получение списка ставок на заданную
дату.
Ограничения:
• Количество ставок в списке - не более
20 шт.
• Период дат в запросе не более 31 дня
(календарный месяц)
Внимание:
есть
ставки,
которые
тиражируются раз в полтора месяца.
Ограничение в 14 дней не применимо.
Параметры запроса
Наименов
Элемент
Тип
Кратност
Коммент
ание
данных
ь
арий
параметра
Версия
jsonprc
String
1
Структура
JSONRPC
в
соответст
вии
с
версией
специфик
ации
JSONRPC
2.0.
Передаетс
я
значение
константы
«2.0».
Наименова
method
String
1
Наименов
ние метода
ание
вызываем
ого
метода.
Передаетс
я
значение
константы
«getRate».
Идентифик
id
String
1
Идентифи
атор
катор
запроса
запроса в
рамках
системы-
источника
Перечень
params
Parameter
1
входных
параметро
в
Дата
dateFrom
Date
1
Календарные даты
начала
начала
и
периода
окончания
периода.
Если
дата
окончания
периода не задана
или равна дате
начала, то поиск
ставки идет только
по дате начала
периода.
Поиск
осуществляется по
атрибуту
«Дата
начала действия
ставки (useDate)».
Формат
передаваемых
данных
Дата
dateTo
Date
0..1
окончани
я периода
Список
tickerList
List
of
1..N
кодов
<String>
(тикеров)
Код
name
String
1
Наименовани
(тикер)
е
ставки
(идентификат
ор) ставки
Параметры ответа
Наимено
Элемен
Тип
Кратнос
Коммен
вание
т
данных
ть
тарий
парамет
ра
Версия
jsonprc
String
1
Структур
JSONRPC
а
в
соответс
твии с
версией
специфи
кации
JSONRP
C 2.0.
Передае
тся
значени
е
констант
ы «2.0».
Идентиф
id
String
1
Идентиф
икатор
икатор
запроса
запроса
в рамках
системы
-
источни
ка.
Заполня
ется из
аналоги
чного
атрибута
в
запросе.
Перечень
result
Object
0..1
Заполня
выходных
ется
параметр
только в
ов
случае
успешно
й
обработ
ки
запроса
Перечен
success
List
of
0..N
Заполня
ь
<Object
ется,
успешн
>
если
ых
найден
результа
хотя бы
тов
один
код
ставки
из
передан
ных
в
запросе
Код
name
String
1
Наименование
(тикер)
(идентификатор)
ставки
ставки
Тенор
tenor
String
0..1
Тенор ставки
-
ставки
временной срок
на
который
распространяетс
я ставка.
Н-р для ставки
MosPrime.
Валюта
currency
String
0..1
Буквенный код
валюты, н-р:
«RUB»
- рубль
после 1998 года;
«EUR» - евро;
«INV»
-
иностранная
валюта, если так
задано
для
ставки, н-р для
нормативов
резервов
Центробанка для
иностранной
валюты.
Поставщ
rateProvi
String
1
Внешний
для
ик
der
Банка поставщик
ставки
ставок.
Возможные
значения:
BBG - Bloomberg;
CB - Центробанк.
Список
valueList
List
of
1..N
Перечень
значени
<Object
значений ставок,
й ставок
>
по
которым
на даты
ставка действует
в
в заданном во
периоде
входных
параметрах
интервале.
Дата
publicati
Date
1
публика
onDate
ции
ставки
Дата
useDate
Date
1
начала
действи
я ставки
Значени
value
String
1
е ставки
ИД
orderNu
String
1
сообще
mber
ния
Перечен
errors
list
of
0..N
ь
<Object
ошибок
>
Код
name
String
1
ставки
Код
errorCod
Integer
1
ошибки
e
Описани
errorDes
String
1
е
cription
ошибки
Наличие
error
Error
0..1
Блок
ошибок
заполня
ется
только в
случае
возникн
овения
глобаль
ной
ошибки
(н-р: не
заданы
обязател
ьные
парамет
ры
в
запросе)
Код
code
Integer
1
ошибки
Сообще
message
String
1
ние об
ошибке
Детальн
date
String
0..1
Не
ая
заполня
информ
ется на
ация об
стороне
ошибке
КВ, но
может
заполня
ться на
стороне
ММТ
Пример запроса/ответа
POST https://currency-rates-https-ift.dev-apps.ocp-
geo.delta.sbrf.ru/ru.sbt.currency.cloud.api.interbank.InterbankRates
POST data:
{
"jsonrpc": "2.0",
"id": 111,
"method": "getRates",
"params": [
{
"dateFrom": "2022-02-22T16:04:00.000+03:00",
"dateTo": "2022-02-22T16:04:00.000+03:00",
"tickerList": [
"MICXRU3M", "MICXRU6M", "MICXRU9M", "MICXRU1Y", "MICXRU2Y", "MICXRU3Y",
"MICXRU5Y", "MICXRU10", "MICXRU15", "MICXRU20", "MICXRU7Y", "MICXRU30"
]
}
]
}
ответ
{
"jsonrpc": "2.0",
"id": 111,
"result": [
{
"name": "MICXRU10",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.3783000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU9M",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.6992000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU20",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.1783000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU6M",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.7149000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU3M",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.7289000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU15",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.2631000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU30",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.0680000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU7Y",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.4652000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU1Y",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.6828000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU2Y",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.6209000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU3Y",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.5764000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
},
{
"name": "MICXRU5Y",
"currency": "RUB",
"rateProvider": "BBG",
"valueList": [
{
"publicationDate": "2022-02-08T10:30:00.000+03:00",
"useDate": "2022-02-08T10:30:00.000+03:00",
"value": 9.5183000000,
"orderNumber": "D3A19A89DF32E09959E292A82229E1BF"
}
]
}
]
}
Ставка (getRate)
API
InterbankRates
Назначение
Получение ставки на заданную дату.
Ограничение на первоначальную глубину
поиска данных в 14 дней с даты запроса.
Если ставка не будет найдена, то
осуществляется поиск без ограничения
глубины поиска.
Параметры запроса
Наименован
Элемент
Тип данных
Кратность
Комментар
ие
ий
параметра
Версия
jsonprc
String
1
Структура в
JSONRPC
соответстви
и с версией
спецификац
ии JSONRPC
2.0.
Передается
значение
константы
«2.0».
Наименован
method
String
1
Наименован
ие метода
ие
вызываемог
о метода.
Передается
значение
константы
«getRate».
Идентификат
id
String
1
Идентифика
ор запроса
тор запроса
в
рамках
системы-
источника.
Перечень
params
Parameter
1
входных
параметров
Код (тикер)
name
String
1
Наименование
ставки
(идентификатор) ставки
Дата
publicationD
Date
0..1
Формат передаваемых
публикации
ate
данных
ставки
Обязательно
должен
быть
передан
и
заполнен один из двух
атрибутов.
Если
оба
атрибута
пустые или не переданы,
то возвращается ошибка
с текстом: «Отсутствие
обязательных
параметров» с кодом «-
31000»;
Если
оба
атрибута
заполнены, то поиск
осуществляется
по
атрибуту «Дата начала
действия
ставки
(useDate)».
Дата начала
useDate
Date
0..1
действия
ставки
Валюта
currency
String
0..1
Ожидается буквенный
код валюты, н-р:
• «RUB» - рубль после
1998 года;
• «RUR»
- рубль до
деноминации
1998
года
(действует
на
Нормативы
оборотов
резервов)
• «EUR» - евро;
• «INV» - иностранная
валюта, если так
задано
для
ставки, н-р для
нормативов
резервов
Центробанка для
иностранной
валюты.
Параметры ответа
Наименован
Элемент
Тип
Кратность
Комментар
ие
данных
ий
параметра
Версия
jsonprc
String
1
Структура в
JSONRPC
соответстви
и с версией
спецификац
ии JSONRPC
2.0.
Передается
значение
константы
«2.0».
Идентификат
id
String
1
Идентифика
ор запроса
тор запроса
в рамках
системы-
источника.
Заполняется
из
аналогичног
о атрибута в
запросе.
Перечень
result
Object
0..1
Заполняется
выходных
только в
параметров
случае
успешной
обработки
запроса
Код (тикер)
name
String
1
Наименование
ставки
(идентификатор) ставки
Тенор
tenor
String
0..1
Тенор ставки -
ставки
временной срок на
который
распространяется
ставка.
Н-р для ставки
MosPrime.
Дата
publicationD
Date
1
Формат передаваемых
публикации
ate
данных
ставки
Обязательно должен
быть заполнен один из
двух атрибутов.
Если оба атрибута
пустые, то возвращается
ошибка с текстом:
«Отсутствие
обязательных
параметров» с кодом «-
31000»;
Дата начала
useDate
Date
1
действия
ставки
Валюта
currency
String
0..1
Ожидается буквенный
код валюты, н-р:
• «RUB» - рубль после
1998 года;
• «EUR» - евро;
• «INV» - иностранная
валюта, если так
задано для
ставки, н-р для
нормативов
резервов
Центробанка для
иностранной
валюты.
Значение
value
String
1
ставки
Поставщик
rateProvider
String
1
Внешний для Банка
ставки
поставщик ставок.
Возможные значения:
• BBG - Bloomberg;
• CB - Центробанк.
ИД
orderNumbe
String
1
сообщения
r
Наличие
error
Error
0..1
Блок
ошибок
заполняется
только в
случае
возникнове
ния ошибки
Код ошибки
code
Integer
1
Сообщение
message
String
1
об ошибке
Детальная
date
String
0..1
Не заполняется на
информаци
стороне ППРБ.КВ, но
я об ошибке
может заполняться на
стороне ММТ

 

 

 

 

 

 

 

содержание      ..     2      3      4