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.
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étodo | Ruta | Uso |
|---|---|---|
| GET | /planes?producto=vitrina | Catá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 | /empresas | Alta empresa + tenant inactivo |
| POST | /demos | Demo 30 días (self-service) |
| POST | /pagos/confirmar | Activar 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étodo | Ruta | Uso |
|---|---|---|
| GET | /tenants | Listado SuperAdmin (q= búsqueda) |
| GET | /tenants/consulta?nit=&email= | Existe tenant / datos resumen |
| GET | /tenants/slug-disponible?slug= | Validación checkout PW |
| POST | /tenants | Crear tenant + admin (demo=true → 30 días) |
| PUT | /tenants/{id} | Activar post-pago, suspender, plan, métrica |
| POST | /tenants/procesar-vencimientos | Invocado por cron (también comando artisan local) |
Tras alta o activación se encola TenantWelcomeMail al administrador.