API gratuita de câmbio: fontes, cobertura e limites
Para que serve uma API gratuita de câmbio
Uma API gratuita de câmbio retorna taxas de referência: uma taxa publicada por moeda por dia, e não uma cotação de negociação em tempo real. É exatamente o que a maioria das aplicações precisa. Exibir um preço na moeda local do visitante, estimar uma fatura, montar um orçamento de viagem ou reportar totais de fim de mês funcionam bem com uma taxa diária. O que ela não consegue é dizer quanto um banco oferecerá neste exato minuto, e é por isso que os limites importam tanto quanto os recursos.
Os endpoints de moeda do ipto são construídos sobre essa ideia. Você pode testar os mesmos dados no conversor de moedas ou chamá-los pelo código por meio de /v1/currency/convert, /v1/currency/rates e /v1/currency/history, descritos na documentação da API.
De onde vêm as taxas
A fonte principal é o conjunto de dados aberto fawazahmed0/currency-api. Ele é de domínio público, não exige chave de API e é atualizado diariamente. É servido por duas redes de distribuição de conteúdo independentes, e o ipto as tenta em ordem, de modo que uma queda não interrompe a atualização das taxas. O serviço o atualiza em uma programação diária e guarda o resultado em um cache rápido, então uma conversão na página não espera por uma requisição externa.
As taxas de referência publicadas pelo Banco Central Europeu são outra coisa e servem aqui apenas como contingência. Se as duas redes da fonte principal estiverem indisponíveis, o ipto continua servindo as cerca de 31 principais moedas que o BCE publica, em vez de perder totalmente os dados de câmbio. Na operação normal, você não está vendo dados do BCE.
Cobertura
O ipto oferece suporte a 154 moedas do mundo, filtradas a partir de uma lista de origem muito maior. A fonte também contém criptomoedas e unidades contábeis que não são moedas de pagamento, e estas são deliberadamente deixadas de fora. Toda moeda suportada tem nome e bandeira, para que o conversor mostre algo legível em vez de um código puro.
Histórico
O endpoint de histórico retorna taxas de referência diárias de um par de moedas nos últimos 30, 60 ou 90 dias, que é também o que o gráfico da página do conversor desenha. O histórico é útil para identificar uma tendência, conferir qual era a taxa no dia em que uma transação foi registrada e checar um número que parece errado. É uma janela de 90 dias, não um arquivo de vários anos. Se você precisa de taxas desde 1999 para trabalhos de auditoria, use uma fonte que publique esse arquivo e guarde uma cópia dele.
Limites para os quais você deve se planejar
- Diária, não em tempo real. Uma taxa é um único valor diário. Não a use para negociação nem para liquidar um pagamento.
- Sem tarifas nem margens. Bancos e bandeiras de cartão adicionam um spread. O custo real para o seu cliente será diferente da taxa de referência.
- Fins de semana e feriados. Trate um dia ausente como a última taxa disponível, e não como um erro.
- Idade do cache. As taxas podem ter até um dia, por design. Mostre a data ao lado de qualquer valor convertido.
Usando com geolocalização de IP
O uso combinado mais comum é detectar o país do visitante a partir do endereço IP com o endpoint de consulta de IP, que também retorna a moeda desse país, e então converter seus preços para ela. Como a geolocalização é aproximada, sempre deixe o visitante alterar a moeda, e lembre-se de que um visitante usando VPN pode aparentar estar em outro país, o que o VPN checker pode ajudar a detectar.
Em resumo
Taxas de referência gratuitas são adequadas para exibição, estimativas e relatórios. São inadequadas para qualquer coisa que movimente dinheiro. Se você ficar dentro desse limite, uma API gratuita de taxas diárias é mais simples, mais barata e tão precisa quanto um feed pago para essa finalidade.