Skip to main content

Olá, tudo bem? Temos um bot que ao receber um ticket redireciona para o atendimento humano. Estamos utilizando a API para criar um ticket com customerIdentity do tipo e-mail e atender pelo desk nossos usuários que preenchem um formulário de e-mail em nosso site. Conseguimos criar o ticket e fazer o atendimento aparecer no desk, porém não encontramos uma maneira de enviar o texto que o cliente digitou no formulário como mensagem inicial do ticket (para que nossos atendentes saibam do que se trata). Tentei preencher o customerInput mas nada acontece.

Alguém poderia nos ajudar, por gentileza? Obrigado!

{
  "id": "0a7e9f09-c78f-7337-b67c-6e4e1ad55b7c",
  "to": "[email protected]",
  "method": "set",
  "uri": "/tickets",
  "type": "application/vnd.iris.ticket+json",
  "resource": {
  "customerIdentity": "renato.probst%[email protected]",
    "customerInput":{
       "type":"text/plain",
       "value":"oi oi"
    }
  }
}

Olá @Renato_senarPR , tudo certinho? Então, realmente esta propriedade “customerInput” se refere à última mensagem do usuário antes dele ser transbordado, porém como bem você observou ao preencher essa propriedade o conteúdo dela não é mostrado como mensagem inicial do ticket.

Na realidade o que aparece na conversa do ticket, quando o mesmo é criado pelo modo convencional a partir do fluxo conversacional do builder, é o histórico da conversa (messages) entre o usuário e o bot.

Sendo assim para solucionar seu caso (fazer a mensagem inicial do cliente aparecer no desk) a única forma que eu conheço (podem existir outras possibilidades) é:

Primeiro: Realize uma requisição POST para a Url de enviar mensagens (esta pode ser encontrada nas informações de conexão do seu bot) com o texto que o cliente digitou no formulário, como exemplificado abaixo:

POST https://your.endpoint/messages
{
  "id": "055c007d-9dce-4473-9239-81280562256c",
  "from": "renato.probst%[email protected]",
  "to": "[email protected]",
  "type": "text/plain",
  "content": "O texto do seu usuário"
}

OBS: Não esqueça de adicionar à requisição o header Authorization que também pode ser encontrado nas informações de conexão do seu bot.

*Maiores informações deste passo 1 podem ser encontradas aqui

Segundo: A partir de agora então você já pode criar o ticket associado ao cliente, por exemplo:

{
  "id": "0a7e9f09-c78f-7337-b67c-6e4e1ad55b7c",
  "to": "[email protected]",
  "method": "set",
  "uri": "/tickets",
  "type": "application/vnd.iris.ticket+json",
  "resource": {
      "customerIdentity": "renato.probst%[email protected]",
      "customerInput":{
           "type":"text/plain",
           "value":"O texto do seu usuário"
       }
  }
}

Após realizar estes steps é esperado que a mensagem do usuário apareça como mensagem inicial no ticket. Tenta realizar estas requisições e verifica se isso funciona, vamos torcer. Abraços.


Obrigado pela resposta @ErickRos.

Deu certo.

Fiquei com algumas dúvidas, caso possa responder, por gentileza:

  1. Criei também um chatbot pelo builder que ao receber uma mensagem redireciona para o atendimento humano. Se eu mandar um e-mail para o email do meu chatbot, ele redireciona para o atendimento humano (o fluxo do builder é acionado). Eu achei que se eu criasse uma mensagem via API como vc me ensinou, o builder iria automaticamente enviar pro atendimento humano, mas quando crio a mensagem via API, ela não cai automaticamente no builder né? Quando crio a mensagem via API, preciso criar o ticket via API tb, correto? Ou existe uma maneira de criar via API e cair no builder?

Criamos esse fluxo no builder pq usando apenas a API, caso o usuário mandasse uma mensagem nova depois que o atendimento fosse finalizado, o atendimento não recomeçava.

  1. Na área de configuração do chatbot diz que devemos utilizar ou o builder ou a API (e não ambos). Nesse caso não vai dar nenhum problema (atualmente o builder está ativado, porém estou mandando as requisições via POSTMAN pra testar e as requisições estão funcionando)?

Obrigado!


Oi @Renato_Probst, a respeito de suas perguntas:

  1. Não, a criação da mensagem via a API de commands não faz a mensagem cair automaticamente no builder e não triga o fluxo construído neste. Sendo assim, você precisa criar a mensagem e depois criar o ticket para ele aparecer no Desk. Eu desconheço uma forma de criar uma mensagem via API de Commands e cair no builder automaticamente. (se houver eu desconheço).

  2. Não sei exatamente seu cenário, mas em teoria se o usuário enviasse uma nova mensagem (através do formulário) depois que o atendimento fosse finalizado e sua API criasse um novo ticket com esta nova mensagem, este ticket deveria aparecer no desk, Sobre seu questionamento: “Na área de configuração do chatbot diz que devemos utilizar ou o builder ou a API ….” talvez não faz muito sentido ter um bot criado via builder só que você também utiliza as APIs de extensão do Blip para criar o ticket e mensagens sendo que seria muito mais simples via builder. O ideal é escolher apenas uma forma para evitar quaisquer possíveis problemas, mas aparentemente funciona sim. Se isso pode ocasionar possíveis problemas não sei te responder com total certeza.