API Documentation
La API REST de Vuelora te permite integrar tu programa de fidelización con cualquier sistema externo: POS, CRM, agentes IA, o tu propia app.
Base URL: https://vuelora.com/api/v1
Autenticación
Todas las llamadas requieren una API Key enviada en el header Authorization. Las keys se generan desde Dashboard → Integraciones → API Keys.
curl -H "Authorization: Bearer vl_tu_api_key_aqui" \
https://vuelora.com/api/v1/customersreadLectura de clientes, puntos, recompensas, canjeswriteIncluye read + crear puntos, check-ins, canjesadminIncluye write + gestión de webhooks, settingsEndpoints
Clientes
/api/v1/customersLista todos los clientes con su balance de puntos. Soporta paginación con ?limit=&offset=.
Scope requerido: read
Puntos
/api/v1/pointsLista transacciones de puntos. Filtrable por ?user_id= y ?type= (checkin, redemption, adjustment, bonus).
Scope requerido: read
/api/v1/pointsAgrega o resta puntos manualmente. Body: { user_id, points, description? }.
Scope requerido: write
curl -X POST \
-H "Authorization: Bearer vl_xxx" \
-H "Content-Type: application/json" \
-d '{"user_id": "abc123", "points": 50, "description": "Bonus de bienvenida"}' \
https://vuelora.com/api/v1/points
# Respuesta
{
"success": true,
"points": 50,
"description": "Bonus de bienvenida"
}Recompensas
/api/v1/rewardsLista todas las recompensas configuradas del negocio.
Scope requerido: read
/api/v1/rewardsCrea una nueva recompensa. Body: { name, points_required, description?, image_url?, stock? }.
Scope requerido: write
Check-in
/api/v1/checkinEstadísticas de check-in: total, hoy, esta semana.
Scope requerido: read
/api/v1/checkinRegistra un check-in para un cliente. Body: { user_id }.
Scope requerido: write
Canjes (Redemptions)
/api/v1/redemptionsLista canjes. Filtrable por ?status= (pending, fulfilled, cancelled).
Scope requerido: read
/api/v1/redemptionsCrea un canje. Body: { user_id, reward_id }. Devuelve verification_code.
Scope requerido: write
Webhooks
/api/v1/webhooksLista todos los webhooks configurados.
Scope requerido: admin
/api/v1/webhooksCrea un nuevo webhook. Body: { url, events[] }. Genera un secret automáticamente.
Scope requerido: admin
/api/v1/webhooksActualiza un webhook. Body: { id, url?, events[]?, is_active? }.
Scope requerido: admin
/api/v1/webhooks?id=xxxElimina un webhook por ID.
Scope requerido: admin
Webhooks
Recibe notificaciones HTTP en tiempo real cuando ocurren eventos en tu programa. Cada delivery incluye una firma HMAC-SHA256 en el header X-Vuelora-Signature.
checkin.createdUn cliente completó un check-inredemption.createdUn cliente canjeó una recompensaredemption.fulfilledUn canje fue marcado como entregadocustomer.joinedUn nuevo cliente se unió al negociopoints.adjustedSe ajustaron puntos manualmenteimport crypto from "crypto";
function verifyWebhook(payload, signature, secret) {
const expected = crypto
.createHmac("sha256", secret)
.update(payload)
.digest("hex");
return crypto.timingSafeEqual(
Buffer.from(signature),
Buffer.from(expected)
);
}Servidor MCP
Vuelora incluye un servidor Model Context Protocol (MCP) que permite a agentes de IA como Claude o ChatGPT interactuar con tu programa de fidelización.
{
"mcpServers": {
"vuelora": {
"url": "https://vuelora.com/api/mcp",
"headers": {
"Authorization": "Bearer vl_tu_api_key"
}
}
}
}get_customersListar clientes con balance de puntosget_customer_pointsVer puntos de un cliente específicoadd_pointsAgregar o restar puntos a un clienteget_rewardsListar recompensas configuradascreate_checkinRegistrar un check-in para un clienteget_statsObtener estadísticas generales del negocioAcceso por plan
Cada plan define a qué endpoints puedes acceder. El plan Gratis no incluye acceso a la API.
| Endpoint | Pro | Enterprise |
|---|---|---|
| GET /customers | ✓ | ✓ |
| GET /points | ✓ | ✓ |
| POST /points | — | ✓ |
| GET /rewards | ✓ | ✓ |
| POST /rewards | — | ✓ |
| GET /checkin | ✓ | ✓ |
| POST /checkin | ✓ | ✓ |
| GET /redemptions | — | ✓ |
| POST /redemptions | — | ✓ |
| Webhooks (todos) | — | ✓ |
| MCP | — | ✓ |
¿Listo para integrar?
Crea tu API Key desde el dashboard y empieza a construir