Tipos de cambio en PHP y Laravel
Consulta y almacena tipos en Laravel con su cliente HTTP, autenticación bearer, tiempos límite y metadatos de frescura.
Un pequeño servicio Laravel puede llamar a exchangerate.dev, rechazar errores HTTP y guardar una observación completa durante 60 segundos. Mantén la clave en configuración y devuelve source, market_session y data_updated_at.
Key points
Usa el cliente HTTP con bearer, timeout y
throw().Almacena la respuesta correcta completa durante 60 segundos.
Carga la clave mediante
EXCHANGERATE_API_KEY.Usa una biblioteca decimal cuando necesites aritmética exacta.
Crea un servicio FX con caché
El servicio forma una clave estable con la base y los símbolos. throw() se ejecuta antes de que Laravel escriba una respuesta fallida en caché.
Configura la clave fuera del código
Lee el tipo y sus campos de observación
Llama a $service->latest("USD", ["EUR", "GBP"]) y lee $result["rates"]["EUR"]. Conserva $result["source"], $result["market_session"] y $result["data_updated_at"].
No almacenes errores como tipos
Un 401 indica una clave o cabecera incorrecta. Un 429 indica exceso de solicitudes. Deja que fallen y conserva cualquier observación anterior solo con su hora original.
- Ordena los símbolos antes de formar la clave.
- Define un timeout.
- Ejecuta throw antes de guardar JSON.
- Redondea el monto final, no el tipo.
MM
exchangerate.dev
Guías de integración para desarrolladores que trabajan con datos FX.