Sportware

Recursos

Documentación

Guía completa de la plataforma Sportware para clubes, staff y jugadores.

API Móvil

Sportware expone una API REST completa para la aplicación móvil nativa y para integraciones de terceros. La documentación interactiva (OpenAPI) está disponible en https://sportware.dev/api-docs.


Autenticación

La API usa autenticación por token Bearer obtenido mediante el flujo de login por teléfono + OTP.

Flujo de Login

POST /api/login
{
  "phone": "+34612345678"
}
→ Envía SMS con código OTP

POST /api/login/verify
{
  "phone": "+34612345678",
  "code": "123456"
}
→ { "token": "Bearer xxxxxxxx" }

El token se incluye en todas las peticiones posteriores: Authorization: Bearer <token>


Endpoints Disponibles

Sesión

Método Endpoint Descripción
POST /api/login Solicitar OTP por teléfono
POST /api/login/verify Verificar OTP y obtener token
DELETE /api/logout Cerrar sesión

Perfil del Usuario

Método Endpoint Descripción
GET /api/me Obtener perfil del usuario autenticado
PATCH /api/me Actualizar datos del perfil
POST /api/me/push-token Registrar token para notificaciones push
DELETE /api/me/push-token Eliminar token de notificaciones push

Registro de Nuevos Usuarios

Método Endpoint Descripción
POST /api/register Crear nueva cuenta de jugador

Torneos

Método Endpoint Descripción
GET /api/tournaments Listado de torneos disponibles
GET /api/tournaments/:id Detalle de un torneo
GET /api/tournaments/mine Torneos del usuario autenticado
GET /api/tournaments/:id/matches Partidos de un torneo
GET /api/tournaments/:id/standings Clasificación de un torneo
POST /api/tournaments/:id/register Inscribirse en un torneo

Inscripciones

Método Endpoint Descripción
DELETE /api/registrations/:id Cancelar inscripción

Documentación OpenAPI

La especificación completa de la API está disponible en formato OpenAPI en:

GET /api/openapi

Esto permite generar clientes automáticamente para cualquier plataforma (iOS, Android, web).

Campo club.location

En las respuestas que incluyen un club, el campo location devuelve las coordenadas del club en formato:

[latitude, longitude]

Ejemplo:

"club": {
  "id": 2,
  "name": "North Padel Club",
  "country": "UY",
  "city": "Montevideo",
  "logo_url": "https://sportware.dev/rails/active_storage/blobs/redirect/...",
  "location": [-34.901112, -56.164532]
}

logo_url devuelve la URL pública del logo del club y será null si el club no tiene logo.

Si el club no tiene ambas coordenadas cargadas, location será null.


Aplicación Móvil

La app móvil de Sportware está disponible para iOS y Android. Conecta directamente con esta API y ofrece:

  • Login por teléfono (OTP)
  • Explorar torneos por club o zona geográfica
  • Inscribirse a torneos con tu pareja
  • Ver calendario de partidos propios
  • Recibir notificaciones push de resultados y cambios
  • Consultar clasificaciones en tiempo real

Para más información: https://sportware.dev/mobile-app