Курсы на сутки вперёд доступны в формате XML по адресу
http://www.cbr.ru/scripts/XML_daily.asp
Для получения данных на любую прошедшую дату нужно воспользоваться параметром date_req
http://www.cbr.ru/scripts/XML_daily.asp?date_req=12.07.2012
Теперь на нашем сайте нам достаточно распарсить XML файл и выбрать нужные валюты. Для выбора элементов из дерева можно использовать DOM или другие расширения для работы с XML.
Напишем класс, загружающий данные о курсах валют:
Теперь мы можем загружать и считывать значения курса любой валюты относительно рубля:
$cbr = new CBRAgent(); if ($cbr->load()) $usd_curs = $cbr->get(‘USD’); >
Обновление курсов нескольких валют в Yii Framework может, например, выглядеть так:
Импорт курса валют с сайта ЦБ в Excel
public function updateCurrencies() $cbr = new CBRAgent(); if ($cbr->load()) $models = Currency::model()->findAll() foreach ($models as $model) $model->curs = $cbr->get($model->name); $model->save(); > > >
public function updateCurrencies() $cbr = new CBRAgent(); if ($cbr->load()) $currencies = array(‘USD’, ‘EUR’); foreach($currencies as $currency) Yii::app()->config->set(‘SHOP.CURS_’ . $currency, $cbr->get($currency)); > > >
если хранение курсов производится в каком-либо компоненте.
Этот метод можно поместить в контроллер магазина и вызывать по таймауту или поместить в консольную команду и вызывать по Cron.
Не пропускайте новые статьи, бонусы и мастер-классы:
Источник: elisdn.ru
Получение данных, используя XML
Example 1
Например, для получения котировок на заданный день
http://www.cbr.ru/scripts/XML_daily.asp?date_req=02/03/2002
date_req= Date of query (dd/mm/yyyy)
* если параметр(date_req) отсутствует, то Вы получите документ на последнюю зарегистрированную дату.
XSD Схема
(XML_valFull.asp список включающий ISO коды валют)
d=0 Коды валют устанавливаемые ежедневно.
d=1 Коды валют устанавливаемые ежемесячно.
XSD Схема
Example 2
Пример получения динамики котировок доллара США:
http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=02/03/2001VAL_NM_RQ=R01235
date_req1 — date_req2 = Date range
VAL_NM_RQ — unique code (you can get this code from Example 1)
XSD Схема
Example 3
Пример получения динамики сведений об остатках средств на корреспондентских счетах кредитных организаций
date_req1 — date_req2 = Date range
http://www.cbr.ru/scripts/XML_ostat.asp?date_req1=01/06/2001date_req2=13/07/2001
ВНИМАНИЕ c 01.07.2008 дата установления цены является действующей, до 01.07.2008 — датой установления.
Обновляемый курс валют в Excel импортом XML с сайта ЦБ
Example 5
Пример получения динамики ставок межбанковского рынка
date_req1 — date_req2 = Date range
http://www.cbr.ru/scripts/xml_mkr.asp?date_req1=01/07/2001bic=044525774,
где:
bic — код кредитной организации (9 знаков)
name — название (часть названия) кредитной организации
* Вы можете указать какой — либо один или оба параметра.
Если оба параметра отсутствуют, тогда Вы получите полный список соответствия названий кредитных организации и кодов BIC.
Example 9
Пример получения динамики ставок «валютный своп» — » Валютный своп buy/sell overnight »
date_req1 — date_req2 = Date range
http://www.cbr.ru/scripts/xml_swap.asp?date_req1=01/12/2002date_req2=06/12/2005
Список компаний с выявленными признаками нелегальной деятельности на финансовом рынке
полный список: http://www.cbr.ru/ref/blacklist/BlackList.xml
XSD Схема
- Простые примеры получения данных на MS Visual Basic (в примере использована SoapToolkit 3.0 и Xml sdk от Microsoft) Простое получение валюты (ProjectXML.vbp) Получение динамики валюты и экспорт в Excel файл(ProjectXMLDynamic.vbp)
- usd_cbr_php.zip Примеры получения курса доллара, используя PHP4 (unix, windows) в виде графического информера.
Источник: cbr.ru
Интеграция API Курсы валют Центрального Банка РФ в веб-платформе Falcon Space
В этой статье разберем как можно получать актуальные котировки валют по API от Центрального банка РФ.
Как это работает на демостенде Falcon Space — демостенд по получению котировок ЦБ РФ API. На нем можно посмотреть как это работает на живом примере.
Ниже идет описание обмена по API с сайтами, предоставляющими информацию о курсах валют.
Получение котировок валют с сайта ЦБ РФ
для получения котировок на заданный день
где date_req= Date of query (dd/mm/yyyy)
Если параметр(date_req) отсутствует, то вы получите документ на последнюю зарегистрированную дату.
В некоторых ситуациях, например, когда запрос отправлен вечером – актуальные данные на завтра (Дата в будущем).
… 840 USD 1 Доллар США 68,6319 978 EUR 1 Евро 77,9658 …
Пример API Request по запросу валют.
PROCEDURE [dbo].[api_currencyRatesCBR_response]
Результат запроса может быть как сообщение с информацией, так и сообщение с ошибкой.
Список возможных сообщений об ошибках.
Если ошибок в ответе не обнаружено, из ответа выбираются такие данные:
Курс Доллар США и Евро.
Пример текста – результат: Курс на 06.06.2020 USD — Доллар США: 68,6319. EUR — Евро: 77,9658.
Получение котировок валют через сайт www.cbr-xml-daily.ru
Сайт — https://www.cbr-xml-daily.ru/ предоставляет те же данные в разных форматах. В нашем случае будет получен ответ в формате JSON.
PROCEDURE [dbo].[api_currencyRatesCBRF_JSON_request]
- Адрес сервиса (URL): https://www.cbr-xml-daily.ru/daily_json.js
- Метод запроса: GET
- Формат на выходе: JSON
Входные данные запроса – нет.
Дата не передаётся, при необходимости получить исторические данные запрос будет иметь вид.
Примечание 1. В некоторых ситуациях, например, когда запрос отправлен вечером – актуальные данные на завтра (Дата в будущем).
Пример текста ответа — response .
Приведен с сокращениями.
PROCEDURE [dbo].[api_currencyRatesCBRF_JSON_response]
Результат запроса может быть как сообщение с информацией, так и сообщение с ошибкой.
Список возможных сообщений об ошибках.
Если ошибок в ответе не обнаружено, из ответа выбираются такие данные:
Курс Доллар США и Евро.
Пример текста – результат: Курс на 06.06.2020 USD — Доллар США: 68,6319. EUR — Евро: 77,9658.
Проверка — Официальные курсы валют на заданную дату, устанавливаемые ежедневно
Заключение
Таким образом довольно легко получать данные и с других источников по аналогии — создаем запрос request к внешнему API, платформа выполняет запрос, а затем происходит обработка результата в процедуре response.
По данной схеме можно внедрить практически любой API, работающий с GET/POST запросами.
Falcon Space — функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Источник: falconspace.ru