Skip to main content

Fala blippers, gostaria de compartilhar uma implementação que fiz lá em dezembro/2020 com vocês - uma forma de informar ao seu cliente a posição na fila e tempo médio de espera para atendimento humano. Legal né?

 

Antes de começar,se inscreva, dê joinha e ative o sininho!!

 

 


Informe a posição de fila e tempo médio de espera para o seu cliente

 

 

O conceito por trás dessa implementação é informar os valores que são apresentados na tela de Monitoramento do seu bot:

 

 

 

 

 

 


Passo a passo de como informar a posição de fila e tempo médio de espera para o seu cliente:

 

 


  1. Criar um bloco antes do Atendimento Humano
  2. Adicione uma Requisição HTTP nas Ações de Entrada do bloco e utilize o método Get Ticket Metrics , armazenando a resposta em uma variável (neste exemplo a variável será getTicketsMetrics)
  3. Adicione uma Requisição HTTP nas Ações de Entrada do bloco e utilize o método Get Waiting Tickets Metrics , armazenando a resposta em uma variável (neste exemplo a variável será getWaitingTicketsMetrics)
  4. Agora, adicione uma ação de Executar script

    4.1. Informe em Variáveis de entrada as variáveis de resposta das suas requisições HTTP (getTicketsMetrics & getWaitingTicketsMetrics)

    4.2. No corpo do seu script, adicione o seguinte código:

     

 

 

       function run(getTicketsMetrics, getWaitingTicketsMetrics) {



var metric = JSON.parse(getTicketsMetrics);



var queue = queuePos(getWaitingTicketsMetrics);



if (queue == 1) {

var queueText = "Sua posição na fila é: " + queue + ".";

return queueText;

} else {

var waitTime = metric.resource.avgWaitTime;

var queueText = "Sua posição na fila é: " + queue + ". Tempo médio de espera: " + waitTime.split(".") 0];

return queueText;

}

}





function queuePos(getWaitingTicketsMetrics) {



var queue = JSON.parse(getWaitingTicketsMetrics);

var queueCount = queue.resource.total;



if (queueCount === undefined) {

queueCount = 1;

return queueCount;

} else {

queueCount = queueCount + 1;

return queueCount;

}

}

 

4.3. Salve o retorno com uma variável (neste exemplo a variável será queueText)

 

 


  1. Agora, adicione a variável de resposta do script no Conteúdo do seu Bloco:

     

 

 

 

 

 

 


  1. Não se esqueça de transferir o seu cliente para o próximo bloco (atendimento humano) sem aguardar uma resposta, hein!

     

 

 


O resultado será:

 

 


  • Quando você for o primeiro na fila de atendimento:

     

 

 

20210406_4244_%pn

 

 


  • Quando você for o segundo ou + na fila de atendimento:

     

 

 

20210406_4246_%pn

 

 


 

 

 

 


Gostaria de fazer um teste? Clique aqui e fale com o Bob da Fila de Atendimento

 

 

Como tudo são flores 🌻 segue o fluxo completo para download e caso você achar mais fácil, basta importá-lo. Só tome cuidado para não sobreescrever o seu bot:

https://www.bots2u.com.br/templates/filadeatendimentohumano.json

 

 


Espero que tenham gostado e que isso ajude. Em caso de dúvidas, chame o Pedro @Pedro_Lucas

 

 

:blipinlove::thuglifeblip:

 

Boa noite!!!

 

Alguma alma bondosa ainda teria o json deste posta para comaprtilhar? segui aqui o passo a passo, mas acredito ter esbarrado em alguma parte que nao identifiquei e estou travado nela.

 

Se alguem puder fornecer o json ou  me ajudar em algo eu agradeço.

 

 

Até mais

Oi, @Alan Silva! Tudo bem?

Com a extensão “Desk mensagem de espera na fila”, disponível na Blip Store, é possível informar a posição e tempo médio de atendimento, sem a necessidade de alterações no código. 😉


Existe alguma forma de monitorar essa fila e ir atualizando o usuário toda vez que alguém sai da fila de espera, retornando um novo tempo de espera e uma nova posição na fila ?


Boa noite!!!

 

Alguma alma bondosa ainda teria o json deste posta para comaprtilhar? segui aqui o passo a passo, mas acredito ter esbarrado em alguma parte que nao identifiquei e estou travado nela.

 

Se alguem puder fornecer o json ou  me ajudar em algo eu agradeço.

 

 

Até mais

Oi, @Alan Silva! Tudo bem?

Com a extensão “Desk mensagem de espera na fila”, disponível na Blip Store, é possível informar a posição e tempo médio de atendimento, sem a necessidade de alterações no código. 😉

 Boa tarde @Gabriel Santos , tudo ótimo e contigo? 

 

Então eu até cheguei a ver essa extensão na BlipStore, ela me parece ser bem útil, mas ainda sim queria o json para dar uma olhada nele e fazer uns testes aqui no ambiente.

 

Se por ventura vc tiver o json ou puder me auxiliar em alguma coisa eu agradeço muito.

 

 

att


Olá, poderiam me ajudar? Não retorna a mensagem em fila 

 


Veja só, o retorno da GetTicketsMetrics e GetWaitingTicketsMetrics está exatamente igual, mas são métodos diferentes:
 

 

 

O primeiro GetTicketsMetrics você precisa passar o body:

 

 

{

"id": "{{random.guid}}",

"to": "[email protected]",

"method": "get",

"uri": "/monitoring/ticket-metrics?version=2"

}

 

No segundo GetWaitingTicketsMetrics você passa o body:

 

 

{

"id": "{{random.guid}}",

"to": "[email protected]",

"method": "get",

"uri": "/monitoring/waiting-tickets?version=2"

}

 

Agora vai dar bom hein! Faz aí e me fala, estou por aqui.

 

 

 

Dica, vi que você está passando o ID: {{$guid}} nas suas requisições. Não sei muito detalhe sobre mas isso é um código para gerar um ID aleatório que funciona no Postman (não sei de outras ferramentas mas creio que seja um padrão). Porém aqui no Blip você tem que passar {{random.guid}} para obter um ID aleatório.

 

Olá, muito obrigado pela sua contribuição. Porém, tenho um problema e uma dúvida. Como seria se eu tivesse duas filas diferentes? Tenho um bloco onde o usuário escolhe o tipo de fila que deseja entrar "geral" ou "perdida" então o problema é que não funciona para mim já que tenho duas filas diferentes. Como seria nesse caso?


Olá, muito obrigado pela sua contribuição. Porém, tenho um problema e uma dúvida. Como seria se eu tivesse duas filas diferentes? Tenho um bloco onde o usuário escolhe o tipo de fila que deseja entrar "geral" ou "perdida" então o problema é que não funciona para mim já que tenho duas filas diferentes. Como seria nesse caso?


Comente