P@ssID · Integración para clubes

Conecta tu club con las canchas con video

Aparta canchas para tus jugadores con su teléfono, como lo haría tu recepción. Al llegar escanean el QR, entran con su WhatsApp y reciben el video de cada set y cada repetición.

Todo en un lugar

Cómo empezar

  1. El dueño del club crea una llave en app.passid.com.mx → Mi club → Cámaras → «API del club». Empieza con cbk_, se ve una sola vez, vence a los 90 días y se puede revocar cuando quieras.
  2. Prueba la llave:
    curl https://mi.passid.com.mx/api/club/v1/me \
      -H "Authorization: Bearer cbk_TU_LLAVE" \
      -H "X-Request-Id: prueba-0001"
  3. Aparta una cancha:
    curl -X POST https://mi.passid.com.mx/api/club/v1/reservations \
      -H "Authorization: Bearer cbk_TU_LLAVE" \
      -H "X-Request-Id: CARB-000123-1" \
      -H "Content-Type: application/json" \
      -d '{"court":"carbono-cancha-01","startUtc":"2026-11-02T18:00:00-06:00",
           "minutes":60,"phone":"3312345678","name":"Pepe","externalId":"CARB-000123"}'

El contrato

🔑 Llave

Authorization: Bearer cbk_… — de un solo club, vence y se revoca.

🧾 Tu ID en cada llamada

X-Request-Id obligatorio. Te lo regresamos; si repites un POST/DELETE con el mismo, te damos la respuesta original sin duplicar.

✅ Éxito = 200

Con tu requestId y nuestro reservationId: así se vinculan los dos sistemas. Manda también tu externalId.

🔎 Rastreo

GET /requests/{id} dice qué pasó con una solicitud; GET /logs trae respuesta, código y segundos de cada llamada (hoy por defecto).

⏱️ Límite

120 llamadas por minuto por llave.

🔌 MCP para agentes de IA

URL https://mi.passid.com.mx/mcp con la misma llave. Herramientas: club_info, list_courts, check_availability, create_reservation, get_reservation, list_reservations, cancel_reservation, request_status, call_log.

{ "mcpServers": { "passid-club": {
    "type": "http", "url": "https://mi.passid.com.mx/mcp",
    "headers": { "Authorization": "Bearer cbk_TU_LLAVE" } } } }
📨 Webhook: los clips de regreso

En Mi club → Cámaras → «Webhook del club» el dueño pone una URL https y un secreto. Cada clip y repetición llega como clip.ready con la cancha, los videos (URL de 1 hora) y quién lo recibió.

Firma: X-PassID-Signature: sha256=HMAC(secreto, "{timestamp}.{cuerpo}") con X-PassID-Timestamp. Verifícala y revisa que el timestamp sea reciente.