WITHMIA v1.0.9 — Diferenciación Business + Analíticas IA
Diferenciación real entre planes Pro/Business/Enterprise en el frontend. Dashboard de uso IA exclusivo para Business+, exportación CSV de métricas, badges de plan y canal API habilitado para Business.
Equipo WITHMIA
WITHMIA
La v1.0.8 cerró las brechas de enforcement en todos los endpoints. La v1.0.9 resuelve el siguiente problema: no había diferenciación visible entre planes en el frontend. Un usuario Business pagando $44.990/mes veía exactamente lo mismo que uno Pro de $24.990.
El problema: frontend binario
Hasta v1.0.8, el frontend solo distinguía entre “tiene suscripción” (isPro = true) y “no tiene” (isPro = false). No existía diferencia visible entre un usuario Pro, Business o Enterprise:
- Sin badge de plan en el sidebar
- Sin métricas exclusivas para planes superiores
- Sin exportación de datos
- El canal API estaba vendido en la landing pero faltaba en
billing.phppara Business
¿Qué significaba esto?
Que el plan Business no justificaba su precio. Un cliente pagando el doble que Pro no recibía más valor visible en la plataforma.
Solución: detección de tier y features gateadas
planLevel: detección exacta del plan
Se reemplazó el binario isPro con un sistema de 4 niveles:
const planLevel = useMemo(() => {
if (isSuperAdminResolved) return 'enterprise';
if (!isPro) return 'free';
const name = (planInfo?.name || '').toLowerCase();
if (name.includes('enterprise')) return 'enterprise';
if (name.includes('business')) return 'business';
return 'pro';
}, [isSuperAdminResolved, isPro, planInfo?.name]);
const isBusinessPlus = planLevel === 'business' || planLevel === 'enterprise';
Ahora cada componente puede condicionar features según el tier exacto.
Badges de plan en sidebar
Los usuarios Business ven un badge violeta con ícono Building2, y los Enterprise uno púrpura con Crown, junto al número de versión en el sidebar. Los usuarios Pro y Free no ven badge (su plan ya está implícito).
Dashboard de uso IA: exclusivo Business+
La sección Inteligencia Artificial aparece solo para usuarios Business y Enterprise. Consulta /api/subscription/usage y muestra 4 tarjetas en tiempo real:
| Tarjeta | Qué muestra |
|---|---|
| Mensajes IA | Barra de progreso con colores dinámicos (verde → ámbar → rojo según %), mensajes restantes del límite |
| Tokens usados | Total en K con desglose input/output |
| Costo IA estimado | En USD, período de facturación actual |
| Excedentes | Packs de overage usados + costo en CLP, o “Dentro del plan” si no hay excedentes |
Colores de la barra de progreso
- Verde (
< 70%): uso normal - Ámbar (
70-90%): advertencia de consumo alto - Rojo (
> 90%): cercano al límite
Upsell para Pro
Los usuarios Pro no ven la sección de IA, pero sí ven un banner con ícono Crown invitando a subir a Business para desbloquear analíticas avanzadas, tracking de tokens, costos estimados y exportación CSV.
Exportación CSV de métricas
Los usuarios Business+ pueden exportar todas las métricas del dashboard con un clic en el botón “Exportar CSV” (violeta). El archivo incluye:
- Resumen general: conversaciones totales/abiertas/resueltas, mensajes, tiempo promedio de respuesta
- Uso de IA: mensajes usados/límite, porcentaje, tokens input/output, costo estimado USD
- Ventas: revenue total, órdenes, tasa de conversión
- Top 10 contactos por volumen de mensajes
El botón tiene gating por plan:
- Business+ → botón violeta “Exportar CSV” funcional
- Pro → indicador gris con candado “Exportar”
- Free → oculto
Canal API habilitado para Business
Se detectó una inconsistencia: tanto la landing page como SubscriptionPage prometían “Todos los canales + API” para Business, pero el canal 'api' no estaba en el array de canales del plan Business en billing.php.
// Antes
'business' => ['whatsapp', 'instagram', 'facebook', 'email', 'web'],
// Ahora
'business' => ['whatsapp', 'instagram', 'facebook', 'email', 'web', 'api'],
PlanEnforcementService.canUseChannel() ahora permite acceso API para Business y Enterprise.
Auditoría del plan Enterprise
Se auditó el plan Enterprise ($149.990 CLP/mes) en todas las capas del sistema:
✅ Bien alineado (95%)
- billing.php: $149.990/mes, 25.000 msgs IA, 10 miembros incluidos, docs/workflows ilimitados, 5 modelos IA
- PlanEnforcementService: valor
-1(ilimitado) funciona correctamente para documentos y workflows - AiUsageService: smart model routing con GPT-4o + Claude Sonnet, overage billing activo
- Frontend:
planLevel='enterprise', badge púrpura,isBusinessPlusincluye Enterprise - SubscriptionPage + Pricing.tsx: pricing correcto, 8 features listadas, “Contactar ventas” como CTA
🔄 Gaps de roadmap (Q2-Q3 2026)
Los siguientes items están definidos en la landing/suscripción pero aún no implementados como features:
- Fine-tuning de modelos IA
- Custom channels (solo 6 canales hardcodeados)
- CSM dedicado (solo label, sin workflow de asignación)
- API keys management UI
- SLA monitoring y status page
Estos son features de desarrollo, no errores de configuración. Se implementarán en sprints futuros.
Resumen técnico
Archivos modificados
Backend:
config/billing.php—'api'agregado al array de canales de Business
Frontend APP:
resources/js/pages/MainDashboard.tsx—planLeveldetection,isBusinessPlus, badges de plan, propplanLevela MetricsDashboard, versión 1.0.9resources/js/components/MetricsDashboard.tsx— interfaceAiUsageData, estadoaiUsage+exportingCsv, fetch de/api/subscription/usage, funciónhandleExportCsv, botón de exportación con gating, sección “Inteligencia Artificial” (4 cards), banner upsell para Pro
Landing page (WEBPAGE):
- Blog post v1.0.9
- DocumentationPage.tsx — changelog v1.0.9
v1.0.9 transforma el plan Business de un upgrade invisible a una experiencia diferenciada con métricas exclusivas, exportación de datos y visibilidad del consumo IA. El plan Enterprise queda auditado y listo para venta con 95% de configuración correcta.
Etiquetas
Comentarios
Sé respetuoso. Tu email no será publicado.