Tempo Real e Broadcasting
Configurações → Avançado → Tempo Real configura a camada de broadcasting WebSocket que alimenta as atualizações ao vivo no painel de administração do LeadHub.
Quando o tempo real está habilitado:
- O widget Feed de Leads ao Vivo no painel atualiza instantaneamente quando um novo lead chega
- Emblemas de notificação aparecem sem atualizar a página
- O quadro Kanban reflete as mudanças de arrastar e soltar de outros membros da equipe em tempo real
Quando o tempo real está desabilitado, o painel recorre ao polling (atualiza a página a cada 30 segundos).
Drivers Suportados
| Driver | Hospedado? | Custo | Notas |
|---|---|---|---|
| Pusher | ✅ Cloud | Plano gratuito disponível | Mais popular, configuração mais fácil |
| Laravel Reverb | ❌ Auto-hospedado | Gratuito (custo do servidor) | Servidor WebSocket oficial do Laravel |
| Soketi | ❌ Auto-hospedado | Gratuito (custo do servidor) | Servidor leve compatível com Pusher |
| Desabilitado (polling) | — | Gratuito | Sem WebSockets; painel faz polling |
Hospedagem compartilhada: O Pusher é a opção mais fácil. O Reverb/Soketi auto-hospedado requer um VPS com processos persistentes.
Opção A — Pusher (Hospedado)
Passo 1 — Crie um App Pusher
- Cadastre-se em pusher.com (plano gratuito: 200 conexões, 200 mil mensagens/dia).
- Vá para Channels → Create App.
- Dê um nome (ex.: LeadHub) e selecione sua região.
- Em App Keys, copie: App ID, Key, Secret e Cluster.
Passo 2 — Configure no LeadHub
- Vá para Configurações → Avançado → Tempo Real.
- Defina Driver como Pusher / Soketi / Reverb (Pusher Protocol).
- Preencha App ID, App Key, App Secret, Cluster (ex.:
us2), deixe Custom Host em branco, Port443, SchemeHTTPS. - Clique em Salvar Configurações.
Opção B — Laravel Reverb (Auto-hospedado)
Passo 1 — Instale o Reverb
No seu servidor:
php artisan reverb:install
Inicie o Reverb com Supervisor apontando para a porta 8080.
Passo 2 — Configure no LeadHub
Defina Custom Host para o hostname do seu servidor, Port 8080, Scheme HTTPS (se atrás de proxy SSL).
Opção C — Soketi (Auto-hospedado, Leve)
npm install -g @soketi/soketi
soketi start --config.port=6001 --config.appManager.driver=array \
--config.appManager.array.apps.0.id=leadhub \
--config.appManager.array.apps.0.key=leadhub-key \
--config.appManager.array.apps.0.secret=leadhub-secret
Configure no LeadHub com App ID leadhub, Key leadhub-key, Secret leadhub-secret, Custom Host e Port 6001.
Opção D — Desabilitar Tempo Real (Polling)
- Vá para Configurações → Avançado → Tempo Real.
- Desative Habilitar Atualizações em Tempo Real ou defina Driver como Desabilitado (somente polling).
- Clique em Salvar Configurações.
O painel atualiza a cada 30 segundos. Todos os recursos funcionam corretamente — apenas sem atualizações ao vivo instantâneas.
Solução de Problemas
| Problema | Solução |
|---|---|
| Feed de leads ao vivo não atualiza | Verifique se o App Key/Secret corresponde à sua configuração do Pusher/Reverb/Soketi |
| Erros de conexão WebSocket no console do navegador | Verifique as configurações de Custom Host, Port e Scheme |
| Reverb/Soketi não conecta | Certifique-se de que o processo está em execução e a porta está acessível (regras de firewall) |
| "Reinicie o worker da fila após alterar o driver" | Se você alterar o driver de broadcasting, reinicie o processo do worker da fila |
Após alterar as configurações de tempo real, é necessário um hard refresh do navegador (Ctrl+Shift+R) para que as novas configurações entrem em vigor no frontend.