Inicio/Documentación/API Reference
REST APIv1.0

API Reference

La API REST de SP Factory Platform está protegida mediante autenticación Supabase. Todos los endpoints requieren un token de sesión válido en la cookie de sesión.

Base URL

producción: https://myspfactory.com
desarrollo: http://localhost:3000

Autenticación

La autenticación se gestiona mediante Supabase Auth. El token de sesión se transmite automáticamente vía cookie HTTP-only cuando el usuario inicia sesión a través del cliente de Supabase.

# Login via Supabase client

const { data, error } = await supabase.auth.signInWithPassword({

email: 'usuario@ejemplo.com',

password: 'contraseña',

});

# La sesión se propaga automáticamente a los API routes

Todos los endpoints verifican el rol del usuario antes de ejecutar la operación. Asegúrate de que la cuenta tiene el rol requerido para cada endpoint.

Rate Limiting

Ventana de tiempo

60 segundos

Máx. peticiones

5 req / IP

Header de retry

Retry-After (segundos)

Al superar el límite, la API devuelve HTTP 429 Too Many Requests con el mensaje "error": "Too many requests. Please try again later."

Endpoints

POST/api/consultoria/book
VIPUSERSTAFFADMINSUPERADMIN

Reserva un slot de consultoría 1:1 disponible.

Request Body (JSON)

{

"slotId": "string (UUID)"

}

Respuestas

200

Reserva confirmada

{ "ok": true, "slot": { ... }, "emailSent": true, "message": "..." }
400

slotId inválido o faltante

{ "error": "slotId inválido" }
401

No autenticado

{ "error": "Unauthorized" }
403

Rol insuficiente

{ "error": "Forbidden: solo usuarios VIP pueden reservar" }
404

Slot no disponible

{ "error": "Slot no disponible o no encontrado" }
GET/api/admin/migrations
SUPERADMIN

Verifica el estado de columnas y tablas en la base de datos.

Respuestas

200

Estado de migraciones

{ "columns": [...], "tables": [...] }
401

No autenticado

{ "error": "Unauthorized" }
403

Solo SUPERADMIN

{ "error": "Forbidden: solo SUPERADMIN" }
POST/api/admin/migrations
SUPERADMIN

Aplica una migración SQL via Supabase Management API. Requiere PAT configurado.

Request Body (JSON)

{

"sql": "string"

"migrationName": "string"

}

Respuestas

200

Migración aplicada

{ "ok": true, "migrationName": "..." }
400

SQL vacío o nombre faltante

{ "error": "SQL y migrationName son requeridos" }
500

Error en la migración

{ "error": "Error aplicando migración: ..." }
GET/api/mcp-config
SUPERADMIN

Devuelve la configuración MCP del proyecto para el usuario autenticado.

Respuestas

200

Configuración MCP

{ "supabaseUrl": "...", "vercelProjectId": "...", ... }
401

No autenticado

{ "error": "Unauthorized" }

Códigos de Error Estándar

CódigoSignificado
400Bad Request
401Unauthorized
403Forbidden
404Not Found
429Too Many Requests
500Internal Server Error

¿Necesitas más información?

Consulta la documentación completa del sistema o accede directamente a la plataforma.