Documentación de la API

Introducción

Bienvenidos a la documentación de la API de Dolarify. Esta API proporciona las cotizaciones actualizadas de varios tipos de dólares, tasas de billeteras virtuales y plazos fijos de bancos destacados. Podés usar esta API para obtener las tasas de compra y venta actuales, junto con otra información relacionada.

URL Base

https://dolarify-api.vercel.app/api

Endpoints

GET /api/dolar

Este endpoint devuelve las cotizaciones actuales de varios tipos de dólares.

Respuesta

{
  "dolarBna": {
    "name": "BNA",
    "compra": 893.50,
    "venta": 933.50,
    "variacion": 0.05,
    "fecha": "2024-07-04T18:25:00.000Z"
  },
  "dolarBlue": {
    "name": "BLUE",
    "compra": 1385,
    "venta": 1405,
    "variacion": -1.75,
    "fecha": "2024-07-04T18:25:00.000Z"
  },
  "dolarMep": {
    "name": "MEP",
    "compra": 1395.3,
    "venta": 1396.01,
    "variacion": 0.98,
    "fecha": "2024-07-04T18:25:00.000Z"
  }
}

GET /api/billeteras

Este endpoint devuelve las tasas TNA y TEA de varias billeteras virtuales destacadas.

Respuesta

[
  {
    "billetera": "Personal Pay",
    "TNA": 36.50,
    "TEA": 42.00
  },
  {
    "billetera": "Mercado Pago",
    "TNA": 35.75,
    "TEA": 40.50
  },
  {
    "billetera": "Prex",
    "TNA": 34.90,
    "TEA": 39.20
  }
]

GET /api/plazos

Este endpoint proporciona las tasas TNA y TEA de plazos fijos de bancos destacados.

Respuesta

[
  {
    "alias": "Nación",
    "TNA": 33.00,
    "TEA": 38.45
  },
  {
    "alias": "Galicia",
    "TNA": 32.50,
    "TEA": 37.80
  },
  {
    "alias": "Santander",
    "TNA": 32.00,
    "TEA": 37.15
  }
]

Uso

Acá tenés un ejemplo de cómo obtener los datos usando JavaScript:

fetch('https://dolarify-api.vercel.app/api/dolar')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error fetching data:', error));

Configuración de Caché y Límites de Solicitudes

Para mejorar el rendimiento y reducir la carga en el servidor, se utiliza un mecanismo de caché que almacena los datos durante 10 minutos. Esto significa que los datos se actualizan cada 10 minutos, y cualquier solicitud dentro de ese período devuelve los datos almacenados en el caché.

Para proteger la API contra abusos, se implementó un límite de 300 solicitudes por IP cada 15 minutos. Si se excede este límite, la API devolverá una respuesta con el código de estado 429 Too Many Requests.

Código de Estado: 429 Too Many Requests

{
  "message": "Demasiadas solicitudes, por favor espere 15 minutos y vuelva a intentar"
}

Manejo de Errores

La API devuelve errores estructurados en formato JSON. Acá hay algunos ejemplos comunes:

Error 500: Error Interno del Servidor

{
  "error": "Error obteniendo los datos"
}

Error 404: No Encontrado

{
  "error": "Recurso no encontrado"
}