Todo desenvolvedor que já manteve um site de comércio eletrônico lhe dirá que ser responsável pelo manuseio adequado da moeda pode ser uma tarefa muito estressante. Se o senhor escrever um código com bugs ou inseguro, vai custar dinheiro ao seu empregador ou ao usuário. Uma complicação adicional para os desenvolvedores pode ser a conversão de moedas se o aplicativo atender a um público internacional. A última coisa que os desenvolvedores precisam é de uma API complicada, especialmente uma que os ajude a lidar com a moeda. É aí que entra a currencylayer chega: uma API simples e abrangente para conversão de moedas para seus aplicativos nativos e da Web!
Resultados rápidos
Aqui estão alguns dos destaques da oferta do currencylayer:
- Com a confiança da Disney Pixar, FedEx, Lyft e MetLife
- Suporta dezenas de moedas
- Oferece suporte à conversão de moeda bitcoin
- Fornece o uso da API HTTPS
- O valor da moeda é atualizado a cada 60 segundos
- Limpar documentação com vários exemplos de código (cURL, PHP, jQuery, etc.)
- Preços muito competitivos
Usando currencylayer
ofertas do currencylayer registro gratuito com uma generosa cota de solicitações para testes. Depois de se inscrever, o senhor receberá uma chave de API para dar início ao desenvolvimento. Munido de uma chave de API e da documentação, é hora de usar os endpoints da API do currencylayer para fazer experiências com moedas!
Dicas para todas as solicitações de currencylayer
- Todas as solicitações devem ser solicitações GET
- O
access_keyque representa sua API KEY, é necessário para todas as solicitações - O senhor pode adicionar
format=1a qualquer solicitação para que o senhor solicite que o currenclylayer formate a resposta JSON (muito bom!) - O senhor pode adicionar
source={code}para alterar a moeda de origem deUSDpara o idioma que o senhor desejar - O senhor pode adicionar
currency={currencylist}para especificar para quais moedas o senhor deseja obter informações - O currencylayer fornece exemplos de código abrangentes em seu site documentação
Como obter uma listagem de moedas
Uma boa primeira etapa é usar o endpoint de listagem de moedas para ver quais moedas são compatíveis com o currencylayer:
# The "list" endpoint provides a basic list of supported currencies curl http://apilayer.net/api/list?access_key=MY_API_KEY&format=1
// Response:
{
"success":true,
"terms":"https:\/\/currencylayer.com\/terms",
"privacy":"https:\/\/currencylayer.com\/privacy",
"currencies":{
"AED":"United Arab Emirates Dirham",
"AFN":"Afghan Afghani",
"ALL":"Albanian Lek",
"AMD":"Armenian Dram",
"ANG":"Netherlands Antillean Guilder",
"AOA":"Angolan Kwanza",
"ARS":"Argentine Peso",
"AUD":"Australian Dollar",
"BTC":"Bitcoin", // Yay bitcoin!
// ...
"USD":"United States Dollar",
"UYU":"Uruguayan Peso",
"UZS":"Uzbekistan Som",
"VEF":"Venezuelan Bol\u00edvar Fuerte",
"VND":"Vietnamese Dong"
}
}
currencylayer oferece suporte a uma lista exaustiva de moedas, ampliando seu alcance internacional! Observe também que o senhor pode adicionar format=1 ao URL de sua solicitação para que o
Obtenção de tarifas em tempo real
As informações sobre taxas em tempo real são provavelmente o uso mais popular de um serviço de conversão de moedas como o currencylayer, especialmente quando o senhor está lidando com uma moeda volátil como o bitcoin. No caso de sites de comércio eletrônico, depois de obter a localização do usuário (por meio de comparação de IP ou preferência do usuário), os sites localizados exibirão um preço localizado.
O senhor pode usar o currencies para obter apenas a conversão que o senhor deseja
# Retrieve the value of USD compared to EUR (the Euro) # If you don't provide a "currencies" key, all currencies will be returned curl http://apilayer.net/api/live?format=1¤cies=EUR&access_key=MY_API_KEY
{
"success":true,
"terms":"https:\/\/currencylayer.com\/terms",
"privacy":"https:\/\/currencylayer.com\/privacy",
"timestamp":1494266647,
"source":"USD",
"quotes":{
"USDEUR":0.914798
}
}
A extração de taxas de câmbio “em massa” é uma maneira inteligente de limitar o uso da API; currencylayer permite que os desenvolvedores obtenham vários valores de moeda de uma só vez:
# Retrieve the value of USD compared to EUR (the Euro), GBP (Pound), BTC (Bitcoin) curl http://apilayer.net/api/live?format=1¤cies=GBP,EUR,BTC&access_key=MY_API_KEY
{
"success":true,
"terms":"https:\/\/currencylayer.com\/terms",
"privacy":"https:\/\/currencylayer.com\/privacy",
"timestamp":1494266647,
"source":"USD",
"quotes":{
"USDGBP":0.77271, // 1 USD is 0.77271 Pounds (GBP)
"USDEUR":0.914798,
"USDBTC":0.000628
}
}
A menos que o senhor precise da precisão do momento, eu recomendaria armazenar em cache as respostas da camada de moeda para manter a velocidade do seu sistema e a eficiência do uso da API. Adoro o fato de o currencylayer permitir que os desenvolvedores obtenham informações em massa.
Obtendo dados históricos de moedas
A recuperação de dados históricos também é um recurso interessante do currencylayerespecialmente quando o senhor trabalha com moedas voláteis. Esse recurso é excelente para criar gráficos com base em valores de moeda.
# Get the value of BTC one year ago curl http://apilayer.net/api/historical?date=2016-05-08¤cies=BTC&format=1&access_key=MY_API_KEY # Get the value of BTC two years ago curl http://apilayer.net/api/historical?date=2015-05-08¤cies=BTC&format=1&access_key=MY_API_KEY
// 2016
{
"success":true,
"terms":"https:\/\/currencylayer.com\/terms",
"privacy":"https:\/\/currencylayer.com\/privacy",
"historical":true,
"date":"2016-05-08",
"timestamp":1462751999,
"source":"USD",
"quotes":{
"USDBTC":0.002177
}
}
// 2015
{
"success":true,
"terms":"https:\/\/currencylayer.com\/terms",
"privacy":"https:\/\/currencylayer.com\/privacy",
"historical":true,
"date":"2015-05-08",
"timestamp":1431129599,
"source":"USD",
"quotes":{
"USDBTC":0.004093
}
}
O ponto de extremidade de dados históricos aceita um único argumento de data e retorna o valor da moeda para cada moeda compatível.
Usando JSONP
Sou um grande fã do JSONPO número de vezes em que tive que codificar um proxy para evitar o CORS me tornou um desenvolvedor irritado e cínico. currencylayer vai além para oferecer suporte a JSONP:
// Get a conversion from USD to GBP for $20
$.ajax({
url: 'http://apilayer.net/api/convert?access_key=MY_ACCESS_KEY&from=USD&to=GBP&amount=20,
dataType: 'jsonp',
success: function(json) {
// Update the pricing element with the GBP £ value
document.querySelector('.price').html('£' + json.result);
}
});
Obrigado por fornecer suporte a JSONP, currencylayer!
Consultas de período de tempo
As consultas de período de tempo são muito úteis para conhecer a alteração do valor da moeda com datas de início e término definidas. Outro ótimo exemplo é o reembolso de transações de bitcoin; se o seu bitcoin for baseado em dólares americanos e o bitcoin tiver subido significativamente desde a transação de origem, o senhor desejará saber o valor do BTC no momento da venda e ajustar o valor do BTC reembolsado ao cliente.
# Customer wants a refund for a purchase made one month earlier # In this case we need to figure out how much EUR has changed curl http://apilayer.net/api/timeframe?start_date=2017-04-01&end_date=2017-05-01¤cies=EUR&format=1&access_key=MY_APK_KEY
{
"success": true,
"terms": "https://currencylayer.com/terms",
"privacy": "https://currencylayer.com/privacy",
"timeframe": true,
"start_date": "2010-03-01",
"end_date": "2010-04-01",
"source": "USD",
"quotes": {
"2010-03-01": {
"USDEUR": 0.738541
},
"2010-03-02": {
"USDEUR": 0.736145
},
[...]
}
}
Também recomendo dar uma olhada no este recurso do Node.js que envolve o currencylayer em um padrão semelhante ao REST, permitindo até mesmo a pesquisa de moeda a cada x milissegundos!
Desenvolver um sistema ou aplicativo que aceite dinheiro, muito menos que exija conversão de moeda, pode ser incrivelmente estressante; a última coisa que os desenvolvedores precisam é de uma API excessivamente complicada para fazer o trabalho com a moeda. A API currencylayer é uma das APIs mais fáceis de usar com que já trabalhei. Depois de avaliar alguns outros serviços de conversão de moedas, posso acrescentar que o currencylayer parece ter o preço mais razoável, o que é um grande bônus. Se o senhor desenvolve sistemas que exigem conversão de moedas ou deseja adicionar preços localizados, experimente o currencylayer. Simples, econômico e amigável ao desenvolvedor!