Skip to main content

Bom dia.



Eu tenho duas equipes de atendentes criadas no Blip, sendo uma Marketing e outra Suporte.


Eu criei uma regra de atendimento para que Se Mensagem do Usuario for “Marketing” encaminha para a equipe Marketing, e outra regra igual para Suporte.



Eu tenho um bloco que verifica com qual setor o usuário deseja falar e encaminha para o bloco de Atendimento humano.



Utilizei o template de atendimento humano disponível.



Problema: o Desk identifica que há atendentes online, porém não verifica se há em equipe “Marketing” ou “Suporte”, se houver apenas 1 online em um desses, ele encaminha como atendentes disponíveis.



Por exemplo, se houver um atendente disponível de Marketing, mas o cliente selecionar Suporte, o blip verifica que há atendentes (pois o de Marketing está online), mas não se há um de Suporte online, ai o usuário fica sem atendimento.



Eu preciso utilizar algum script para fazer essa verificação?

Estou com o mesmo problema. Já te adianto que aquele script do help valida usuários online de forma geral, e não por equipe.



Também estou em busca de um código para isso já que não sou programador e não sei como modificar o código.



Nesse link -Resolvido] Check de Atendente por equipe - #4 por Jose_Gustavo_Lins_Di o @rafaelpa explica o que tem que fazer, mas não compartilha o código.



Será que alguém consegue compartilhar esse código com a gente?


@twilliann



Para fazer esse tipo de verificação, é preciso realizar uma mudança no script presente neste template de atendimento que verifica se existem atendentes online.



Tente da seguinte maneira:



function run(result, team) {

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' && attendant.teams.includes(team));

});

}

return hasAttendant;

}



Onde team é uma variável contendo o nome do time que você deseja verificar. Esta variável deve ser passada como parâmetro de entrada para o script.



@Filipe_Gustavo_de_Ca por favor, faça o teste.


Bom dia @BrunoC.



Obrigado pelo retorno. Eu testei e não consegui fazer funcionar.



Defini a variável com o nome da equipe na ação de de entrada. Mesmo com um usuário dessa equipe definido, o retorno é false.



hasattendant: false

previous-stateid@aabdbbdc-aec9-45d9-9f96-855e06615058: 3fc3b6dd-9891-4cac-91a6-1417a1ca9598



result: {

"type":"application/vnd.lime.collection+json",

"resource":{

"total":2,

"itemType":"application/vnd.iris.desk.attendant+json",

"items":t

{

"identity":"blip%[email protected]",

"teams":e

"Comercial",

"Financeiro",

"Suporte"

],

"status":"Offline"

},

{

"identity":"filipe.camargos%[email protected]",

"teams":e

"Suporte",

"Comercial",

"pap"

],

"status":"Online"

}

]

},

"method":"get",

"status":"success",

"id":"e36d8087-4d89-40a5-9873-ed44ed50cb8c",

"from":"[email protected]/#az-iris4",

"to":"[email protected]",

"metadata":{

"#command.uri":"lime://[email protected]/attendants",

"uber-trace-id":"dfed555b84b85f5%3A7098af6262ea8e8a%3Adfed555b84b85f5%3A1"

}

}



stateid@aabdbbdc-aec9-45d9-9f96-855e06615058: 1ea52b7b-b9ee-4ca1-afc6-575308012d44



status: 200



team: pap



Onde estou errando?!


@Filipe_Gustavo_de_Ca



foi erro meu! 😅



Já corrigi o código. Por favor, faça o teste novamente.


Eu estou passando a resposta do usuário para uma variável {{getSetor}} onde recebe a seleção do usuário, no caso Setor 1, Setor 2, etc.



No meu script defini assim:



function run(result, getSetor) {

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' && attendant.teams.includes(getSetor));

});

}

return hasAttendant;

}



e na variável de entrada adicionei getSetor, porém ainda recebo no debugger:



....



getsetor: Suporte Técnico



hasattendant: false



isworktime: true



previous-stateid@f26182f3-91d4-4d53-a01b-95f947b30783: 95118c04-1f32-40df-b1b0-54fb24fa2fc7



....

@twilliann



Você chegou a conferir se na variável result existe um atendente online no time Suporte Técnico?


Sim, nas condições de saída do bloco adicionei Se váriavel resulto é igual a “Suporte Técnico”, encaminha para o bloco Atendente Disponível.


Eu devo excluir a condição que valida hasAttendant ou alterar por getSetor ou result? Não etendi


Confirme se a variável result está recebendo o valor correto e se nela exista um atendente online no time Suporte Técnico.


@BrunoC Alterei o script, porém a transferência continua a considerar se existe usuário online no desk em geral. Estou com apenas um usuário logado na equipe “pap” e se eu escolher a equipe “comercial” ele continua transferindo.


@Filipe_Gustavo_de_Ca



Por favor, utilize o Debugger e poste o valor das variáveis aqui para que eu possa conferir.


Comente