Obtener tipos de cambio en Swift con URLSession
Crea un cliente Swift con URLSession, Codable, URLComponents y un modelo explícito de frescura.
Usa URLSession para la red y Codable para el contrato JSON. Mantén la clave en tu servidor; nunca la incluyas en una app iOS, macOS o watchOS.
Key points
Define el modelo: El modelo conserva rates, source, market_session y data_updated_at. Decimal evita empezar los cálculos monetarios con errores de Double.
Mantén la clave en el servidor: Una app cliente debe llamar a tu backend, que añade Authorization. En Swift del lado servidor puedes leer ProcessInfo.environment.
Maneja estado y frescura: Comprueba el estado HTTP antes de decodificar. Trata 401 y 429 de forma distinta y muestra el timestamp y el contexto de fuente en la interfaz.
Define el modelo
El modelo conserva rates, source, market_session y data_updated_at. Decimal evita empezar los cálculos monetarios con errores de Double.
Mantén la clave en el servidor
Una app cliente debe llamar a tu backend, que añade Authorization. En Swift del lado servidor puedes leer ProcessInfo.environment.
Maneja estado y frescura
Comprueba el estado HTTP antes de decodificar. Trata 401 y 429 de forma distinta y muestra el timestamp y el contexto de fuente en la interfaz.
Conserva el contexto del tipo
Programa una tarea diaria para informes o una tarea horaria para un panel. Si recibes 429, reduce la frecuencia en lugar de crear reintentos inmediatos.
- Guarda el tipo junto a su fuente y hora.
- Usa el valor para automatización y análisis.
- No lo trates como una cotización ejecutable.
ER
exchangerate.dev
Guías de integración para desarrolladores.