Как мне получить обменные курсы через API, например Google Finance? Курс валют api
API Директа — Курсы валют и ограничения — Технологии Яндекса
Шаг торгов
0,1
0,01
0,01
0,01
1
0,01
0,01
0,01
0,01
Минимальная ставка
0,3
0,01
0,01
0,01
1
0,01
0,08
0,01
0,01
Минимальный платеж (без учета НДС), минимальная сумма перевода между кампаниями, минимальный дневной бюджет общего счета
1000
15
15
15
5000
50
250
30
15
Минимальное значение средней цены для стратегий AverageClickPrice, AverageCPAOptimization
0,9
0,03
0,03
0,03
3
0,03
0,3
0,03
0,03
Минимальный недельный бюджет
300
10
10
10
1300
17
80
9
10
Минимальный дневной бюджет кампании
300
10
10
10
1300
17
80
9
10
tech.yandex.ru
Курсы валют | API курсов валют
Для того чтобы получить курсs валют по API на сегодняшний день, Вам необходимо осуществить GET запрос по протоколу HTTP на указанные URL
http://currency.vvv.click/api.html?getinfo="ЗНАЧЕНИЕ"¤cy="ЗНАЧЕНИЕ"&source="ЗНАЧЕНИЕ" ПАРАМЕТР - getinfoДОПУСТИМЫЕ ЗНАЧЕНИЯ:3 ПАРАМЕТР - currencyНЕОБЯЗАТЕЛЬНЫЙ ПАРАМЕТРДОПУСТИМЫЕ ЗНАЧЕНИЯ:usd - курс доллара США (USD)eur - курс евро (EUR)rub - курс российского рубля (RUB) ПАРАМЕТР - sourceНЕОБЯЗАТЕЛЬНЫЙ ПАРАМЕТРДОПУСТИМЫЕ ЗНАЧЕНИЯ:0 - курс НБУ1 - курсы покупки и продажи "Приват-банк"
В ответ на такой запрос Вы получите ответ такого типа в формате JSON: { "result":true, "exchange": { ИНФОРМАЦИЯ О КУРСАХ ВАЛЮТ }, "dt":ДАТА}
В ответ на некорректный запрос Вы получите следующий ответ в формате JSON:
api - Как мне получить обменные курсы через API, например Google Finance?
Спасибо за все ваши ответы.
Для потомков они вместе с другими возможными ответами:
API Yahoo Finance Снято с производства 2017-11-06
С поправкой с 2017-11-06 с сообщением
Мы обратили наше внимание на то, что эта услуга используется в нарушение Условий использования Yahoo. Таким образом, услуга прекращается. Для всех будущих рынков и исследований данных о ценных бумагах, пожалуйста, обратитесь к finance.yahoo.com.
Запрос: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDINR=X Этот CSV использовался плагином jQuery под названием Curry. Карри с тех пор (2017-08-29) перешел на использование fixer.io вместо этого из-за проблем стабильности. Может быть полезно, если вам нужно больше, чем просто CSV.
(благодаря Keyo). Язык запросов Yahoo позволяет вам получить целую кучу валют сразу в XML или JSON. Данные обновляются вторым (тогда как Европейский центральный банк имеет данные дня) и останавливается в выходные дни. Не требует никакой регистрации.
http://query.yahooapis.com/v1/public/yql?q=select * от yahoo.finance.xchange, где пара в ("USDEUR", "USDJPY", "USDBGN", "USDCZK", "USDDKK", "USDGBP", "USDHUF", "USDLTL", "USDLVL", "USDPLN", "USDRON", "USDSEK", "USDCHF", "USDNOK", "USDHRK", "USDRUB", "USDTRY", "USDAUD" "USDCHRL", "USDCK", "USDCK", "USDHKD", "USDIDR", "USDILS", "USDINR", "USDKRW", "USDMXN", "USDMYR", "USDNZD", "USDPHP", "USDSGD", "USDTHB", "USDZAR", "USDISK") и env = store://datatables.org/alltableswithkeys
Вот построитель запросов YQL, где вы можете протестировать запрос и скопировать URL-адрес:
Бесплатно для личного использования (1000 просмотров в месяц) Изменение "базы" (от "доллара США") запрещено в бесплатной учетной записи Требуется регистрация. Запрос: http://openexchangerates.org/latest.json Отклик:
{ "disclaimer": "This data is collected from various providers ...", "license": "all code open-source under GPL v3 ...", "timestamp": 1323115901, "base": "USD", "rates": { "AED": 3.66999725, "ALL": 102.09382091, "ANG": 1.78992886, // 115 more currency rates here ... } }
API валютного слоя
Бесплатный план для 1000 ежемесячных обращений Изменение "источника" (от "доллара США") запрещено в бесплатной учетной записи Требуется регистрация. Документация: currencylayer.com/documentation
API Fixer.io (данные Европейского центрального банка)
Бесплатный план для 1000 ежемесячных обращений Изменение "источника" (от "доллара США") запрещено в бесплатном аккаунте. Требуется регистрация.
Эта конечная точка API устарела и перестанет работать 1 июня 2018 года. Для получения дополнительной информации посетите страницу https://github.com/fixerAPI/fixer#readme)
Веб-сайт: http://fixer.io/ Пример запроса: http://api.fixer.io/latest?base=USD Собирает только одно значение за каждый день
Вот еще один JSON (P) API, основанный на API Google (источник: этот комментарий): http://rate-exchange.appspot.com/currency?from=USD&to=EUR&q=1
Оригинальный ответ Райана.
qaru.site
Используем API для получения курса валют
От автора: в этом уроке мы будем получать курсы валют для нашего сайта. Использовать для этих целей будем API стороннего сервиса, предлагающего легко получить необходимые данные.
Где нам может потребоваться решать эту задачу? Чаще всего в интернет-магазинах. Здесь цены товаров часто привязываются к доллару и хранятся именно в долларах. Но на страницах сайта цены уже необходимо выводить в национальной валюте. Соответственно, нам необходим курс доллара. Собственно, для этих целей можно создать дополнительную настройку на сайте, в которой и будет храниться курс. При изменении курса достаточно лишь изменить данную настройку.
Однако, ручное изменение курса не всегда удобно. Особенно, когда курс нестабилен и часто изменяется. Хотелось бы, чтобы курс изменялся автоматически и оперативно. Для этого мы и будем использовать получение курса от стороннего сервиса.
Давайте определимся, с чем мы будем работать. Для работы я использую результат урока Contenteditable — редактирование контента «на лету». Урок 3. В качестве примера будем использовать API украинского сервиса – ПриватБанка. При необходимости вы легко сможете найти соответствующие сервисы в других странах.
Бесплатный курс по PHP программированию
Освойте курс и создайте динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!
Итак, жду вас в видео версии урока, где вы найдете подробное комментирование кода. На этом наш урок завершен. Удачи и до новых встреч!
Разработка веб-приложения на PHP
Создайте веб-приложение на PHP на примере приема платежей на сайте
Получить
webformyself.com
Парсим курсы валют с сайта Центробанка
При разработке интернет-магазинов или различных информеров для сайтов часто приходится реализовывать получение актуальных курсов валют. Не все разработчики знают, что достаточно удобно получать курсы на любую дату используя API сайта Центрального банка РФ.
Курсы на сутки вперёд доступны в формате XML по адресу
http://www.cbr.ru/scripts/XML_daily.asp
Для получения данных на любую прошедшую дату нужно воспользоваться параметром date_req
Теперь на нашем сайте нам достаточно распарсить XML файл и выбрать нужные валюты. Для выбора элементов из дерева можно использовать DOM или другие расширения для работы с XML.
Напишем класс, загружающий данные о курсах валют:
@author [email protected] @link https://elisdn.ru class CBRAgent { protected $list = array(); public function load() { $xml = new DOMDocument(); $url = 'http://www.cbr.ru/scripts/XML_daily.asp?date_req=' . date('d.m.Y'); if (@$xml->load($url)) { $this->list = array(); $root = $xml->documentElement; $items = $root->getElementsByTagName('Valute'); foreach ($items as $item) { $code = $item->getElementsByTagName('CharCode')->item(0)->nodeValue; $curs = $item->getElementsByTagName('Value')->item(0)->nodeValue; $this->list[$code] = floatval(str_replace(',', '.', $curs)); } return true; } else return false; } public function get($cur) { return isset($this->list[$cur]) ? $this->list[$cur] : 0; } }
Теперь мы можем загружать и считывать значения курса любой валюты относительно рубля:
$cbr = new CBRAgent(); if ($cbr->load()){ $usd_curs = $cbr->get('USD'); }
Обновление курсов нескольких валют в Yii Framework может, например, выглядеть так:
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
Загружаем курсы криптовалют с помощью api и Power Query
Курсы валют через Power Query
Добрый день, уважаемые читатели блога! Сегодня речь пойдёт снова о загрузке курсов валют, только теперь мы обратимся к криптовалютам.
Основным источником данных о котировках будут служить биржи — Kraken, Binance, Poliniex, Bitterex и прочие. Что их объединяет? Ответ прост — API (application programming interface, программный интерфейс приложения, если по-русски).
Самое забавное, что к этому интерфейсу нельзя обратиться с помощью простого web запроса в Excel. Как мы это делали раньше. Выход есть — использовать Power Query.
Power Query — это специальная технология получения и анализа данных от компании Microsoft. Для Excel 2016 её отдельная установка не требуется (пакет уже включён в программу), для всех остальных версий придётся качать отдельно, также нужно обратить внимание на разрядность вашего офиса (х32, х64).
ССЫЛКА
Скачали, установили и теперь в Excel появится новая вкладка — POWER QUERY.
Вкладка выглядит следующим образом:
В принципе можно рассматривать Power Query как надстройку над вкладкой «Данные», так как у нас расширяется выбор источников получения данных.
Ну что ж, теперь перейдём непосредственно к загрузке. Цель — получить соотношение покупки продажи криптвалютных пар (ETH/BTC). К примеру, нужно загрузить курс с биржи Binance.
Весь труд будет в следующем — найти API биржи и его «руководство пользователя». Для нашей биржи оно находится по адресу:
И далее идёт пространное описание возможностей синтаксиса. Экспериментальным путём и опираясь на это руководство пользователя, выяснилось следующее: для получения данных по конкретной паре валют необходимо указать путь до «бегущей строки» биржи и прописать символьное обозначение пары.
Воспользуемся полученной ссылкой. Переходим на вкладку «Power Query» и нажимаем кнопку «Из интернета» (она самая первая). Перед нами появится окно с запросом источника загрузки данных, в поле «URL адрес» записываем адрес интересующей пары. Для загрузки остальных нужно просто поменять краткие названия криптовалют в конце строки.
Нажимаем «ОК» и попадаем в редактор запроса и представления на листе Excel.
Видим, появился редактор, данные и параметры запроса. Мы находимся на вкладке «Конвертировать». Перейдём на вкладку «Просмотр» и поставим галку «Строка формул», чтобы видеть запрос в привычном представлении.
Возвращаемся на вкладку «Конвертировать» и нажимаем кнопку «В таблицу».
Поскольку нам ничего пока больше не нужно, в появившемся окне нажимаем «Закрыть и загрузить», чтобы данный запрос появился на листе.
В результате получим вот такую картину.
Цель достигнута, курсы подгрузились. Теперь нужно настроить их на автоматическое обновление. Справа у нас есть столбец «Параметры запроса», щелкаем правой кнопкой мышки по нашем запросу и выбираем «Свойства», ставим галку «Быстрая загрузка» -> Ок.
Далее мы оказываемся на вкладке «Конструктор», в блоке кнопок «Данные из внешней таблицы» щёлкаем по треугольнику после кнопки «Обновить», затем выбираем пункт «Свойства подключения». В следующем окне нужно настроить время обновления нашего запроса.
Проставляем галки как на рисунке. Тем самым мы добиваемся автоматического обновления котировок в течение одной минуты, а если нам нужно — можем обновить сами по нажатию кнопки. Нажимаем «ОК».
Готово! Ждём минуту, курс обновляется сам. Теперь котировки будут подгружаться автоматически.
Единственный минус — для большого количества запросов придётся всё создавать ручками, что в свою очередь будет сильно нагружать программу Excel при обновлении курсов криптовалют.
pcandlife.ru
API | Национальный банк Республики Беларусь
1. Полный перечень иностранных валют, по отношению к которым Национальным банком устанавливается официальный курс белорусского рубля:
Адрес запроса:: http://www.nbrb.by/API/ExRates/Currencies[/{Cur_ID}]
Результат: Возвращает массив объектов класса Currency. Если указан Cur_ID, то возвращается один объект Currency.
Класс Currency содержит следующие свойства:
Cur_ID – внутренний код
Cur_ParentID – этот код используется для связи, при изменениях наименования, количества единиц к которому устанавливается курс белорусского рубля, буквенного, цифрового кодов и т.д. фактически одной и той же валюты*.
Cur_Code – цифровой код
Cur_Abbreviation – буквенный код
Cur_Name – наименование валюты на русском языке
Cur_Name_Bel – наименование на белорусском языке
Cur_Name_Eng – наименование на английском языке
Cur_QuotName – наименование валюты на русском языке, содержащее количество единиц
Cur_QuotName_Bel – наименование на белорусском языке, содержащее количество единиц
Cur_QuotName_Eng – наименование на английском языке, содержащее количество единиц
Cur_NameMulti – наименование валюты на русском языке во множественном числе
Cur_Name_BelMulti – наименование валюты на белорусском языке во множественном числе*
Cur_Name_EngMulti – наименование на английском языке во множественном числе*
ParamMode – формат аргумента Cur_ID: 0 – внутренний код валюты, 1 – трехзначный цифровой код валюты в соответствии со стандартом ИСО 4217, 2 – трехзначный буквенный код валюты (ИСО 4217). По умолчанию = 0
При использовании буквенного или цифрового кода валюты (ИСО 4217) учитывайте его значение на запрашиваемую дату.
Результат: Возвращает массив объектов класса Rate. Если указан Cur_ID, то возвращается один объект Rate.
Класс Rate содержит следующие свойства:
Cur_ID – внутренний код
Date – дата, на которую запрашивается курс
Cur_Abbreviation – буквенный код
Cur_Scale – количество единиц иностранной валюты
Cur_Name – наименование валюты на русском языке во множественном, либо в единственном числе, в зависимости от количества единиц
Cur_OfficialRate – курс*
Примеры использования:
3. Получение динамики официального курса белорусского рубля по отношению к заданной иностранной валюте
(не более чем за 365 дней):
Адрес запроса:: http://www.nbrb.by/API/ExRates/Rates/Dynamics/{Cur_ID}
Параметры (GET):
startDate** – дата начала запрашиваемого периода
endDate** – дата окончания запрашиваемого периода
Результат: Возвращает массив объектов класса RateShort.
Класс RateShort содержит следующие свойства:
Cur_ID – внутренний код
Date – дата, на которую запрашивается курс
Cur_OfficialRate – курс*
Примеры использования:
Примечание. Если в любой из перечисленных методов передается неверный код валюты, то возвращается 404 ошибка. Если на запрашиваемую дату курс не установлен, возвращается пустой массив.
Классы для разработки приложений на C#.
Пример использования API (на javascript)
Ваши замечания и предложения по работе API просьба направлять на адрес: [email protected].
Как мне получить обменные курсы через API, например Google Finance? Курс валют api
API Директа — Курсы валют и ограничения — Технологии Яндекса
tech.yandex.ru
Курсы валют | API курсов валют
Для того чтобы получить курсs валют по API на сегодняшний день, Вам необходимо осуществить GET запрос по протоколу HTTP на указанные URL
http://currency.vvv.click/api.html?getinfo="ЗНАЧЕНИЕ"¤cy="ЗНАЧЕНИЕ"&source="ЗНАЧЕНИЕ" ПАРАМЕТР - getinfoДОПУСТИМЫЕ ЗНАЧЕНИЯ:3 ПАРАМЕТР - currencyНЕОБЯЗАТЕЛЬНЫЙ ПАРАМЕТРДОПУСТИМЫЕ ЗНАЧЕНИЯ:usd - курс доллара США (USD)eur - курс евро (EUR)rub - курс российского рубля (RUB) ПАРАМЕТР - sourceНЕОБЯЗАТЕЛЬНЫЙ ПАРАМЕТРДОПУСТИМЫЕ ЗНАЧЕНИЯ:0 - курс НБУ1 - курсы покупки и продажи "Приват-банк"В ответ на некорректный запрос Вы получите следующий ответ в формате JSON:
{ "result":false, "exchange":false}Примеры запросов:
1.Запрос
http://currency.vvv.click/api.html?getinfo=3&source=0Ответ
{ "result":true, "exchange": { "USD":{"nbu":"23.9492"}, "EUR":{"nbu":"25.5083"}, "RUB":{"nbu":"0.36496"} }, "dt":"25.11.2015"}2.Запрос
http://currency.vvv.click/api.html?getinfo=3¤cy=usd&source=0Ответ
{ "result":true, "exchange": { "USD":{"nbu":"23.9492"} }, "dt":"25.11.2015"}3.Запрос
http://currency.vvv.click/api.html?getinfo=3¤cy=eur&source=1Ответ
{ "result":true, "exchange": { "USD":{"pcb":"24.4","pcs":"25.4"} }, "dt":"25.11.2015"}
4.Запрос
http://currency.vvv.click/api.html?getinfo=3¤cy=usdОтвет
{ "result":true, "exchange": { "USD":{"nbu":"23.9492","pcb":"24.4","pcs":"25.4"} }, "dt":"25.11.2015"}5.Запрос
http://currency.vvv.click/api.html?getinfo=3Ответ
{ "result":true, "exchange": { "USD": {"nbu":"23.9492","pcb":"24.4","pcs":"25.4"}, "EUR": {"nbu":"25.5083","pcb":"26","pcs":"27"}, "RUB": {"nbu":"0.36496","pcb":"0.375","pcs":"0.39"} }, "dt":"25.11.2015"}currency.vvv.click
api - Как мне получить обменные курсы через API, например Google Finance?
Спасибо за все ваши ответы.
Для потомков они вместе с другими возможными ответами:
API Yahoo Finance Снято с производства 2017-11-06
С поправкой с 2017-11-06 с сообщением
Мы обратили наше внимание на то, что эта услуга используется в нарушение Условий использования Yahoo. Таким образом, услуга прекращается. Для всех будущих рынков и исследований данных о ценных бумагах, пожалуйста, обратитесь к finance.yahoo.com.
Запрос: http://finance.yahoo.com/d/quotes.csv?e=.csv&f=sl1d1t1&s=USDINR=X Этот CSV использовался плагином jQuery под названием Curry. Карри с тех пор (2017-08-29) перешел на использование fixer.io вместо этого из-за проблем стабильности. Может быть полезно, если вам нужно больше, чем просто CSV.
(благодаря Keyo). Язык запросов Yahoo позволяет вам получить целую кучу валют сразу в XML или JSON. Данные обновляются вторым (тогда как Европейский центральный банк имеет данные дня) и останавливается в выходные дни. Не требует никакой регистрации.
http://query.yahooapis.com/v1/public/yql?q=select * от yahoo.finance.xchange, где пара в ("USDEUR", "USDJPY", "USDBGN", "USDCZK", "USDDKK", "USDGBP", "USDHUF", "USDLTL", "USDLVL", "USDPLN", "USDRON", "USDSEK", "USDCHF", "USDNOK", "USDHRK", "USDRUB", "USDTRY", "USDAUD" "USDCHRL", "USDCK", "USDCK", "USDHKD", "USDIDR", "USDILS", "USDINR", "USDKRW", "USDMXN", "USDMYR", "USDNZD", "USDPHP", "USDSGD", "USDTHB", "USDZAR", "USDISK") и env = store://datatables.org/alltableswithkeys
Вот построитель запросов YQL, где вы можете протестировать запрос и скопировать URL-адрес:
http://developer.yahoo.com/yql/console/?q=show%20tables&env=store://datatables.org/alltableswithkeys#h=select%20*%20from%20yahoo.finance.xchange%20where%20pair %20in %20% 28% 22USDMXN% 22% 2C %20% 22USDCHF% 22% 29
API с открытыми исходными кодами
Бесплатно для личного использования (1000 просмотров в месяц) Изменение "базы" (от "доллара США") запрещено в бесплатной учетной записи Требуется регистрация. Запрос: http://openexchangerates.org/latest.json Отклик:
{ "disclaimer": "This data is collected from various providers ...", "license": "all code open-source under GPL v3 ...", "timestamp": 1323115901, "base": "USD", "rates": { "AED": 3.66999725, "ALL": 102.09382091, "ANG": 1.78992886, // 115 more currency rates here ... } }API валютного слоя
Бесплатный план для 1000 ежемесячных обращений Изменение "источника" (от "доллара США") запрещено в бесплатной учетной записи Требуется регистрация. Документация: currencylayer.com/documentation
Ответ JSON:
{ [...] "timestamp": 1436284516, "source": "USD", "quotes": { "USDAUD": 1.345352401, "USDCAD": 1.27373397, "USDCHF": 0.947845302, "USDEUR": 0.91313905, "USDGBP": 0.647603397, // 168 world currencies } }API Fixer.io (данные Европейского центрального банка)
Бесплатный план для 1000 ежемесячных обращений Изменение "источника" (от "доллара США") запрещено в бесплатном аккаунте. Требуется регистрация.
Эта конечная точка API устарела и перестанет работать 1 июня 2018 года. Для получения дополнительной информации посетите страницу https://github.com/fixerAPI/fixer#readme)
Веб-сайт: http://fixer.io/ Пример запроса: http://api.fixer.io/latest?base=USD Собирает только одно значение за каждый день
Европейский центральный банк
Документы: http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html#dev Запрос: http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml
Ответ XML:
<Cube> <Cube time="2015-07-07"> <Cube currency="USD" rate="1.0931"/> <Cube currency="JPY" rate="133.88"/> <Cube currency="BGN" rate="1.9558"/> <Cube currency="CZK" rate="27.100"/> </Cube>Запрос на обменный курс Google (разобранный) В настоящее время недоступен:
Запрос: http://rate-exchange.appspot.com/currency?from=USD&to=EUR Отклик:
{"to": "EUR", "rate": 0.76911244400000001, "from": "USD"}Вот еще один JSON (P) API, основанный на API Google (источник: этот комментарий): http://rate-exchange.appspot.com/currency?from=USD&to=EUR&q=1
Оригинальный ответ Райана.
qaru.site
Используем API для получения курса валют
От автора: в этом уроке мы будем получать курсы валют для нашего сайта. Использовать для этих целей будем API стороннего сервиса, предлагающего легко получить необходимые данные.
Где нам может потребоваться решать эту задачу? Чаще всего в интернет-магазинах. Здесь цены товаров часто привязываются к доллару и хранятся именно в долларах. Но на страницах сайта цены уже необходимо выводить в национальной валюте. Соответственно, нам необходим курс доллара. Собственно, для этих целей можно создать дополнительную настройку на сайте, в которой и будет храниться курс. При изменении курса достаточно лишь изменить данную настройку.
Однако, ручное изменение курса не всегда удобно. Особенно, когда курс нестабилен и часто изменяется. Хотелось бы, чтобы курс изменялся автоматически и оперативно. Для этого мы и будем использовать получение курса от стороннего сервиса.
Давайте определимся, с чем мы будем работать. Для работы я использую результат урока Contenteditable — редактирование контента «на лету». Урок 3. В качестве примера будем использовать API украинского сервиса – ПриватБанка. При необходимости вы легко сможете найти соответствующие сервисы в других странах.
Бесплатный курс по PHP программированию
Освойте курс и создайте динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Итак, жду вас в видео версии урока, где вы найдете подробное комментирование кода. На этом наш урок завершен. Удачи и до новых встреч!
Разработка веб-приложения на PHP
Создайте веб-приложение на PHP на примере приема платежей на сайте
Получитьwebformyself.com
Парсим курсы валют с сайта Центробанка
При разработке интернет-магазинов или различных информеров для сайтов часто приходится реализовывать получение актуальных курсов валют. Не все разработчики знают, что достаточно удобно получать курсы на любую дату используя API сайта Центрального банка РФ.
Курсы на сутки вперёд доступны в формате 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.
Напишем класс, загружающий данные о курсах валют:
@author [email protected] @link https://elisdn.ru class CBRAgent { protected $list = array(); public function load() { $xml = new DOMDocument(); $url = 'http://www.cbr.ru/scripts/XML_daily.asp?date_req=' . date('d.m.Y'); if (@$xml->load($url)) { $this->list = array(); $root = $xml->documentElement; $items = $root->getElementsByTagName('Valute'); foreach ($items as $item) { $code = $item->getElementsByTagName('CharCode')->item(0)->nodeValue; $curs = $item->getElementsByTagName('Value')->item(0)->nodeValue; $this->list[$code] = floatval(str_replace(',', '.', $curs)); } return true; } else return false; } public function get($cur) { return isset($this->list[$cur]) ? $this->list[$cur] : 0; } }Теперь мы можем загружать и считывать значения курса любой валюты относительно рубля:
$cbr = new CBRAgent(); if ($cbr->load()){ $usd_curs = $cbr->get('USD'); }Обновление курсов нескольких валют в Yii Framework может, например, выглядеть так:
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(); } } }если хранение курсов производится в каком-либо компоненте.
Этот метод можно поместить в контроллер магазина и вызывать по таймауту или поместить в консольную команду и вызывать по Cron.
elisdn.ru
Загружаем курсы криптовалют с помощью api и Power Query
Курсы валют через Power Query
Добрый день, уважаемые читатели блога! Сегодня речь пойдёт снова о загрузке курсов валют, только теперь мы обратимся к криптовалютам.
Основным источником данных о котировках будут служить биржи — Kraken, Binance, Poliniex, Bitterex и прочие. Что их объединяет? Ответ прост — API (application programming interface, программный интерфейс приложения, если по-русски).
Самое забавное, что к этому интерфейсу нельзя обратиться с помощью простого web запроса в Excel. Как мы это делали раньше. Выход есть — использовать Power Query.
Power Query — это специальная технология получения и анализа данных от компании Microsoft. Для Excel 2016 её отдельная установка не требуется (пакет уже включён в программу), для всех остальных версий придётся качать отдельно, также нужно обратить внимание на разрядность вашего офиса (х32, х64).
ССЫЛКА
Скачали, установили и теперь в Excel появится новая вкладка — POWER QUERY.
Вкладка выглядит следующим образом:
В принципе можно рассматривать Power Query как надстройку над вкладкой «Данные», так как у нас расширяется выбор источников получения данных.
Ну что ж, теперь перейдём непосредственно к загрузке. Цель — получить соотношение покупки продажи криптвалютных пар (ETH/BTC). К примеру, нужно загрузить курс с биржи Binance.
Весь труд будет в следующем — найти API биржи и его «руководство пользователя». Для нашей биржи оно находится по адресу:
https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md
Базовой точкой входа будет:
https://api.binance.com/
И далее идёт пространное описание возможностей синтаксиса. Экспериментальным путём и опираясь на это руководство пользователя, выяснилось следующее: для получения данных по конкретной паре валют необходимо указать путь до «бегущей строки» биржи и прописать символьное обозначение пары.
Вот так:
https://api.binance.com/api/v3/ticker/price?symbol=ETHBTC
Воспользуемся полученной ссылкой. Переходим на вкладку «Power Query» и нажимаем кнопку «Из интернета» (она самая первая). Перед нами появится окно с запросом источника загрузки данных, в поле «URL адрес» записываем адрес интересующей пары. Для загрузки остальных нужно просто поменять краткие названия криптовалют в конце строки.
Нажимаем «ОК» и попадаем в редактор запроса и представления на листе Excel.
Видим, появился редактор, данные и параметры запроса. Мы находимся на вкладке «Конвертировать». Перейдём на вкладку «Просмотр» и поставим галку «Строка формул», чтобы видеть запрос в привычном представлении.
Возвращаемся на вкладку «Конвертировать» и нажимаем кнопку «В таблицу».
Поскольку нам ничего пока больше не нужно, в появившемся окне нажимаем «Закрыть и загрузить», чтобы данный запрос появился на листе.
В результате получим вот такую картину.
Цель достигнута, курсы подгрузились. Теперь нужно настроить их на автоматическое обновление. Справа у нас есть столбец «Параметры запроса», щелкаем правой кнопкой мышки по нашем запросу и выбираем «Свойства», ставим галку «Быстрая загрузка» -> Ок.
Далее мы оказываемся на вкладке «Конструктор», в блоке кнопок «Данные из внешней таблицы» щёлкаем по треугольнику после кнопки «Обновить», затем выбираем пункт «Свойства подключения». В следующем окне нужно настроить время обновления нашего запроса.
Проставляем галки как на рисунке. Тем самым мы добиваемся автоматического обновления котировок в течение одной минуты, а если нам нужно — можем обновить сами по нажатию кнопки. Нажимаем «ОК».
Готово! Ждём минуту, курс обновляется сам. Теперь котировки будут подгружаться автоматически.
Единственный минус — для большого количества запросов придётся всё создавать ручками, что в свою очередь будет сильно нагружать программу Excel при обновлении курсов криптовалют.
pcandlife.ru
API | Национальный банк Республики Беларусь
1. Полный перечень иностранных валют, по отношению к которым Национальным банком устанавливается официальный курс белорусского рубля:
Адрес запроса:: http://www.nbrb.by/API/ExRates/Currencies[/{Cur_ID}]
Результат: Возвращает массив объектов класса Currency. Если указан Cur_ID, то возвращается один объект Currency.
Класс Currency содержит следующие свойства:
Примеры использования:
2. Официальный курс белорусского рубля по отношению к иностранным валютам, устанавливаемый Национальным банком на конкретную дату:
Адрес запроса:: http://www.nbrb.by/API/ExRates/Rates[/{Cur_ID}]
Параметры (GET):
При использовании буквенного или цифрового кода валюты (ИСО 4217) учитывайте его значение на запрашиваемую дату.
Результат: Возвращает массив объектов класса Rate. Если указан Cur_ID, то возвращается один объект Rate.
Класс Rate содержит следующие свойства:
Примеры использования:
3. Получение динамики официального курса белорусского рубля по отношению к заданной иностранной валюте (не более чем за 365 дней):
Адрес запроса:: http://www.nbrb.by/API/ExRates/Rates/Dynamics/{Cur_ID}
Параметры (GET):
Результат: Возвращает массив объектов класса RateShort.
Класс RateShort содержит следующие свойства:
Примеры использования:
Примечание. Если в любой из перечисленных методов передается неверный код валюты, то возвращается 404 ошибка. Если на запрашиваемую дату курс не установлен, возвращается пустой массив.
Классы для разработки приложений на C#.
Пример использования API (на javascript)
Ваши замечания и предложения по работе API просьба направлять на адрес: [email protected].
www.nbrb.by