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
- Crea un token en Ajustes → Desarrollador o si eres club en el mismo portal.
- Guarda el token secreto. No se vuelve a mostrar.
- Usa los endpoints públicos para listar eventos.
- 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
- Consulta los eventos del club con GET /api/events/club/{slug}. Toma el id del evento.
- Obtén los productos con GET /api/wave/sqlite/productos?eventoId={eventoId}. (Requiere token de club para escritura, lectura es pública).
- Reserva carrito con POST /api/checkout/hold.
- Calcula el precio con POST /api/checkout/quote.
- Inicia el pago con POST /api/checkout/start y redirige al usuario a la URL de Stripe.
- 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.