Prana Om API

v2.241 · Arquitectura, Programación & Diseño por Gothy.xyz
Sistema Online
Endpoints
Método Ruta Acceso Descripción
Health
GET /ping Público Health check — retorna { "message": "Pong!" }
Auth — /auth
POST /auth/google Público Registro / login con Google OAuth
POST /auth/manual Público Envía un Magic Link por email (passwordless)
GET /auth/verify-magic-link Público Verifica el token del Magic Link y completa el login
GET /auth/me Autenticado Devuelve los datos de la sesión actual
POST /auth/logout Público Cierra la sesión actual
User — /user
GET /user/dashboard Autenticado Datos agregados del dashboard del usuario
PUT /user/profile Autenticado Actualiza perfil y preferencias de notificación
POST /user/membership/cancel Autenticado Cancela la membresía activa
POST /user/membership/upgrade Autenticado Upgrade de plan de membresía
POST /user/request-deletion Autenticado Solicita el código de eliminación de cuenta
POST /user/confirm-deletion Autenticado Confirma y ejecuta la eliminación de cuenta
PATCH /user/notifications/:id/read Autenticado Marca una notificación como leída
GET /user/vip/status Autenticado Estado de la solicitud / acceso VIP
POST /user/vip/request Autenticado Envía documentación para solicitar acceso VIP (multipart)
GET /user/admin/vip-requests Manager Listado de solicitudes VIP pendientes (módulo Masajes)
POST /user/admin/vip-review Manager Aprueba o rechaza una solicitud VIP (módulo Masajes)
Payments — /payments
GET /payments/plans Público Lista los planes de membresía disponibles
GET /payments/status Autenticado Estado del pago / membresía actual del usuario
POST /payments/create-preference Autenticado Crea una preferencia de pago en MercadoPago
POST /payments/transfer Autenticado Sube comprobante de transferencia (multipart)
POST /payments/webhook Webhook Recibe notificaciones IPN de MercadoPago
POST /payments/transfer/:id/approve Owner Aprueba una transferencia de membresía (legacy — usar /admin/transfers)
Reservations — /reservations
GET /reservations/schedule Público Horario semanal de clases (leído desde DB)
GET /reservations/masaje/booked-slots Público Slots ocupados para reservar masajes
POST /reservations/masaje Público Reserva un masaje (auto-registra al usuario si hace falta)
POST /reservations/masaje/:id/receipt Público Sube comprobante de pago de un masaje
POST /reservations/evento Público Inscribe a un evento o retiro
POST /reservations/evento/:id/receipt Público Sube comprobante de pago de un evento
POST /reservations/enroll Autenticado Inscribe al usuario en una o varias clases del ciclo
GET /reservations/my-classes Autenticado Clases en las que está inscripto el usuario
GET /reservations/check-subscription Público Verifica si un email tiene membresía activa (biblioteca)
POST /reservations/:id/approve Owner Aprueba una reserva con pago por transferencia (legacy)
Courses On Demand — /courses
GET /courses/active Público Lista los cursos on-demand activos
POST /courses/webhook Webhook Notificación de pago de cursos (MercadoPago)
GET /courses/:id/access Autenticado Verifica si el usuario tiene acceso al curso
GET /courses/:id/purchase-status Autenticado Estado de compra del curso para el usuario
POST /courses/:id/progress Autenticado Marca progreso de una lección (idempotente)
POST /courses/:id/create-preference Autenticado Crea preferencia MP para comprar el curso
POST /courses/:id/transfer Autenticado Sube comprobante de transferencia para comprar el curso
GET /courses/admin/list Manager Listado de cursos (módulo Cursos)
GET /courses/admin/:id Manager Detalle completo de un curso (módulo Cursos)
POST /courses/admin Manager Crea un nuevo curso (módulo Cursos)
PUT /courses/admin/:id Manager Actualiza un curso (módulo Cursos)
DELETE /courses/admin/:id Manager Elimina un curso (módulo Cursos)
PUT /courses/admin/:id/activate Manager Marca un curso como activo (módulo Cursos)
POST /courses/admin/upload-image Manager Sube imagen del curso (módulo Cursos)
POST /courses/admin/upload-video Manager Sube video de una lección (módulo Cursos)
POST /courses/admin/transfer/:txId/approve Manager Aprueba una transferencia de curso (legacy — usar /admin/transfers)
Contenido público — /admin/public
GET /admin/public/eventos Público Eventos y retiros activos / pasados
GET /admin/public/formaciones Público Programas de formación publicados
GET /admin/public/faqs Público Preguntas frecuentes
GET /admin/public/testimonios Público Testimonios de alumnas
GET /admin/public/journal Público Documentos de la biblioteca
POST /admin/public/newsletter/subscribe Público Suscribe un email al newsletter
POST /admin/public/newsletter/unsubscribe Público Da de baja un email del newsletter
Gestión de Clases — /admin/clases
GET /admin/clases Manager Listado de clases (módulo Clases)
GET /admin/clases/stats Manager Estadísticas de inscripciones (módulo Clases)
POST /admin/clases Manager Crea una clase (módulo Clases)
PUT /admin/clases/:id Manager Actualiza una clase (módulo Clases)
DELETE /admin/clases/:id Manager Elimina una clase (módulo Clases)
GET /admin/clases/:id/enrolled Manager Inscriptas a una clase (módulo Clases)
POST /admin/clases/:id/email Manager Envía un email a las inscriptas (módulo Clases)
Eventos y Retiros — /admin/eventos
GET /admin/eventos Manager Listado de eventos (módulo Eventos)
POST /admin/eventos Manager Crea un evento (módulo Eventos)
POST /admin/eventos/upload-image Manager Sube imagen de un evento (módulo Eventos)
PUT /admin/eventos/:id Manager Actualiza un evento (módulo Eventos)
DELETE /admin/eventos/:id Manager Elimina un evento (módulo Eventos)
GET /admin/eventos/:id/enrolled Manager Inscriptas a un evento (módulo Eventos)
Formaciones — /admin/formaciones
GET /admin/formaciones Manager Listado de programas de formación (módulo Formaciones)
POST /admin/formaciones Manager Crea un programa (módulo Formaciones)
PUT /admin/formaciones/:id Manager Actualiza un programa (módulo Formaciones)
DELETE /admin/formaciones/:id Manager Elimina un programa (módulo Formaciones)
GET /admin/formaciones/:id/enrolled Manager Inscriptas en un programa (módulo Formaciones)
Contenido (FAQs / Testimonios / Biblioteca) — /admin
GET /admin/faqs Manager Listado de FAQs (módulo FAQs)
POST /admin/faqs Manager Crea una FAQ (módulo FAQs)
PUT /admin/faqs/:id Manager Actualiza una FAQ (módulo FAQs)
DELETE /admin/faqs/:id Manager Elimina una FAQ (módulo FAQs)
GET /admin/testimonios Manager Listado de testimonios (módulo Testimonios)
POST /admin/testimonios Manager Crea un testimonio (módulo Testimonios)
PUT /admin/testimonios/:id Manager Actualiza un testimonio (módulo Testimonios)
DELETE /admin/testimonios/:id Manager Elimina un testimonio (módulo Testimonios)
GET /admin/journal Manager Listado de documentos de biblioteca (módulo Biblioteca)
POST /admin/journal Manager Crea un documento (módulo Biblioteca)
POST /admin/journal/upload Manager Sube un archivo a la biblioteca (módulo Biblioteca)
PUT /admin/journal/:id Manager Actualiza un documento (módulo Biblioteca)
DELETE /admin/journal/:id Manager Elimina un documento (módulo Biblioteca)
Newsletter — /admin/newsletter
GET /admin/newsletter/subscribers Manager Listado de suscriptas (módulo Newsletter)
POST /admin/newsletter/add Manager Añade una suscripta manual (módulo Newsletter)
DELETE /admin/newsletter/:id Manager Elimina una suscripta (módulo Newsletter)
POST /admin/newsletter/send Manager Envía una campaña (módulo Newsletter)
Masajes — /admin/masajes
GET /admin/masajes/reservations Manager Listado de reservas de masaje (módulo Masajes)
PUT /admin/masajes/reservations/:id Manager Actualiza el estado de una reserva (módulo Masajes)
Transferencias — /admin/transfers
GET /admin/transfers?status=pending|approved|rejected|all Owner Lista unificada de pagos por transferencia (membresías, cursos y reservas)
POST /admin/transfers/:kind/:id/approve Owner Aprueba un pago manual y provisiona el acceso correspondiente (kind: membership, course, reservation)
POST /admin/transfers/:kind/:id/reject Owner Rechaza un pago manual y notifica a la usuaria (body opcional: { reason })
Gestión de equipo — /admin/admins
GET /admin/admins Owner Listado del equipo del panel
GET /admin/admins/search-users Owner Busca usuarias para sumar al equipo
POST /admin/admins/set-role Owner Asigna o quita el rol de Manager
POST /admin/admins/set-permissions Owner Configura los módulos a los que accede una Manager
Upload — /admin/upload
POST /admin/upload?folder=... Manager Subida genérica de archivos a Cloudinary