Como verificar se existe atendente disponível no Builder Take Blip 7 de janeiro de 2021 17:06 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: Método da Requisição: POST URL: https://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. Artigos relacionados Como salvar informações de um usuário Como verificar atendentes disponíveis por equipe Como configurar horário de atendimento Como enviar email pelo bot através do Builder Condições de saída do Builder