Faço uma requisição http para um ERP. Só que esse ERP demora para responder mais que 60 segundos. Fiz essa chamada assincrona e dependendo da resposta do ERP temos fluxo diferentes. Envio as mensagens e o change user state. Mas tem um caso de uso que preciso redirecionar direto para o Atendimento humano, sem interação do usuário. Outra coisa: consigo alterar o fluxo sem a necessidade de interação do usuário?
Obrigado pela atenção
Você consegue criar um ticket para um usuário através do endpoint: Create a new ticket
Mas o Bot continua no fluxo, o usuário não é redirecionado para o atendimento humano…
Basta você direcionar ele pro bloco de atendimento humano utilizando o endpoint: Change user state
Deculpa, mas como faço isso?
Tem um botão de Solução
abaixo da resposta
Seguinte houve um engano. Não funcionou. Dá um erro no debug. Executed with input Composing.
O que fiz: Alterei o change user para atendimento humano e criei um ticket, via API.
O Atendente recebe, consegue se comunicar com o usuario, mas tudo que o usuário escreve não aparece para o atendente, dando o erro acima.
Compreendo, Alecindro 🤔
O bloco de atendimento humano faz uma verificação em relação ao bloco anterior, também. Por isso está dando esse erro.
Neste caso, o que você pode fazer é:
- Criar um bloco que não envia nenhuma mensagem e não espera entrada do usuário
- Colocar o bloco de atendimento humano como condição de saída deste bloco
- Enviar o usuário via API para este novo bloco. Como bloco não espera mensagem do usuário, ele irá transferir automaticamente o usuário para o bloco de atendimento humano e irá funcionar.
Oi perfeito. Quase deu tudo certo. Agora, quando feito dessa forma, se o usuário não digitar nada e o atendente finalizar o atendimento, automaticamente gera um novo atendimento.
Como posso resolver isso?
Alecindro, você está criando um ticket via API? Uma vez que você envia o usuário para este bloco anterior ao bloco de atendimento e ele envia para o atendimento, ele também já cria o ticket.
Sim estou criando o ticket via api, pois senão o usuário não cai no atendimento humano.
Já testei sem criar o ticket e criando o ticket.
Estranho, pois não é necessário criar o ticket via API. Uma vez que ele entra no Bloco de Atendimento Humano, vindo do bloco que você o enviou, ele cria um ticket (eu acabei de realizar o processo aqui e funciona perfeitamente).
Neste caso, ou estamos deixando passar algum detalhe, ou a plataforma está com um comportamento inesperado. Qual o seu plano BLiP?
Seria possível abrir um chamado no seu suporte para este caso? Eles irão conseguir te ajudar te forma mais assertiva.
OK. Muito Obrigado. Tendo a solução, posto aqui.
Você conseguiu achar uma solução? Estamos com o mesmo problema.
Ainda não. O suporte da Blip está atuando.
A solução para esse caso:
1 - Mudar o stateid do usuário para a caixa de atendimento (Blip Docs | API Reference) onde resource será o id da caixa de atendimento humano, por exemplo:
POST
https://http.msging.net/commands
HTTP/1.1
Content-Type:application/json
Authorization:Key {YOUR_TOKEN}
{"id":"{xxxxx}",
"to":"[email protected]",
"method":"set",
"uri":"/contexts/{identity}/stateid@{Identificador do fluxo}",
"type":"text/plain",
"resource":"id do atendimento humano"}
2 - Abrir o ticket passando o ultimo input do usuário (Blip Docs | API Reference):
POST
https://http.msging.net/commands
HTTP/1.1
Content-Type:application/jsonAuthorization:Key {YOUR_TOKEN}
{
"id":"{xxxx}",
"to":"[email protected]",
"method":"set",
"uri":"/tickets/{identity}",
"type":"text/plain",
"resource":"Input do usuario"
}
3 - Setar a variavel de contexto helpDeskHasTicket :
POST
https://http.msging.net/commands
HTTP/1.1
Content-Type:application/json
Authorization:Key {YOUR_TOKEN}
{
"id":"{xxxx}",
"method":"set",
"uri":"/contexts/{identity}/helpDeskHasTicket",
"type":"text/plain",
"resource":"true"
}
Este tópico foi fechado automaticamente 7 dias depois da úlima resposta. Novas respostas não são mais permitidas.
Comente
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.