Endpoints bien documentados según especificaciones técnicas. API RESTful completa para MP ANALYZE - Elevate Your Game.
https://your-domain.com/api
v1.0
JSON
POST /api/users
{
"email": "usuario@email.com",
"password": "password123",
"role": "player" // "player", "analyst", "admin"
}
{
"success": true,
"data": {
"id": 1,
"email": "usuario@email.com",
"role": "player",
"estado": "activo",
"createdAt": "2025-07-04T10:30:00Z"
}
}
POST /api/auth/login
{
"email": "usuario@email.com",
"password": "password123"
}
{
"success": true,
"data": {
"user": { /* user object */ },
"token": "jwt_token_here",
"expiresIn": 3600
}
}
GET /api/athletes/{id}
{
"success": true,
"data": {
"id": 1,
"nombre": "Carlos Rodríguez",
"edad": 22,
"nacimiento": "2003-05-15",
"nacionalidad": "Argentina",
"posicionPrincipal": "Delantero",
"pierna": "Derecha",
"altura": 1.78,
"peso": 75.5,
"club": "River Plate",
"categoria": "Primera División",
"foto": "url_foto.jpg"
}
}
POST /api/athletes
{
"id": 1, // FK a users
"nombre": "Carlos Rodríguez",
"edad": 22,
"nacimiento": "2003-05-15",
"nacionalidad": "Argentina",
"posicionPrincipal": "Delantero",
"pierna": "Derecha", // pierna dominante
"altura": 1.78,
"peso": 75.5,
"club": "River Plate", // club actual
"categoria": "Primera División", // nivel competitivo
"foto": "base64_image_data" // fotografía
}
GET /api/analysts?ciudad={city}&especialidad={specialty}&precio={price}&valoracion={rating}&disponibilidad={availability}
ciudad - Filtro por ciudadespecialidad - Filtro por especialidad deportivaprecio - Filtro por rango de preciovaloracion - Filtro por valoración mínimadisponibilidad - Filtro por disponibilidadPOST /api/analysts
{
"id": 2, // FK a users
"especialidades": "Fútbol, Análisis técnico, Desarrollo juvenil",
"experiencia": "5 años como entrenador profesional",
"videoUrl": "https://daily.co/presentation-video", // video presentación
"diplomas": "Licencia UEFA Pro, Máster en Ciencias del Deporte",
"idiomas": "Español, Inglés, Francés",
"metodologias": "Análisis de video, Entrenamiento personalizado",
"software": "Hudl, Wyscout, Tableau", // software especializado
"estadoVerificacion": "pendiente", // aprobación admin
"horariosConfig": { // configuración avanzada horarios
"lunes": ["09:00-12:00", "14:00-18:00"],
"martes": ["10:00-16:00"],
"tipos_cita": ["diagnostico", "seguimiento", "revision_partido"]
}
}
POST /api/appointments
{
"playerId": 1,
"analystId": 2,
"tipoSesion": "diagnostico", // diagnóstico, seguimiento, revisión partido, informe personalizado
"fechaHora": "2025-07-05T15:00:00Z",
"duracion": 60, // minutos
"estado": "pendiente" // pendiente, confirmada, cancelada, completada
}
POST /api/appointments/{appointmentId}/start
{
"success": true,
"message": "Sesión iniciada",
"appointment": {
"id": 1,
"startTime": "2025-07-05T15:00:00Z",
"estado": "en_progreso"
}
}
POST /api/appointments/{appointmentId}/end
{
"success": true,
"message": "Sesión finalizada",
"appointment": {
"id": 1,
"endTime": "2025-07-05T16:00:00Z",
"duration": 60, // minutos calculados automáticamente
"estado": "completada"
},
"duration": 60
}
GET /api/daily/room/{appointmentId}
{
"success": true,
"roomUrl": "https://your-subdomain.daily.co/analyze-room-1",
"roomName": "analyze-room-1", // formato: analyze-room-{appointment_id}
"appointmentId": "1"
}
DAILY_API_KEY - Clave API de Daily.coDAILY_SUBDOMAIN - Subdominio de Daily.coPOST /api/payments
{
"appointmentId": 1,
"playerId": 1,
"stripePaymentId": "pi_1234567890",
"monto": 45.00,
"estado": "completed"
}
Nota: Según especificaciones, los pagos son obligatorios antes de confirmar cualquier cita.
POST /api/reviews
{
"appointmentId": 1,
"playerId": 1,
"estrellas": 5, // 1-5 estrellas según especificaciones
"comentario": "Excelente análisis técnico, muy detallado",
"moderado": false // moderación manual por administrador
}
Validación: Solo usuarios que hayan tenido sesión pueden opinar. Promedio visible en perfil del analista.
POST /api/chat/{appointmentId}/messages
{
"appointmentId": 1,
"creadoPor": 1, // user ID
"mensaje": "Hola, estoy listo para la sesión",
"attachments": "url_archivo_adjunto.pdf" // opcional
}
GET /api/chat/{appointmentId}/messages
{
"success": true,
"count": 2,
"data": [
{
"id": 1,
"appointmentId": 1,
"creadoPor": 1,
"mensaje": "Hola, estoy listo para la sesión",
"attachments": null,
"createdAt": "2025-07-05T14:55:00Z"
}
]
}
{
"success": false,
"error": "Descripción del error",
"code": "ERROR_CODE",
"details": {
"field": "validation_error"
}
}
Company: MP Analyze LLC (QFZA)
Platform: MP ANALYZE - Elevate Your Game
Status: API Fully Documented