QvaPay API
P2P

Promedios P2P

Obtener los promedios de tasas de cambio P2P por moneda en las últimas 24 horas.

GET /p2p/averages

Retorna los promedios de tasas de cambio (ratio receive/amount) de las operaciones P2P completadas, agrupados por moneda. Los datos se cachean en Redis y se recalculan cada 5 minutos.

Cada operación completada es una muestra: una oferta fija completada o una orden de una oferta por rango liberada. La oferta por rango en sí nunca cuenta (su estado completed solo indica que no queda monto). No cuentan las ofertas privadas, los montos menores de 1 USD ni las tasas fuera de los límites de la moneda.

La ventana es de 24 horas. Si una moneda tiene menos de 3 operaciones en ese plazo, se amplía a 72 horas y después a 7 días; window_hours indica la ventana usada. Sin operaciones en 7 días, los promedios son 0.

Autenticación

No requiere autenticación. Endpoint público.

Request

curl -X GET "https://api.qvapay.com/p2p/averages"

Response (200)

{
  "BANK_CUP": {
    "name": "Transferencia CUP",
    "average": 250.5,
    "average_buy": 248.0,
    "average_sell": 253.0,
    "count": 45,
    "count_buy": 20,
    "count_sell": 25,
    "median": 251.0,
    "median_buy": 248.5,
    "median_sell": 252.0,
    "window_hours": 24,
    "updated_at": "2024-06-20T14:30:00.000Z"
  },
  "BANK_MLC": {
    "name": "Transferencia MLC",
    "average": 1.05,
    "average_buy": 1.03,
    "average_sell": 1.07,
    "count": 30,
    "count_buy": 15,
    "count_sell": 15,
    "updated_at": "2024-06-20T14:30:00.000Z"
  }
}

Campos por moneda

CampoTipoDescripción
namestringNombre de la moneda
averagenumberPromedio general de tasa (receive/amount)
average_buynumberPromedio de tasa en ofertas de compra
average_sellnumberPromedio de tasa en ofertas de venta
countnumberTotal de operaciones completadas en la ventana
count_buynumberOperaciones de compra completadas
count_sellnumberOperaciones de venta completadas
mediannumberMediana general de tasa
median_buynumberMediana de tasa en compras
median_sellnumberMediana de tasa en ventas
window_hoursnumberVentana usada en horas: 24, 72 o 168
updated_atstringFecha de última actualización

Cache

La respuesta incluye un header Cache-Control: public, max-age=60, stale-while-revalidate=120. Los datos se cachean en Redis y se recalculan desde la base de datos cuando el cache expira.

Errores

CódigoDescripción
200En caso de error, retorna un objeto vacío {}

GET /p2p/completed_pairs_average

Promedio de una sola moneda, con las tasas individuales. Mismo criterio de muestras que /p2p/averages, con ventana base de 48 horas (se amplía a 7 días si hay menos de 3 operaciones).

curl -X GET "https://api.qvapay.com/p2p/completed_pairs_average?coin=BANK_MLC"
{
  "average": 1.45,
  "average_buy": 1.45,
  "average_sell": 1.45,
  "median_buy": 0,
  "median_sell": 1.4392,
  "count": 4,
  "window_hours": 48,
  "offers": [1.48, 1.4, 1.55, 1.37]
}

Si no hay compras (o ventas), average_buy (o average_sell) toma el valor de average. Sin operaciones en 7 días responde 0. El parámetro coin es obligatorio (400 sin él) y el límite es de 10 peticiones por minuto por IP (429).