yahoofinance www voraz usd unidos tipo tasa online monedas moneda historico historical google euros eur estados english dolares dolar conversor casa cambio calcular calculadora billetes algoritmo php currency finance

php - www - xe currency



Acceso mediante programaciĆ³n a los tipos de cambio de moneda (15)

Estoy configurando un sistema de pedidos en línea, pero estoy en Australia y para clientes internacionales me gustaría mostrar los precios en dólares estadounidenses o euros para que no tengan que hacer un esfuerzo mental para convertirlos de dólares australianos.

¿Alguien sabe si puedo actualizar las tasas de cambio de la red en algún lugar en un formato fácil de analizar al que puedo acceder desde mi script PHP?

ACTUALIZACIÓN: ahora he escrito una clase PHP que implementa esto. Puedes obtener el código de mi sitio web .


iGoogle fue retirado el 1 de noviembre de 2013. Esta API ya no funciona.

Para obtener la tasa de cambio puede usar algo como esto:

function get_exchange_rate($from, $to){ $data = file_get_contents("http://www.google.com/ig/calculator?hl=en&q=1{$from}=?{$to}"); preg_match(''/rhs/:/s?"([0-9/.]+)/'', $data, $m); return $m[1]; }

Puede agregar una memoria caché de DB allí para asegurarse de que no se acelere, etc.

Como se ha observado en otras publicaciones / comentarios, entonces usaría esta tasa para calcular sus monedas


Agregué la tabla de Open Data a YQL, puede usarla para recuperar datos de tasa de cambio de yahoo.finance.

Pruébalo en la consola YQL

El formato separado por comas es preferible a "donde par en (''EURUSD'', ''GBPUSD'')", pero de todos modos, puede usar ambos e incluso mezclarlos.



Esta respuesta es MUY tarde, pero falta una información clave en las respuestas anteriores.

Si desea mostrar precios precisos a sus clientes, es importante comprender cómo funcionan las tasas de cambio de divisas.

La mayoría de los servicios de FX solo cotizan la tasa spot (a mitad de camino entre Bid y Ask). El spot es una especie de taquigrafía para el tipo de cambio, pero nadie obtiene el lugar porque solo puedes vender en la oferta o comprar en el ask. Por lo general, observa un margen mínimo del 1% entre ellos, por lo que la tasa spot es del 0,5% de descuento para sus clientes.

Pero no se detiene ahí, es casi seguro que sus clientes estén utilizando una tarjeta de crédito y Visa / Mastercard / Amex cobran tarifas de cambio de divisas. Estos no son triviales en mi experiencia, al MENOS 2.5%. Por ejemplo, Citibank Australia cobra un 3,3%. Estos varían de una tarjeta a otra, por lo que no hay forma de que pueda predecir el precio final que se facturará a sus clientes.

Si desea citar un precio "preciso" para sus clientes en función de una tasa de cambio, debe tener en cuenta lo anterior y proporcionar un buffer para que no termine cobrando más de lo que cotizó.

FWIW, he estado agregando el 4% a lo que indica la conversión F / X.




Me siento obligado a agregar:

http://www.exchangerate-api.com/

Muerto fácil de usar con una API RESTful limpia y registro tarda 5 segundos. Incluye ejemplos de codificación para la mayoría de los idiomas principales, la mayoría tienen 2-3 líneas.

Las tarifas se actualizan cada hora, por lo que está bien para la mayoría de los usos, y puede obtener 30000 consultas mensuales por $ 7 al mes. Nunca he necesitado más que eso, pero las tarifas son muy razonables para volúmenes más altos.


Oanda.com expone las tasas de cambio como API XML, pero no de forma gratuita


Otro gran enlace libre y de código abierto es este:

https://raw.github.com/currencybot/open-exchange-rates/master/latest.json
(Lo encontré aquí: http://josscrowcroft.github.com/open-exchange-rates/ )
[Actualizar]:
Los datos del proyecto de tasas de cambio abiertas se han alejado de GitHub.
Está disponible ahora en: http://openexchangerates.org/
Los datos en formato JSON están disponibles en: http://openexchangerates.org/latest.json

Sin tarifas de acceso, sin límites de tarifas , sin XML feo: solo tarifas de cambio gratuitas y actualizadas por hora en formato JSON.
Esto no es "completamente" gratis ahora. La nueva licencia establece que se permiten hasta 1000 visitas por mes, y luego debe pagar. También debe pagar si desea usar el convertidor de moneda única (funcionalidad básica).

[Nota: es posible que también desee ver this respuesta. ]


Puede obtener conversiones de moneda en un formato simple de yahoo:

Por ejemplo, para convertir de GBP a EUR: http://download.finance.yahoo.com/d/quotes.csv?s=GBPEUR=X&f=sl1d1t1ba&e=.csv


Recientemente implementé lo mismo, pero usando la API de Google. La URL de consulta se ve así:

http://www.google.com/ig/calculator?hl=en&q=1GBP=?USD

Toma 3 parámetros. El primer parámetro es la cantidad, seguido del código de moneda ISO 4217 del que está convirtiendo, un signo de igual y un signo de interrogación, y el código de moneda al que está convirtiendo. Puede encontrar una lista de códigos que Google admite here . La respuesta a la consulta se verá así:

{lhs: "1 British pound",rhs: "1.6132 U.S. dollars",error: "",icc: true}

Esto es bastante fácil de entender, así que no voy a entrar en detalles aquí. Así es como manejé la respuesta a la consulta:

function convert_currency($amount, $from_code, $to_code){ ini_set(''max_execution_time'', 60); $temp = ''http://www.google.com/ig/calculator?hl=en&q='' . $amount . $from_code . ''=?'' . $to_code; $response = file_get_contents($temp); $result_string = explode(''"'', $response); $final_result = $result_string[''3'']; $float_result = preg_replace("/[^0-9/.]/", '''', $full_result); return $float_result; }

Estoy seguro de que está lejos de la forma más elegante de hacerlo, pero soy bastante nuevo en PHP. ¡Espero eso ayude!




Prueba esto RESTful (no estoy seguro si esto es realmente un RESTO, ya que lo obtuve originalmente de un SOAP, intenté acceder a él usando HTTP GET)


XE.com proporciona alimentación para sus tasas de cambio. No es gratis sin embargo.