API gratuita de tipos de cambio: fuentes y límites
Para qué sirve una API gratuita de tipos de cambio
Una API gratuita de tipos de cambio devuelve cotizaciones de referencia: un tipo publicado por divisa y día, no una cotización de mercado en tiempo real. Eso es justo lo que necesitan la mayoría de las aplicaciones. Mostrar un precio en la moneda local del visitante, estimar una factura, preparar un presupuesto de viaje o informar de los totales de fin de mes funcionan bien con un tipo diario. Lo que no puede decirle es cuánto le daría un banco en este momento, y por eso los límites importan tanto como las funciones.
Los endpoints de divisas de ipto se basan en esa idea. Puede probar los mismos datos en el conversor de divisas o llamarlos desde código mediante /v1/currency/convert, /v1/currency/rates y /v1/currency/history, descritos en la documentación de la API.
De dónde proceden los tipos
La fuente principal es el conjunto de datos abierto fawazahmed0/currency-api. Es de dominio público, no requiere clave de API y se actualiza a diario. Se sirve desde dos redes de contenido independientes, y ipto las prueba por orden, de modo que una caída no detiene la actualización de los tipos. El servicio lo refresca con una programación diaria y guarda el resultado en una caché rápida, por lo que una conversión en la página no espera a una petición externa.
Los tipos de referencia publicados por el Banco Central Europeo son otra cosa y aquí solo funcionan como alternativa de respaldo. Si las dos redes de la fuente principal no están disponibles, ipto sigue sirviendo las aproximadamente 31 divisas principales que publica el BCE, en lugar de perder por completo los datos de cotización. En el funcionamiento normal no está viendo datos del BCE.
Cobertura
ipto admite 154 divisas del mundo, filtradas a partir de una lista de origen mucho más extensa. La fuente también contiene criptomonedas y unidades contables que no son divisas de pago, y se dejan fuera de forma deliberada. Cada divisa admitida tiene un nombre y una bandera, de modo que el conversor puede mostrar algo legible en lugar de un simple código.
Historial
El endpoint de historial devuelve cotizaciones diarias de referencia de un par de divisas durante los últimos 30, 60 o 90 días, que es también lo que dibuja el gráfico de la página del conversor. El historial es útil para detectar una tendencia, comprobar cuál era el tipo el día en que se contabilizó una operación y verificar una cifra que parece errónea. Es una ventana de 90 días, no un archivo de varios años. Si necesita tipos desde 1999 para trabajos de auditoría, use una fuente que publique ese archivo y conserve una copia.
Límites que conviene tener en cuenta
- Diario, no en tiempo real. Un tipo es un único valor diario. No lo use para operar ni para liquidar un pago.
- Sin comisiones ni márgenes. Los bancos y las redes de tarjetas añaden un diferencial. El coste real para su cliente será distinto del tipo de referencia.
- Fines de semana y festivos. Trate un día sin dato como el último tipo disponible, no como un error.
- Antigüedad de la caché. Los tipos pueden tener hasta un día por diseño. Muestre la fecha junto a cualquier importe convertido.
Uso junto con la geolocalización por IP
La combinación más habitual consiste en detectar el país del visitante a partir de su dirección IP con el endpoint de consulta de IP, que además devuelve la moneda de ese país, y convertir después sus precios a ella. Como la geolocalización es aproximada, permita siempre que el visitante cambie la moneda, y recuerde que un visitante con VPN puede aparecer en otro país, algo que el verificador de VPN puede ayudarle a detectar.
Conclusión
Los tipos de referencia gratuitos encajan bien para mostrar importes, hacer estimaciones y elaborar informes. Encajan mal para cualquier cosa que mueva dinero. Si se mantiene dentro de ese límite, una API gratuita de tipos diarios es más sencilla, más barata y igual de precisa que un servicio de pago para ese cometido.