{"success":true,"message":"Bienvenido a Futbol Para Todos Backend API","version":"1.0.0","endpoints":{"health":"/health","auth":{"prefix":"/api/auth","description":"Autenticación y autorización","routes":["POST /register - Registrar nuevo usuario","POST /login - Iniciar sesión","POST /logout - Cerrar sesión","POST /refresh - Renovar token","POST /forgot-password - Recuperar contraseña","POST /reset-password - Restablecer contraseña"]},"users":{"prefix":"/api/users","description":"Gestión de usuarios","routes":["GET /profile - Obtener perfil del usuario","PUT /profile - Actualizar perfil del usuario","GET /:id - Obtener usuario por ID","PUT /:id - Actualizar usuario","DELETE /:id - Eliminar usuario"]},"notifications":{"prefix":"/api/notifications","description":"Sistema de notificaciones","routes":["GET / - Listar notificaciones","POST / - Crear notificación","PUT /:id/read - Marcar como leída","DELETE /:id - Eliminar notificación"]},"bancolombia":{"prefix":"/api/bancolombia","description":"Integración con Bancolombia para tokenización y fuentes de pago","routes":["POST /create-token - Crear token de Bancolombia","GET /token-status/:tokenId - Consultar estado del token","POST /create-payment-source - Crear fuente de pago"]},"nequi":{"prefix":"/api/nequi","description":"Integración con Nequi para tokenización y fuentes de pago","routes":["POST /tokenize - Tokenizar cuenta Nequi","GET /token-status/:tokenId - Consultar estado del token de Nequi","POST /create-payment-source - Crear fuente de pago completa de Nequi"]},"daviplata":{"prefix":"/api/daviplata","description":"Integración con DaviPlata para tokenización y fuentes de pago","routes":["POST /tokenize - Tokenizar cuenta DaviPlata","GET /token-status/:tokenId - Consultar estado del token de DaviPlata","POST /create-payment-source - Crear fuente de pago completa de DaviPlata"]},"subscriptionPlans":{"prefix":"/api/subscription-plans","description":"Gestión de planes de suscripción","routes":["GET / - Obtener todos los planes de suscripción activos","GET /:planId - Obtener plan de suscripción por ID"]},"wallet":{"prefix":"/api/wallet","description":"Gestión de billetera y comisiones","routes":["GET /balance - Obtener saldo disponible, comisiones pagadas y pendientes","GET /data - Saldo y transacciones","POST /recharge - Recarga Wompi","GET /disbursement-requests - Listar solicitudes de desembolso activas (pendiente/aprobada)","POST /disbursement-requests - Crear solicitud de desembolso","GET /disbursement-requests/operations - Listado operaciones (JWT superadmin)","GET /disbursement-requests/operations/:id - Detalle operaciones (JWT superadmin)","GET /disbursement-requests/operations/:id/context - Contexto solicitante + cuentas + saldo (JWT superadmin)","GET /disbursement-requests/:id - Detalle de solicitud propia","PATCH /disbursement-requests/:id/status - Actualizar estado (JWT + X-Operations-Secret o JWT superadmin)"]},"company":{"prefix":"/api/company","description":"Ledger empresa (consola superadmin)","routes":["GET /balance - Saldo ledger (JWT superadmin)","GET /ledgers - Ledger gerencial + resumen ingresos históricos por tablaOrigen + suscripciones activas (JWT superadmin)"]},"adminUsers":{"prefix":"/api/admin","description":"Administración de usuarios (JWT superadmin)","routes":["GET /users/roles - Ítems activos rol_usuario","GET /users - Listado filtrable paginado","GET /users/:id - Detalle","PATCH /users/:id - Actualizar (whitelist)","PATCH /users/:id/password - Nueva contraseña"]},"adminLocations":{"prefix":"/api/admin","description":"Ubicaciones (país → departamento → ciudad → barrio, JWT superadmin)","routes":["GET|POST /locations/countries - listar/crear; GET|PATCH /locations/countries/:id - detalle/editar","GET|POST /locations/states - listar (query countryId) / crear; GET|PATCH /locations/states/:id","GET|POST /locations/cities - listar (query stateId) / crear; GET|PATCH /locations/cities/:id","GET|POST /locations/neighborhoods - listar (query cityId) / crear; GET|PATCH /locations/neighborhoods/:id"]},"geoLocations":{"prefix":"/api/geo","description":"Listados geográficos activos para la app (sin JWT)","routes":["GET /countries - países activos (q, page, limit)","GET /states - departamentos activos (countryId obligatorio; q, page, limit)","GET /cities - ciudades activas (stateId obligatorio; q, page, limit)","GET /neighborhoods - barrios activos (cityId obligatorio; q, page, limit)"]},"webhooks":{"prefix":"/api/webhooks","description":"Webhooks externos para eventos de pago e integraciones","routes":["POST /wompi - Recibir notificaciones de transacciones Wompi"]},"userSubscriptions":{"prefix":"/api/user-subscriptions","description":"Gestión de suscripciones y fuentes de pago del usuario","routes":["GET / - Obtener suscripciones y fuentes de pago del usuario autenticado","POST / - Crear nueva suscripción","POST /cancel - Cancelar suscripción activa del usuario autenticado","PUT / - Actualizar suscripción"]},"profile":{"prefix":"/api/profile","description":"Gestión de perfilación y creación de cuenta con perfil","routes":["POST /create-user-with-profile - Crear usuario con perfilación (acepta FormData con archivos)"]},"validation":{"prefix":"/api/validation","description":"Validaciones independientes para email, teléfono y documento","routes":["POST /email - Validar si un correo electrónico está disponible","POST /telefono - Validar si un teléfono está disponible","POST /documento - Validar si un documento está disponible para un tipo y país"]},"contracts":{"prefix":"/api/contracts","description":"Gestión de contrataciones","routes":["POST / - Crear una nueva contratación"]},"ratings":{"prefix":"/api/ratings","description":"Gestión de calificaciones","routes":["POST / - Crear una nueva calificación para un contrato"]},"events":{"prefix":"/api/events","description":"Gestión de eventos","routes":["POST / - Crear un nuevo evento (requiere autenticación, acepta FormData con imagen)"]},"whatsapp":{"prefix":"/api/whatsapp","description":"Envío de mensajes de WhatsApp usando Facebook Graph API","routes":["POST /send-message - Enviar mensaje de WhatsApp usando plantillas"]}}}