Lá vamos nós! 😊
Sabe quando o atendente edita o nome de um contato no Desk e quando o usuário retorna o nome dele está mudado? Se já viu esse cenário ocorrendo e precisa de ajuda, vamos corrigir!
Com o lançamento do novo bloco de atendimento humano pela Take, pude notar que o user sofre um merge assim que entra no Desk e nesse merge, as informações são atualizadas a partir do router. Quando o atendente edita os dados do contato no Desk, esses dados estão sendo modificados apenas no bot de ATH, ficando, portanto, uma lacuna que acaba se tornando um loop na plataforma: o Blip dá um update no contato com as infos do router > atendente modifica no ATH > Blip modifica novamente > atendente modifica de novo… Sem fim, até que as informações sejam sincronizadas entre os dois bots, router e ATH.
Vamos à prática?! 😉
Na saída do Desk, de preferência, no primeiro bloco após o ticket ser encerrado, crie duas ações de entrada:
1. Process Command:
Vamos buscar os dados do usuário (Get Contact) que estão salvos no bot de ATH. Importante dizer que vc precisa garantir que esse comando seja processado em direção ao bot builder de ATH e não em direção ao router ou então não vai dar certo. Basta seguir corretamente a imagem abaixo e as configurações do command:
Nome: CheckContactATH
Para: [email protected]
Método: get
URI: /contacts/{{tunnel.identity}}
Response: responseCheckContactAth
Obs.: mantenha o "contexto do chatbot" habilitado para chamar o bot local e não o router.
2. Merge Contact:
Atualiza no router o nome do contato que foi editado pelo atendente, salvo no bot de ATH e retornado no response do command acima:
Nome: Atualiza Nome
Nome: {{[email protected]}}
Condições: se variável {{[email protected]}} existir.
Até aqui o nome do contato estará sincronizado entre o bot router e o bot de ATH, evitando assim, que o atendente tenha que editar novamente o nome do contato uma próxima vez devido ausência de sincronização entre os bots. 😊
Vamos às perfumarias?! 😆
Embora na maioria das vezes não seja necessário, mas se quiser sincronizar tbm o nome do contato nos demais bots, faça o seguinte:
Após o usuário sair do ATH, se seu nome foi editado pelo atendente, ele estará atualizado tbm no bot router, certo? Crie uma ação de entrada/saída em algum ponto estratégico do bot que queira atualizar o nome do contato da seguinte maneira:
3. Process Command:
Vamos atualizar (Update a Contact) no bot builder local o nome do usuário que foi modificado no ATH e posteriormente no router.
Nome: Atualiza Contato
Para: [email protected]
Método: merge
URI: /contacts
Tipo: application/vnd.lime.contact+json
Resource:
{
"identity": "{{tunnel.identity}}",
"name": "{{contact.name}}"
}
Response: responseUpdateContact
Obs.: nos meus testes o front do Blip não aceitou o tipo "application/vnd.lime.contact+json", nem apareceu na listagem, tive que editar e inserir diretamente no JSON do bot para dar certo. Em outros momentos, colando o tipo no campo e dando enter em seguida dava certo.
Ah, se precisar corrigir tbm os nomes dos contatos que vêm dos disparos de HSM do Desk, veja o tutorial abaixo! 😉
Como corrigir o nome do contato que vem dos disparos de HSM do Desk
Sucesso!!!