La API pública de Pranarp Club es una API JSON sobre HTTPS. Pranarp Club es la fuente de verdad de espacios, horarios, precios y reservas; tu sistema lo es de tus clientes y de los cobros. Esta guía te lleva de cero a tu primera llamada.
1. Activa las integraciones
El acceso a la API es una función de pago del club (un complemento) llamada integrations. Si tu club todavía no la tiene, pídela a nuestro equipo en hello@pranarp.com. Mientras no esté activa, toda llamada responde 403 con el código feature_disabled.
Para hacer pruebas sin tocar los datos reales de un club, mira el entorno de pruebas.
2. Crea una credencial
- Entra en el panel del club con un usuario que tenga el permiso
integrations.manage(«Manage Integrations»), que por defecto solo tiene el rol Owner (propietario) del club. - Ve a Ajustes → Integraciones.
- En Crear credencial, pon un nombre (por ejemplo «Web del club»), elige los permisos que necesitas y, si quieres, limita la credencial a algunos espacios y ponle una fecha de caducidad.
- Copia el token (
pck_live_…). Se muestra una sola vez: si lo pierdes, revoca la credencial y crea otra.
Guarda el token como secreto en tu servidor. No lo pongas nunca en código que se ejecute en un navegador o en una app móvil. Los permisos disponibles se explican en Autenticación.
3. Tu primera llamada
La URL base es el mismo host que usas para entrar al panel, con el prefijo /api/v1. En los ejemplos de estas guías usamos dos variables de entorno:
export PRANARP_URL="https://tu-instalacion.example" # el host de tu Pranarp Club
export PCK_TOKEN="pck_live_xxxxxxxxxxxxxxxx" # el token que acabas de copiar
Comprueba que el token funciona con GET /me, que no necesita ningún permiso especial:
curl -s "$PRANARP_URL/api/v1/me" \
-H "Authorization: Bearer $PCK_TOKEN" \
-H "Accept: application/json"
Respuesta:
{
"data": {
"name": "Web del club",
"token_prefix": "pck_live_AbCd1234",
"abilities": ["spaces:read", "availability:read", "bookings:read", "bookings:write"],
"space_ids": null,
"expires_at": null,
"club": { "id": 12, "name": "Club Pàdel Demo" }
}
}
space_ids: null significa que la credencial puede usar todos los espacios del club. Si recibes 401 o 403, revisa la guía de errores.
4. Siguiente paso: lista los espacios
Con el permiso spaces:read:
curl -s "$PRANARP_URL/api/v1/spaces?limit=10" \
-H "Authorization: Bearer $PCK_TOKEN"
A partir de ahí, el flujo habitual de una integración de reservas es:
- Listar espacios y consultar su disponibilidad.
- Sincronizar los jugadores con
PUT /players/{external_ref}. - Crear la reserva con
POST /bookingsenviando una cabeceraIdempotency-Key. - Recibir los cambios por webhooks en lugar de consultar la API continuamente.
La referencia de la API describe cada operación, y el historial de cambios recoge las novedades.