Saltar al contenido principal

Obtener Tipo de Cambio

Obtiene el tipo de cambio oficial de Banxico para usar en facturas con moneda extranjera.

Endpoint

GET https://api.lummy.io/v1/exchange-rates/for-invoicing
EntornoURL
Producciónhttps://api.lummy.io/v1/exchange-rates/for-invoicing
Sandboxhttps://sandbox.lummy.io/v1/exchange-rates/for-invoicing
Tipo de cambio oficial

El tipo de cambio proviene de Banxico (Banco de Mexico), que es el requerido por el SAT para facturas en moneda extranjera.

Headers

{
"Authorization": stringrequerido
Token de autenticación Bearer (JWT) o API Key para autorizar la solicitud.
}

Query Parameters

{
"currency": string,requerido
Código ISO 4217 de la moneda. Ejemplo: USD (Dólar estadounidense), EUR (Euro).
Patrón: ^[A-Z]{3}$
"date": stringopcional
Fecha en formato YYYY-MM-DD para la cual se requiere el tipo de cambio. Si no se especifica, se utiliza la fecha actual. Nota: Banxico no publica tipos de cambio los fines de semana ni días festivos.
Formato: date
}

Ejemplos de Codigo

# Tipo de cambio USD actual
curl -X GET "https://sandbox.lummy.io/exchange-rates/for-invoicing?currency=USD" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"
# Tipo de cambio EUR de una fecha especifica
curl -X GET "https://sandbox.lummy.io/exchange-rates/for-invoicing?currency=EUR&date=2025-01-15" \
-H "Authorization: Bearer ${ACCESS_TOKEN}"

Respuestas

Todas las respuestas siguen el formato estándar StandardResponse.

200 OK

{
"requestId": "abc123-def456",
"data": {
"currency": "USD",
"rate": 17.2534,
"date": "2025-01-20",
"source": "BANXICO"
},
"timestamp": "2025-01-20T10:30:00.000Z",
"path": "/exchange-rates/for-invoicing",
"method": "GET"
}
{
"currency": string,requerido
Código ISO 4217 de la moneda consultada.
"rate": number,requerido
Tipo de cambio publicado por el DOF (Diario Oficial de la Federación) para la fecha especificada. Representa las unidades de MXN por 1 unidad de moneda extranjera.
"date": string,requerido
Fecha del tipo de cambio en formato YYYY-MM-DD.
Formato: date
"source": stringrequerido
Fuente del tipo de cambio. Siempre es BANXICO (Banco de México).
}

400 Bad Request

Moneda no soportada.

{
"requestId": "abc123-def456",
"error": {
"message": "Moneda no soportada: XYZ",
"code": "ValidationError",
"status": 400
},
"timestamp": "2025-01-20T10:30:00.000Z",
"path": "/exchange-rates/for-invoicing",
"method": "GET"
}

404 Not Found

No hay tipo de cambio disponible para la fecha solicitada (dias festivos o fines de semana).

{
"requestId": "abc123-def456",
"error": {
"message": "No hay tipo de cambio disponible para la fecha: 2025-01-18",
"code": "NotFoundException",
"status": 404
},
"timestamp": "2025-01-20T10:30:00.000Z",
"path": "/exchange-rates/for-invoicing",
"method": "GET"
}

Monedas Soportadas

Las monedas mas comunes para facturacion internacional:

CodigoMoneda
USDDolar estadounidense
EUREuro
GBPLibra esterlina
CADDolar canadiense
JPYYen japones

Para ver todas las monedas soportadas, usa el endpoint /exchange-rates/currencies.

Notas Importantes

Uso en Facturas

Cuando emitas una factura en moneda extranjera:

  1. Obtén el tipo de cambio del dia de la factura
  2. Usa ese valor en el campo tipoCambio del request de factura
const tipoCambio = await obtenerTipoCambio('USD');

const factura = await crearFactura({
// ...otros campos
moneda: 'USD',
tipoCambio: tipoCambio.rate,
});

Dias sin Tipo de Cambio

Banxico no publica tipo de cambio los fines de semana ni dias festivos. En esos casos, el SAT permite usar el tipo de cambio del ultimo dia habil.