LINUX.ORG.RU
ФорумTalks

api курс валют

 


1

1

ЛОР, нужно какое-то АПИ, которое будет отдавать курсы валют как минимум в парах:

  • USD RUR (по курсу ЦБРФ)
  • EUR USD (по курсу ЕЦБ)

но желательно вообще любые валюты ТОЛЬКО по курсу центральных банков-эмитентов валют.

с меня как обычно :3

★★★★★

Последнее исправление: snoopcat (всего исправлений: 1)

Ответ на: комментарий от Sectoid

да апи есть и у ЦБР и у ЕЦБ, мне бы что-то универсальное

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

у гугл/яхуфинанса АПИ отдает курс с бирж :]

А как ты представляешь курс EUR/USD от ЕЦБ? FOREX работает 24/5 и нету какой либо биржи, типа ММВБ, где по средневзвешенному курсу, где-то в полдень ЦБ РФ устанавливает курс USD/RUB.

Root-msk ★★★★★
()
Ответ на: комментарий от snoopcat

http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml

https://www.ecb.europa.eu/stats/exchange/eurofxref/html/eurofxref-graph-usd.en.html

А это не тупо ли средняя цена? Или вообще цена открытия? Да и вообще какой смысл в курсе по которому ни купишь, ни продашь?

Root-msk ★★★★★
()
Ответ на: комментарий от Root-msk

Да и вообще какой смысл в курсе по которому ни купишь, ни продашь?

обновлять средний курс у себя в базе данных, по которому цены из USD переводятся в отображаемые валюты (руб., EUR)

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от snoopcat

обновлять средний курс у себя в базе данных, по которому цены из USD переводятся в отображаемые валюты (руб., EUR)

Тогда не проще взять от ЦБ РФ две пары - USD/RUB и EUR/RUB и получить EUR/USD с помощью формулы EUR/RUB ÷ USD/RUB? Например EUR/USD = 64.9650÷61.3167 = 1.0595.

Root-msk ★★★★★
()
Ответ на: комментарий от snoopcat

вариант, конечно, но вот сейчас валюты три, а завтра там появятся юань и франк, и шо делать тогда :)

http://www.cbr.ru/currency_base/Print.asp?File=P1.htm

http://www.cbr.ru/currency_base/dynamics.aspx

Для юаня проще. USD/CNY = 6.24 +/- 2%. Сейчас USD/CNY 6.285, поэтому не будет большой ошибкой если взять среднее по USD/RUB и разделить на CNY/RUB. Курсовой якорь юаня - доллар США. Для франка может тоже взять проще USD/RUB ÷ CHF/RUB = USD/CHF? Тебе надо USD переводить в RUB, CNY, CHF? У тебя ведь цены в долларах США и тебе нужно отображать в других валютах, таких как российский рубль или евро.

Root-msk ★★★★★
()
Последнее исправление: Root-msk (всего исправлений: 1)
Ответ на: комментарий от Root-msk

Тебе надо USD переводить в RUB, CNY, CHF? У тебя ведь цены в долларах США и тебе нужно отображать в других валютах, таких как российский рубль или евро.

всё верно

snoopcat ★★★★★
() автор топика

В линухе калькулятор есть, в нем есть онлайн пересчет валют. Посмотри исходники, вот тебе и апи.

Однако если твой сервис с бизнесом связан, то все непросто. С апи не спросишь, кто виноват и на бабки его не поставишь. Скажем, в российских системах бронирования авиабилетов соотношение рубль/евро и рубль/доллар вводятся вручную оператором с сайта ЦБР.

anto215 ★★
()
Ответ на: комментарий от snoopcat

всё верно

У тебя интернет-магазин, где все цены в USD, но для удобства пользователя, ты хочешь отображать цены и в EUR и в RUR и даже в CHF? Если да, то тогда просто бери курсы ЦБ РФ и не мучайся. Если магазину нужны доллары США, а у покупателя евро, то обмен будет даже не по курсу спот, а гораздо худшему, да еще может комиссию за обмен взят. Просто пиши цена приблизительно столько-то рублей или евро как на ebay.com. Чем не устраивает?

Root-msk ★★★★★
()
Ответ на: комментарий от Root-msk

дело не только в отображении.
например, при выставлении инвойса пользователю он выставляется именно в евро, а при конвертации используются всё те же значения из БД

но в общем всё верно, все финансы в БД в юсд, а пользователь может «видеть» баланс/цены в любой валюте

snoopcat ★★★★★
() автор топика
Последнее исправление: snoopcat (всего исправлений: 1)
Ответ на: комментарий от snoopcat

например, при выставлении инвойса пользователю он выставляется именно в евро, а при конвертации используются всё те же значения из БД

но в общем всё верно, все финансы в БД в юсд, а пользователь может «видеть» баланс/цены в любой валюте

Ты не совсем понимаешь. Работа с несколькими валютами, это – валютные риски. Вот пример, товар стоит 1060 USD. Средний курс на ММВБ EUR/USD 1.595 у ЕЦБ среднее значение EUR/USD 1.575, спот 1.615, у банка ты можешь продать 1000 EUR и купить 1060 USD. Вот прям сейчас, но через некоторое время EUR/USD 1.630, а банк за 1000 EUR даст тебе 1061 USD. Через пару минут (в буквальном смысле) EUR/USD уже 1.048. Как ты выручишь за 1000 EUR хотя бы 1049 USD? Котировки у ЦБ РФ, которые я предложил использовать, являются приблизительными. Они не имею экономического смысла и предполагалось использовать для удобства пользователя, а не для реальных сделок.

Root-msk ★★★★★
()
Ответ на: комментарий от Root-msk

да не, не должно быть рисков.
ну там схема примерно такая -

1) пользователь тыкает «выставить счёт», вводит сумму в USD (пусть будет 100 долларов)
2) система генерирует пдфку, но эти 100$ конвертирует по текущему курсу в базе в евро и рисует это на бумажном инвойсе, получается 95
3) юзер в инвойсе видит евро, платит, мы подтверждаем платёж и зачисляем эти же евро по курсу на момент подтверждения платежа *вручную*.

т.е. если eurusd станет 1,8, а пользователь выставлял себе счёт при кре 1,05, то зачислять мы будем есс-но по 1.8
он не видит долларов в инвойсе, он платит евро, а зачисляем мы вручную по курсу на *момент оплаты*, да

snoopcat ★★★★★
() автор топика
Последнее исправление: snoopcat (всего исправлений: 2)
Ответ на: комментарий от snoopcat

1) пользователь тыкает «выставить счёт», вводит сумму в USD (пусть будет 100 долларов)
2) система генерирует пдфку, но эти 100$ конвертирует по текущему курсу в базе в евро и рисует это на бумажном инвойсе, получается 95
3) юзер в инвойсе видит евро, платит, мы подтверждаем платёж и зачисляем эти же евро по курсу на момент подтверждения платежа *вручную*.

т.е. если eurusd станет 1,8, а пользователь выставлял себе счёт при кре 1,05, то зачислять мы будем есс-но по 1.8
он не видит долларов в инвойсе, он платит евро, а зачисляем мы вручную по курсу на *момент оплаты*, да

Ну да. Вот пользователь хочет 106,00 USD. Тыкает и получает 100,00 EUR, если курс 1.060, но курс стал 1,630, пользователь должен получить 106,30 USD на счет. А вдруг EUR/USD 1,050, то пользователь получит 105 USD, но ведь он хотел 106 USD. Фирма подарит на счет один бакс? И где нету рисков? Пользователь не получит один доллар, а он так хотел видеть его на своем счете.

Root-msk ★★★★★
()
Ответ на: комментарий от Root-msk

ну а шо делать? выставлять ему счёт в локальной валюте и пусть ;;;тся с банками-корреспондентами сам?

snoopcat ★★★★★
() автор топика
Ответ на: комментарий от Siado

Звучит =)

А что не так? О_о Его у нас все так называют.

Sectoid ★★★★★
()
Ответ на: комментарий от snoopcat

ну а шо делать? выставлять ему счёт в локальной валюте и пусть ;;;тся с банками-корреспондентами сам?

А вот это зависит от задачи. Если нужно вывести на более высокую строчку в спец. поисковиках, типа price.ru или market.yandex.ru, то лучше цены указать в местной валюте и по выгодному курсу. Не хватит 100 рублей? Ну так пользователь скорее всего по баттхерит и переведет это сотку рублей. Правда потом, он сомнительно, что продолжит сотрудничество с фирмой, но это неважно, ведь деньги уже на счету. Более честнее, сделать как ты указал в последнем сообщении – отдать вопросы конвертации валют банкам.

Root-msk ★★★★★
()

oanda дает курсы практически на любую валюту - но нормальный API - за деньги

WindowsXP ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.