API técnica — Vitrina

Referencia de integración entre HelpU PW/App y VitrinaApp. El token nunca se expone al navegador del visitante: PW llama al WS desde servidor.

v0.1.0 · 31 de agosto de 2026

1. Autenticación

En todas las peticiones al WS HelpU App y a la API interna de VitrinaApp:

Authorization: Bearer {HELPU_WS_TOKEN}
X-Helpu-Ws-Token: {HELPU_WS_TOKEN}

Mismo valor en HelpU/pw/lib/params.php, App/.env y VitrinaApp/.env.

2. WS comercial (HelpU App)

Base: HELPU_WS_URL (ej. https://app.helpu.com.co/api). Siempre incluir producto=vitrina donde aplique.

MétodoRutaUso
GET/planes?producto=vitrinaCatálogo de planes
GET/cotizar?producto=vitrina&plan=&productos=&periodo=Precio y flags requiere_cotizacion
GET/empresas/consulta?producto=vitrina&nit=Cliente existente y cupo
POST/empresasAlta empresa + tenant inactivo
POST/demosDemo 30 días (self-service)
POST/pagos/confirmarActivar tras Wompi (idempotente)

Detalle compartido con Huella/Habitta: manual WS App.

3. Health HelpU App

GET /api/health

Respuesta 200 con {"ok":true,"servicio":"helpu-ws","database":"ok"} si la BD responde. Usado por vitrina:verificar-produccion en VitrinaApp.

4. API interna VitrinaApp

Base: {VITRINA_APP_URL}/api/internal. Consumida por VitrinaAppClient en HelpU App.

Si VITRINA_APP_URL no está configurado, App puede escribir en SQLite local (DB_VITRINA_DATABASE) solo en desarrollo.

5. Rutas internas

MétodoRutaUso
GET/tenantsListado SuperAdmin (q= búsqueda)
GET/tenants/consulta?nit=&email=Existe tenant / datos resumen
GET/tenants/slug-disponible?slug=Validación checkout PW
POST/tenantsCrear tenant + admin (demo=true → 30 días)
PUT/tenants/{id}Activar post-pago, suspender, plan, métrica
POST/tenants/procesar-vencimientosInvocado por cron (también comando artisan local)

Tras alta o activación se encola TenantWelcomeMail al administrador.