Documentación API Wave

Integra la red social, la ticketera y las APIs de club. Diseñado para una integración rápida y segura.

Primeros pasos

  1. Crea un token en Ajustes → Desarrollador o si eres club en el mismo portal.
  2. Guarda el token secreto. No se vuelve a mostrar.
  3. Usa los endpoints públicos para listar eventos.
  4. Para compras, usa el flujo de ticketera con Stripe.
Base URL: usa tu dominio principal. Ejemplo: https://tu-dominio.com/api/...

Autenticación (tokens Wave)

Cada token tiene dos partes: token de cuenta y token secreto. El secreto funciona como una contraseña. Puedes crear múltiples tokens y regenerar el secreto cuando quieras.

Headers recomendados
X-Wave-Account: wave_acc_xxxxxxxxx
X-Wave-Token: wave_sec_yyyyyyyyy
Alternativa en Authorization
Authorization: Wave wave_acc_xxxxxxxxx:wave_sec_yyyyyyyyy
Prueba rápida (conexión)
curl -X GET https://tu-dominio.com/api/events/city/madrid

Eventos públicos

  • GET /api/events/city/{city} · eventos por ciudad (solo publicados).
  • GET /api/events/club/{slug}?days=30 · próximos eventos del club.
  • GET /api/events/{id} · detalle de evento.

Ticketera: compra desde la web del club

  1. Consulta los eventos del club con GET /api/events/club/{slug}. Toma el id del evento.
  2. Obtén los productos con GET /api/wave/sqlite/productos?eventoId={eventoId}. (Requiere token de club para escritura, lectura es pública).
  3. Reserva carrito con POST /api/checkout/hold.
  4. Calcula el precio con POST /api/checkout/quote.
  5. Inicia el pago con POST /api/checkout/start y redirige al usuario a la URL de Stripe.
  6. Confirma el pago con POST /api/checkout/confirm.
Ejemplo: crear hold
POST /api/checkout/hold
Content-Type: application/json

{
  "eventoId": 123,
  "items": [
    { "productoId": 456, "cantidad": 2 }
  ],
  "cliente": {
    "nombre": "Ana",
    "email": "[email protected]"
  }
}
Respuesta
{
  "holdId": "...",
  "expiresAt": "2026-02-08T00:00:00.000Z"
}
Ejemplo: iniciar pago
POST /api/checkout/start
Content-Type: application/json

{
  "holdId": "...",
  "eventoId": 123,
  "items": [
    { "productoId": 456, "cantidad": 2 }
  ],
  "cliente": {
    "nombre": "Ana",
    "email": "[email protected]"
  }
}
Respuesta
{
  "url": "https://checkout.stripe.com/..."
}
Ejemplo: confirmar pago
POST /api/checkout/confirm
Content-Type: application/json

{ "sid": "cs_test_..." }
Respuesta
{
  "status": "pagada",
  "facturaId": 999,
  "codes": ["TCK_..."]
}

APIs Wave (club)

Estas rutas permiten a un club gestiónar eventos, productos y facturas. Para escritura usa tokens de club.

  • GET /api/wave/sqlite/eventos
  • POST /api/wave/sqlite/eventos
  • PATCH /api/wave/sqlite/eventos
  • DELETE /api/wave/sqlite/eventos
  • GET /api/wave/sqlite/productos?eventoId={id}
  • POST /api/wave/sqlite/productos
  • PATCH /api/wave/sqlite/productos
  • DELETE /api/wave/sqlite/productos
  • GET /api/wave/sqlite/facturas
  • POST /api/wave/sqlite/facturas

Red social

Endpoints básicos para feed y perfil.

  • GET /api/social/feed?publicOnly=1
  • GET /api/social/profile/{clienteId}
  • GET /api/social/reels/feed
  • POST /api/social/posts