WITHMIA v1.0.9 — Diferenciação Business + análises de IA
Diferenciação real entre os planos Pro/Business/Enterprise no frontend. Painel de uso de IA exclusivo para Business+, exportação das métricas em CSV, selos de plano e canal API liberado para o Business.
Equipe WITHMIA
WITHMIA
Nota (julho de 2026): os planos Business e Enterprise hoje se chamam Team e Max. Os preços continuam os mesmos.
A v1.0.8 fechou as brechas de enforcement em todos os endpoints. A v1.0.9 resolve o problema seguinte: não havia diferenciação visível entre os planos no frontend. Um cliente Business pagando $44.990 CLP/mês via exatamente a mesma coisa que um Pro de $24.990 CLP.
O problema: um frontend binário
Até a v1.0.8, o frontend só distinguia entre “tem assinatura” (isPro = true) e “não tem” (isPro = false). Não existia nada que separasse visivelmente um usuário Pro, Business ou Enterprise:
- Sem selo de plano na barra lateral
- Sem métricas exclusivas para os planos superiores
- Sem exportação de dados
- O canal API era vendido na landing, mas faltava no
billing.phppara o Business
O que isso significava?
Que o plano Business não justificava seu preço. Um cliente pagando o dobro do Pro não recebia nenhum valor visível a mais dentro da plataforma.
A solução: detecção de tier e funcionalidades com gate
planLevel: saber exatamente qual plano está ativo
O binário isPro foi substituído por um sistema de 4 níveis:
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';
Agora cada componente consegue condicionar funcionalidades ao tier exato.
Selos de plano na barra lateral
Os usuários Business veem um selo violeta com o ícone Building2, e os Enterprise um roxo com a Crown, ao lado do número da versão na barra lateral. Usuários Pro e Free não veem selo (o plano deles já está implícito).
Painel de uso de IA: exclusivo Business+
A seção Inteligência Artificial aparece apenas para usuários Business e Enterprise. Ela consulta /api/subscription/usage e mostra 4 cartões em tempo real:
| Cartão | O que mostra |
|---|---|
| Mensagens de IA | Barra de progresso com cores dinâmicas (verde → âmbar → vermelho conforme o %), além das mensagens restantes do limite |
| Tokens usados | Total em K, com detalhamento de input/output |
| Custo de IA estimado | Em USD, no período de faturamento atual |
| Excedentes | Pacotes de overage usados + custo em CLP, ou “Dentro do plano” quando não há excedentes |
Cores da barra de progresso
- Verde (
< 70%): uso normal - Âmbar (
70-90%): aviso de consumo alto - Vermelho (
> 90%): perto do limite
Upsell para o Pro
Usuários Pro não veem a seção de IA, mas veem um banner com o ícone Crown convidando a subir para o Business e desbloquear análises avançadas, rastreio de tokens, custos estimados e exportação em CSV.
Exportação das métricas em CSV
Usuários Business+ podem exportar todas as métricas do painel com um clique no botão “Exportar CSV” (violeta). O arquivo inclui:
- Resumo geral: conversas totais/abertas/resolvidas, mensagens, tempo médio de resposta
- Uso de IA: mensagens usadas/limite, porcentagem, tokens de input/output, custo estimado em USD
- Vendas: receita total, pedidos, taxa de conversão
- Top 10 contatos por volume de mensagens
O botão tem gate por plano:
- Business+ → botão violeta “Exportar CSV” funcional
- Pro → indicador cinza com cadeado “Exportar”
- Free → oculto
Canal API liberado para o Business
Detectamos uma inconsistência: tanto a landing page quanto a SubscriptionPage prometiam “Todos os canais + API” para o Business, mas o canal 'api' não estava no array de canais do plano Business no billing.php.
// Antes
'business' => ['whatsapp', 'instagram', 'facebook', 'email', 'web'],
// Agora
'business' => ['whatsapp', 'instagram', 'facebook', 'email', 'web', 'api'],
O PlanEnforcementService.canUseChannel() agora libera acesso à API para Business e Enterprise.
Auditoria do plano Enterprise
Auditamos o plano Enterprise ($149.990 CLP/mês) em todas as camadas do sistema:
✅ Bem alinhado (95%)
- billing.php: $149.990 CLP/mês, 25.000 mensagens de IA, 10 membros incluídos, documentos/workflows ilimitados, 5 modelos de IA
- PlanEnforcementService: o valor
-1(ilimitado) funciona corretamente para documentos e workflows - AiUsageService: smart model routing com GPT-4o + Claude Sonnet, cobrança de overage ativa
- Frontend:
planLevel='enterprise', selo roxo,isBusinessPlusinclui o Enterprise - SubscriptionPage + Pricing.tsx: preços corretos, 8 funcionalidades listadas, “Falar com vendas” como CTA
🔄 Lacunas de roadmap (Q2-Q3 2026)
Os itens a seguir estão descritos na landing/assinatura, mas ainda não foram implementados como funcionalidades:
- Fine-tuning de modelos de IA
- Canais personalizados (apenas 6 canais fixos no código)
- CSM dedicado (só o rótulo, sem fluxo de atribuição)
- UI de gestão de API keys
- Monitoramento de SLA e status page
Isso é trabalho de desenvolvimento, não erro de configuração. Serão implementados nos próximos sprints.
Resumo técnico
Arquivos modificados
Backend:
config/billing.php—'api'adicionado ao array de canais do Business
Frontend do APP:
resources/js/pages/MainDashboard.tsx— detecção deplanLevel,isBusinessPlus, selos de plano, propplanLevelpara o MetricsDashboard, versão 1.0.9resources/js/components/MetricsDashboard.tsx— interfaceAiUsageData, estadosaiUsage+exportingCsv, fetch de/api/subscription/usage, funçãohandleExportCsv, botão de exportação com gate, seção “Inteligência Artificial” (4 cards), banner de upsell para o Pro
Landing page (WEBPAGE):
- Post de blog da v1.0.9
- DocumentationPage.tsx — changelog da v1.0.9
A v1.0.9 transforma o plano Business de um upgrade invisível em uma experiência diferenciada, com métricas exclusivas, exportação de dados e visibilidade do consumo de IA. O plano Enterprise fica auditado e pronto para venda, com 95% da configuração correta.
Etiquetas
Comentários
Seja respeitoso. Seu e-mail não será publicado.