Подключение API курсов НАЦБАНКа

kuminov

Постоялец
Регистрация
20 Окт 2013
Сообщения
173
Реакции
36
Сайт (wordpress) предоставляет услуги физлицам.
На сайте необходимо сделать привязку ценника к курсу USD, который отдается нацбанком.Курс валют меняется нацбанком 1 раз в день.

То есть, чтобы я смог сделать так, чтобы в таблице были указаны цены в разных валютах, но с привязкой к USD. API нацбанка
Для просмотра ссылки Войди или Зарегистрируйся (инструкция)
Для просмотра ссылки Войди или Зарегистрируйся

Пример:
Цена в USD – 20, BYR (белорусские рубли) – 40, EUR,RUR – такие то (то что отдает нацбанком).
желательно прописать это через "ID" – чтобы можно было добавить ручками в обычную таблицу.
Важная валюта от которой должна меняться цена это USD.


<tr>
<td>USD</td>
<td>55</td>
</tr>
<tr>
<td>EUR</td>
<td><span id="EUR">столько то</td>
</tr>
<tr>
<td>BYR</td>
<td><span id="BYR">110</td>
</tr>
и т.д.

Важно. я не готов дать доступ к сайту, так как фрилансеры ложили его не раз. Проверяем вместе (за 2е суток, так как меняются курсы) далее оплачиваю.
 
Согласен, Get запрос раза 3-4 в сутки и все :)
 
нац банк дает курс на завтра. это банки второго уровня меняют хоть 100 раз на день, но не нацбанк
 
Код:
<?php
$count = $_GET["n"];

$USD = file_get_contents("http://www.nbrb.by/API/ExRates/Rates/145");
$USD = json_decode($USD, true);
$USD = $USD["Cur_OfficialRate"];
$EUR = file_get_contents("http://www.nbrb.by/API/ExRates/Rates/19");
$EUR = json_decode($EUR, true);
$EUR = $EUR["Cur_OfficialRate"];
$RUR = file_get_contents("http://www.nbrb.by/API/ExRates/Rates/141");
$RUR = json_decode($RUR, true);
$RUR = $RUR["Cur_OfficialRate"];
/*
$USD = 1.5;
$EUR = 1.3;
$RUR = 2;
*/
$result_byr = $count * $USD;
$result_eur = $result_byr * $EUR;
$result_rur = $result_byr * $RUR;
echo <<<HTML
<table>
<tr> 
<td>USD</td> 
<td>$count</td> 
</tr> 
<tr> 
<td>EUR</td> 
<td><span id="EUR">$result_eur</td> 
</tr> 
<tr> 
<td>BYR</td> 
<td><span id="BYR">$result_byr</td> 
</tr>
<tr> 
<td>RUR</td> 
<td><span id="RUR">$result_rur</td> 
</tr>
</table>







HTML;



?>

закинуть в файл и дергать file.php?n=сумма_в_баксах
з.ы. только говнокод с моей локации не отрабатывает, данные по урлам отдаются раз через пять. (возможно или у них какие-то лимиты обращения к апи, которые не указаны и выяснять методом тыка или сервер тупит)
 
да лимиты есть, поэтому и требуется запрос раз в 4 часа. Ранее по старому работали так, срабатывал CRON, на хосте создавался фаил с курсами и обновлялся раз в 4 часа. шоткод отрабатывал в таблице и менялся автоматом. но сейчас это не работает.
 
так может проще старый код поправить? или может партизанить перестанете и укажете какие лимиты на обращения (раз вы знаете что они там есть)
з.ы. складывается ощущение что это мне надо, а не вам :D
 
так может проще старый код поправить? или может партизанить перестанете и укажете какие лимиты на обращения (раз вы знаете что они там есть)
з.ы. складывается ощущение что это мне надо, а не вам :D
не работает уже то, что было ранее. если кто готов поработать, то отпишите, я готов отдать за это 30 WMZ. главное отпишите кто будет заниматься. Я не спец, я владелец сайта, ранее человек, который делал сейчас не доступен.
 
Важно. я не готов дать доступ к сайту, так как фрилансеры ложили его не раз. Проверяем вместе (за 2е суток, так как меняются курсы) далее оплачиваю.
Сделал бы, да без предоплаты и доступа к сайту не работаю;)

Ваш план действий, как должно работать:
1. Пользователь заходит на сайт.
2. Сайт проверяет курс из кеша. Если кеш вчерашний — лезет на банк, выдает данные пользователю и сохраняет кеш. Таким образом при следующем запросе курс идет из кеша до завтрашнего дня.
Всё.
 
Последнее редактирование:
Если за 15 WMZ Готовы, я предоставлю вам код. Отпишите в ЛС пожалуйста
 
Назад
Сверху