Ticketer: Como integrar o RocketChat como serviço de ticket na Plataforma Weni

Rocket.Chat Ticketer

Requisitos

  • Acesso de administrador ao Rocket.Chat
  • Acesso de administrador na Weni plataforma ou RapidPro

Primeiros passos

  1. Obter token de acesso à org no Weni Flows

Este token é necessário para que o aplicativo instalado no Rocket.Chat consiga se comunicar com a sua organização no Weni Flows.

  • No menu lateral da plataforma vá em Configurações e no fim da página terá um campo informando o seu Token.

  1. Obter Id de usuário e Token de acesso ao Rocket.Chat
  • O ID e Token do Rocket.Chat são necessários para que o Weni Flows consiga se comunicar com o aplicativo instalado.
  • No Rocket.Chat vá em Minha Conta > Tokens de Acesso Pessoal, marque a opção Ignorar a autenticação de dois fatores e insira um nome para o token.
  • Após isso guarde o ID de usuário e o Token em um outro local pois não será possível vê-los novamente
  1. Conectar o Rocket.Chat ao Cloud console da Rocket
  • No Rocket.Chat vá em Administração > Serviços de Conectividade > Cloud Console
  • Siga os passos para registrar um Rocket.Chat self-managed e inserir o token provido na cloud no Rocket.Chat
  • Após inserir o Token irão aparecer novas opções na tela do Rocket.Chat, nisso clique em Login do Rocket.Chat Cloud.

Instalar o aplicativo de Tickets

  • Vá em Administração > Aplicativos (ou Marketplace dependendo da versão)
  • Procure por WhatsApp Tickets e instale o App.

Configurar o Serviço de Ticket

Para realizar a configuração, devem ser feitas em paralelo configurações no Aplicativo e no Serviço de Ticket no Weni Flows, o processo fica mais simples caso já tenha anotado os Tokens que foram obtidos anteriormente (Token do Weni Flows, Token e ID de usuário do Rocket), para iniciar a configuração:

  1. Vá no menu lateral da plataforma em Integrações
  2. Dentro do módulo vá para Outras aplicações
  3. Ao lado da opção Adicionar Canal clique no menu e escolha Adicionar serviço de Ticket
  4. Escolha a opção do Rocket.Chat

  1. Configure os campos com o ID e Token de usuário do Rocket.Chat
  2. No campo de URL, vá ao Rocket.Chat na tela de detalhes do aplicativo instalado e copie a url que está na listagem de APIs do app:

Ela deve estar no seguinte formato:

https://chat.weni.ai/api/apps/public/02c2b89b-f8c4-446c-abe0-b97c5e0d4649

  1. No terceiro passo do guia de instalação que está no serviço de ticket, existe um Secret que será utilizado para autenticar a requisição de configuração, copie-o e cole na página de configuração do aplicativo no Rocket.Chat, no campo Segredo do App.

Obs: Este secret é atualizado sempre que a página for recarregada, sempre antes de clicar em conectar verifique se o secret corresponde ao configurado no Rocket.Chat

  1. Após inserir o Secret nas configurações do aplicativo, cole o Token de acesso à Org no campo Token de Autorização da Weni e clica em Salvar no campo superior direito.
  2. Com o aplicativo configurado corretamente, volte ao Weni Flows e clique em Conecte na tela de configuração do serviço de Ticket.

Configurar um fluxo para utilizar o serviço

  1. No editor de fluxo, para abrir uma sala no Rocket.Chat utilize o card Abrir um ticket com um agente humano
  2. No primeiro seletor escolha o serviço de ticket do Rocket.Chat configurado

Obs: Os seletores onde tem General e Assign to atualmente não são suportados pelo serviço de ticket do Rocket.Chat

  1. Deixe o corpo do card vazio, removendo a string padrão @results.

O corpo do card deve estar vazio ou receber um JSON válido com as informações de departamento e/ou campos customizados.

Com isso, já é possível abrir um atendimento para o contato

Designar um departamento na abertura do Ticket

  • No corpo do card de Abrir ticket com um agente humano adicione o nome do departamento da seguinte forma:
{
"department": "departamento_x"
}

Adicionar campos customizados na abertura de sala

  • No corpo do card de Abrir ticket com um agente humano adicione os campos customizados da seguinte forma:
{
"customFields": {
"idade": @run.contact.fields.idade,
"cidade": @run.contact.fields.cidade
}
}

Como a gente se saiu?

Ticketer: Adicionando serviço de Ticketer no RapidPro

Rocketchat: Customizando a aparência de sua instância do RocketChat

Contato