Documentacion API

Referencia tecnica de los endpoints disponibles en ANALYZE. Todas las peticiones requieren autenticacion JWT.

REST API JSON JWT Auth

Base URL

https://tu-dominio.com/api

Todas las respuestas siguen el formato {"success": boolean, ...data}

Autenticacion

Todas las peticiones deben incluir un token JWT en el header Authorization: Bearer {token}.

POST /api/login-simple

Iniciar sesion y obtener token JWT.

Body:

{
  "email": "usuario@ejemplo.com",
  "password": "tu_password"
}

Respuesta:

{
  "success": true,
  "token": "eyJhbGciOiJIUzI1...",
  "user": { "id": "uuid", "nombre": "...", "tipo_usuario": "jugador" }
}
POST /api/register

Registrar un nuevo usuario (jugador o analista). Requiere nombre, email, password y tipo_usuario.

Usuarios

GET /api/user/:id

Obtener informacion del perfil de un usuario.

PUT /api/user/:id

Actualizar perfil del usuario (nombre, foto, posicion, etc.).

GET /api/analistas

Listar analistas disponibles con filtros opcionales (idioma, especialidad, precio, tier).

Citas

POST /api/appointments

Crear una nueva cita/sesion con un analista. Requiere analyst_id, fecha y hora.

GET /api/appointments/:userId

Obtener todas las citas de un usuario (jugador o analista).

GET /api/analyst-availability/:analystId

Obtener franjas horarias disponibles de un analista para una fecha determinada.

DELETE /api/appointments/:id

Cancelar una cita existente (debe ser con mas de 24h de antelacion).

Paquetes

GET /api/paquetes/:userId

Obtener paquetes de sesiones de un usuario.

GET /api/paquetes/:paqueteId/historial

Obtener historial de uso de un paquete especifico.

POST /api/paquetes/comprar

Comprar un nuevo paquete de sesiones. Inicia flujo de pago con Stripe Checkout.

Pagos

POST /api/create-checkout-session

Crear una sesion de pago Stripe Checkout. Soporta multiples monedas (EUR, USD, MXN, ARS, COP, CLP).

GET /api/payment-history/:userId

Obtener historial de pagos de un usuario con detalles de cada transaccion.

Videollamadas

POST /api/daily/create-room

Crear una sala de videollamada Daily.co para una sesion. Se genera automaticamente al confirmar una cita.

GET /api/daily/room/:appointmentId

Obtener URL de la sala de videollamada para una cita especifica.

Nota

Esta documentacion es una referencia general. Para documentacion interactiva completa con ejemplos de request/response, consulta /api-documentation.