Como verificar se existe atendente disponível no Builder 18 de maio de 2023 21:54 Atualizado Apesar de ser simples enviar um cliente para atendimento humano, a experiência do usuário pode ficar muito comprometida caso não haja nenhum atendente disponível na ferramenta (como no BLiP Desk por exemplo), uma vez que o bot para de responder e todas as mensagens são direcionadas para o ser humano. Pensando nisso, é extremamente importante analisar se existe algum atendente disponível na ferramenta de atendimento, antes de enviar qualquer usuário. Para verificar se existe algum atendente disponível no Builder siga os passos abaixo: Crie um bloco com o nome "Validação de atendentes". Esse bloco deve vir antes do bloco de Atendimento Humano. No bloco criado no passo 1 adicione uma ação de entrada do tipo Requisição HTTP, seguindo os dados abaixo: Obs: Utilize a url com id do contrato para consumir os endpoints informados abaixo, sua performance e funcionamento podem ser impactados caso não esteja com id do contrato, portanto, é fundamental utilizar a url com o id do contrato para utilizar as requisições http!Método da Requisição: POST URL: https://{{contractid}}.http.msging.net/commands Cabeçalhos: Content-Type: application/json Authorization: Key API-KEY-BOT Body: { "id": "{{random.guid}}", "to": "postmaster@desk.msging.net", "method": "get", "uri": "/attendants" } Variável de status da resposta: status Variável do corpo da resposta: result Observação: Caso não saiba onde encontrar a API-KEY do seu bot, veja esse artigo: Como encontrar a API-KEY de um bot no BLiP. Adicione mais uma ação de entrada (após a ação de requisição HTTP criada no passo 2) do tipo Script JS, com o script abaixo: Variável de entrada para a função: result Código fonte: // Receive the variables as parameters function run(result) { result = JSON.parse(result); let hasAttendant = false; if(result.resource && result.resource.total >= 1){ hasAttendant = result.resource.items.some(function(attendant){ return attendant.status === 'Online'; }); } return hasAttendant; } Variável para o valor de retorno: hasAttendant Ao final do passo 3, as ações do bloco "Validação de atendentes" deve ficar como a imagem abaixo: Defina duas condições de saída no bloco criado no passo 1. Uma das condições (hasAttendant = true) será executada caso exista pelo menos 1 atendente disponível e a outra condição (hasAttendant = false) será executada caso não exista nenhum atendente disponível. Adicione o bloco de Atendimento Humano apenas na condição de saída que representa a disponibilidade de atendentes. Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃 Artigos relacionados Verificação de disponibilidade de atendentes Como verificar atendentes disponíveis por fila de atendimento Criando mensagens interativas no WhatsApp Variáveis do Builder Como adicionar atendentes no Blip Desk