Como o WebChat trata desconexões, recuperação de sessão e abandono de atendimento
Sumário
Visão Geral
O canal de WebChat possui parâmetros responsáveis pelo controle de sessão, desconexão, recuperação e abandono dos atendimentos. Essas parametrizações permitem que o sistema tente retomar uma conversa em andamento do cliente, caso o mesmo feche o navegador ou perca temporariamente acesso a internet pelo dispositivo utilizado.
Quando um cliente perde a conexão ou fecha o navegador, o WebChat pode permitir a retomada do atendimento por um período determinado.
O comportamento da sessão depende principalmente de:
- TempoParaDesconectarBrowser: período de tolerância para reconexão do cliente.
- SessionState: tempo de vida da sessão no IIS.
- Tempo para Abandono de Atendimento: identifica atendimentos abandonados.
- Tempo de Inatividade: controla a classificação visual do atendimento como ativo ou inativo.
Importante: enquanto não houver comunicação entre WebChat e servidor (pulso), algumas verificações podem ser executadas apenas quando a comunicação for restabelecida.
O que é o pulso?
Pulso é a comunicação periódica realizada pelo WebChat para informar ao servidor que a sessão continua ativa.
Algumas validações, como timeout do ChatBot e abandono de atendimento, dependem dessa comunicação para serem processadas.
Parâmetros do WebChat
Parâmetros alterados no “Web.config” do WebChat.
IMPORTANTE: As alterações do “Web.config” não podem ser realizadas durante período operacional de produção, visto que derruba as sessões de WebChat em andamento após o salvamento do arquivo.
TempoParaDesconectarBrowser
Define o tempo máximo de tolerância para a sustentação da conversa (sessão) em andamento do cliente, permitindo que ele retome a conversa caso acesse novamente o WebChat dentro do período configurado.
Para retomar o cliente pode clicar no link de transbordo ou reabrir a aba do navegador. Porém, caso o cliente feche o navegador e, no dispositivo móvel, feche o aplicativo do navegador dos apps de segundo plano a conversa em curso, não pode mais ser recuperada pelo sistema.
- Unidade: Segundos.
- Valor mínimo: 90 segundos (definido no código).
- Comportamento: Mantém o atendimento disponível para recuperação durante o período configurado.
- Exemplo: Se configurado para 300 segundos:
- Cliente fecha o navegador às 10:00.
- Retorna às 10:04.
- O atendimento é recuperado.
Se retornar após 10:05, a sessão poderá não estar mais disponível.
Limitação: Enquanto o WebChat estiver sem comunicação (pulso), alguns controles poderão deixar de ser verificados, como:
- Timeout do ChatBot.
- Tempo de abandono do atendimento.
- Outras verificações dependentes do pulso.
A limpeza dos cookies durante o atendimento também deve ser considerada nos testes de recuperação da conversa.

SessionState
A configuração do “SessionState” redefine o controle do tempo de duração da sessão do WebChat no IIS.
- Padrão do IIS: 20 minutos.
- Valor recomendado: 72 horas.
- Regra: Deve ser igual ou superior ao
TempoParaDesconectarBrowser.
Importante: A sessão poderá ser encerrada independentemente dos parâmetros configurados em situações como:
- Reinicialização do Application Pool do WebChat.
- Alterações no arquivo
Web.configdo WebChat.

Diferença entre “SessionState” e “TempoParaDesconectarBrowser”
| Parâmetro | Função |
|---|---|
| TempoParaDesconectarBrowser | Controla quanto tempo o cliente pode ficar desconectado e ainda recuperar o atendimento |
| SessionState | Controla quanto tempo a sessão permanece válida no IIS |
| Relação entre eles | O SessionState deve ser igual ou maior que o TempoParaDesconectarBrowser |
Mesmo que o “TempoParaDesconectarBrowser” esteja configurado corretamente, a recuperação não ocorrerá se a sessão já tiver expirado pelo “SessionState”.
Parâmetros do Serviço
Tempo para Abandono de Atendimento (em minutos)
Define, em minutos, o tempo de espera para caracterizar o abandono de um atendimento humano.
- A contagem considera o horário da última mensagem enviada pelo operador.
- Caso o cliente envie uma nova mensagem, o tempo anterior deixa de ser considerado.
- A verificação do abandono depende da execução do pulso do WebChat.
Para mais informações de como configurá-lo, acesse Cadastrando um serviço de Mensageria no CRM Admin.
Configurações Gerais
Tempo de Inatividade
Parâmetro utilizado para controlar o estado de atividade do atendimento na tela Conversar do OmniPA, permitindo a classificação entre:
- ATIVA: Atendimento considerado ativo.
- INATIVA: Atendimento considerado inativo.
Para mais informações de como configurá-lo, acesse Configurando o Tempo para abandono de atendimento (min) nas Configurações Gerais.
Exemplos de Funcionamento
Cenário 1 — Timeout do ChatBot
Considere um ChatBot configurado com timeout de 1 hora.
| Horário | Evento |
|---|---|
| 10:10:50 | Último pulso recebido |
| 10:10:50 até 11:25:23 | WebChat permanece sem pulso |
| 11:10:50 | Tempo previsto para timeout de 1 hora |
| 11:25:23 | Novo pulso recebido; timeout do ChatBot identificado |
Resultado: O timeout não foi identificado no horário previsto, sendo processado somente após o restabelecimento do pulso.
Cenário 2 — Abandono no Atendimento Humano
Considere o parâmetro Tempo para Abandono de Atendimento configurado para 20 minutos.
| Horário | Evento |
|---|---|
| 10:30:25 | Último pulso recebido |
| 10:30:25 até 10:55:45 | WebChat permanece sem pulso |
| 10:50:25 | Tempo previsto para abandono de 20 minutos |
| 10:55:45 | Novo pulso recebido; abandono identificado |
Resultado: O abandono foi identificado somente após o retorno do pulso, mesmo com o tempo configurado já ultrapassado.
Observação: os exemplos consideram que os respectivos períodos de timeout e abandono começaram no horário indicado como último pulso.
Recomendações
- Configurar o
SessionStatecom 72 horas, respeitando o valor mínimo doTempoParaDesconectarBrowser. - Definir o
TempoParaDesconectarBrowserconforme o período desejado para recuperação dos atendimentos. - Considerar que a ausência de pulso poderá atrasar a identificação de timeout e abandono.
- Validar a recuperação do atendimento após fechamento do navegador, perda de conexão e limpeza dos cookies.
- Considerar que reinicializações do Application Pool e alterações no
Web.configpoderão interromper as sessões ativas.
Resumo: O TempoParaDesconectarBrowser controla a tolerância à desconexão, o SessionState controla a sessão no IIS, e os parâmetros do serviço e das Configurações Gerais tratam do abandono e da inatividade dos atendimentos.
