Skip to main content

Integración de cronometraje (API)

Esta guía documenta cómo conectar Rocky Global con plataformas de cronometraje de terceros (Chronotrack, MyLaps y futuras integraciones) mediante la API de participantes.

Principio de diseño

Rocky Global utiliza el número de dorsal (BIB) como identificador principal del participante durante el check-in y las exportaciones operativas. El cruce con números de chip de cronometradores externos se resuelve fuera del flujo de check-in, típicamente añadiendo una columna adicional en Excel al exportar participantes. Esto evita duplicar registros y mantiene una sola fuente de verdad para inscripciones y entrega de kit.

Autenticación

La API usa Bearer Token (Laravel Sanctum) con scope organizer-api o supervisor-api.
Ver Activar acceso API y API de organizador.

Endpoints relevantes para cronometraje

GET /api/v1/organizer/participants

Obtiene participantes del organizador autenticado. Filtros útiles para cronometraje: Campos devueltos relevantes (vía ParticipantResource):
  • id — ID interno del participante
  • bib — Número de dorsal
  • locator — Localizador de inscripción (no cambia en transferencias)
  • details — Datos del formulario (nombre, documento, género, categoría, etc.)
  • competition_results — Resultados de competición (JSON, si ya fueron cargados)
  • observations / participation_notes — Notas operativas

POST /api/v1/organizer/participants

Actualiza participantes en lote. Campos permitidos para cronometradores:
  • bib — Ajustar dorsal si el proveedor externo reasignó números
  • competition_results — Cargar tiempos, posiciones, splits (JSON)
  • observations / participation_notes — Notas
  • details — Campos adicionales (por ejemplo, columna chip_id)
Campos prohibidos (se rechazan): evento_id, locator, order_id, user_id, status.
Para lotes mayores a 1000 registros, la API responde 202 Accepted y procesa en background.

Flujo recomendado con Chronotrack

  1. Antes del evento: exporta participantes con dorsal asignado vía API o Excel.
  2. En Chronotrack: importa la lista usando el dorsal como clave principal.
  3. Después de la carrera: envía tiempos y posiciones de vuelta con POST /participants, mapeando chip_id en details si es necesario.

Flujo con exportación Excel (sin API)

Si prefieres no integrar por API:
  1. Exporta participantes desde Inscripciones o Reportes.
  2. Añade una columna chip_id (o similar) para el cronometrador.
  3. Tras la carrera, importa resultados manualmente o vía API POST.

Consideraciones de seguridad

  • Los tokens API están restringidos al organizador_id del propietario.
  • Opcional: lista blanca de IPs en organizer_api_settings.
  • Rate limit configurable (por defecto 60 req/min).
  • Cada consulta queda registrada en los logs de API.

Soporte para nuevas integraciones

Para integraciones con MyLaps u otras plataformas, el mismo contrato de API aplica: dorsal como clave, competition_results para tiempos, details para metadatos del chip. Contacta a soporte@rocky.global si necesitas asistencia con un conector específico o volúmenes superiores a 20.000 participantes.

Referencias