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_key que representa sua API KEY, é necessário para todas as solicitações
  • O senhor pode adicionar format=1 a 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 de USD para 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&currencies=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&currencies=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&currencies=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&currencies=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&currencies=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!