O Yahoo financia toda a documentação da API de cotações das moedas
Http://finance.yahoo.com/webservice/v1/symbols/allcurrencies/quote
Consigo ver pessoas a usar parâmetros diferentes como:view=basic
date=Ymd;
currency=true
mas é horrível não haver nada oficial.
Por agora estou a usar isto. parâmetros:
format=json
e às vezes...
7 answers
Editar:
Houve alguma discussão sobre os fóruns de desenvolvimento do Yahoo e parece que não há documentação (ênfase minha):
A razão para a falta de documentação é que não temos uma API Financeira. Parece que alguns inverteram a engenharia de uma API que eles usam para puxar dados financeiros, mas eles estão quebrando nossos Termos de serviço (sem redistribuição de dados financeiros) ao fazer isso, então eu encorajaria você a evitar a utilização destes webservices.
Ao mesmo tempo, o URL que listou pode ser acedido usando o YQL console , embora eu não seja inteligente o suficiente para saber como extrair parâmetros de URL com ele.
Atenção !!! |
/ Serviço suspenso pelo YAHOO, a solução deixou de ser válida. |
Obtenha do Yahoo um JSON ou XML que possa analisar a partir de uma consulta de repouso.
Você pode trocar de qualquer moeda para qualquer moeda e até mesmo obter a data e hora da consulta usando o YQL (Yahoo Query Language).
https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20csv%20where%20url%3D%22http%3A%2F%2Ffinance.yahoo.com%2Fd%2Fquotes.csv%3Fe%3D.csv%26f%3Dnl1d1t1%26s%3Dusdeur%3DX%22%3B&format=json&callback=
Isto vai trazer um exemplo como abaixo:
{
"query": {
"count": 1,
"created": "2016-02-12T07:07:30Z",
"lang": "en-US",
"results": {
"row": {
"col0": "USD/EUR",
"col1": "0.8835",
"col2": "2/12/2016",
"col3": "7:07am"
}
}
}
}
Pode tentar a consola.
Acho que isto faz. não quebrar qualquer termo de serviço, uma vez que é uma solução 100% yahoo.
"EUR",1.2972
"GBP",1.6034
Ou se precisar do json: Yahoo csv parser
A usar o YQL com a tabela de finanças do Yahoo (yahoo.Financas.cotações) ligadas por NT3RP, as moedas aparecem com o símbolo = "ISOCODE=X", por exemplo:" ARS=X "para Peso Argentino," AUD=X " para Dólar Australiano. "USD=X" não existe, mas seria 1, uma vez que o resto são taxas contra USD.
O valor "preço "na API do OP está no campo" LastTradePriceOnly " do quadro. Para a minha aplicação usei o campo "perguntar".
Como NT3RP nos disse que:
Então pensei em Partilhar este site contigo.:... nós (Yahoo!) don't have a Finance API. Parece que alguns alteraram uma API que usam para obter dados financeiros, mas estão a quebrar os nossos Termos de Serviço...
[actualização: o site mudou-se para - http://openexchangerates.org] Este site diz:
sem acesso taxas, sem limites de taxa, sem XML feio - apenas livre, taxas de câmbio atualizadas à hora no formato JSON
[atualização: gratuito para uso pessoal, uma pechincha para o seu negócio.]
Espero ter ajudado e isto é de alguma utilidade para ti (e para outros também). : )
Usei este URL para obter várias cotações no mercado monetário.
Http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=USD=X CAD=X,EUR=X
"USD",1.0000
"CAD",1.2458
"EUR",0.8396
Eles podem ser processados em PHP assim:
$symbols = ['USD=X', 'CAD=X', 'EUR=X'];
$url = "http://finance.yahoo.com/d/quotes.csv?e=.csv&f=c4l1&s=".join($symbols, ',');
$quote = array_map( 'str_getcsv', file($url) );
foreach ($quote as $key => $symb) {
$symbol = $quote[$key][0];
$value = $quote[$key][1];
}
Como alternativa ao Yahoo Finance, comecei a usar a API de Quandl para obter cotações de divisas. Há uma opção gratuita que pode ser usada para aplicações simples e também paga para Bancos de dados premium.
Uma vez que você tem uma conta em Quandl, você tem uma chave para executar seus pedidos. Por exemplo, a conversão de aUSD
a EUR
pode ser obtida por:
curl https://www.quandl.com/api/v3/datasets/CURRFX/USDEUR/data.json?rows=1&api_key=YOUR_KEY
O resultado de tal chamada é:
{
"dataset_data":{"limit":1,"transform":null,"column_index":null,
"column_names":[ "Date","Rate","High (est)","Low (est)"],
"start_date":"1999-09-06","end_date":"2018-01-19","frequency":"daily",
"data":[
["2018-01-19",0.81721997261047,0.8183100 2235413,0.81335002183914]
],
"collapse":null,"order":null}
}
([5]) estão disponíveis mais taxas de câmbio a partir do USD: ([14]) taxas de câmbio em relação ao USD