1. Criação do cenário
No Make, dentro da seção “Scenarios”, clique no botão + Create scenario (localizado no canto superior direito da tela).
A seguinte tela de editor irá aparecer:
Primeiro, é necessário o precisa importar o modelo de integração disponibilizado. Uma vez feito o download do arquivo no seu computador, clique no ícone dos três pontos que fica na barra de ferramentas do editor e, depois, em clique em “Import blueprint”:
Uma modal será aberta, dentro da qual você pode fazer o upload do arquivo para dentro do Make. Assim que o arquivo que você baixou for selecionado, é preciso clicar em Save para a importação ser realizada:
Agora, o editor deve mostrar os diferentes módulos do cenário de integração na tela. Antes de iniciar as configurações, clique no ícone Save da barra de ferramentas para garantir que o cenário foi criado:
Existe a possibilidade, também, de renomear o cenário de integração ao clicar no nome do mesmo - que fica localizado no canto superior esquerdo do editor.
2. Configuração dos módulos
O primeiro módulo a ser configurado é o webhook “Recebe lead da CTCT”. É ele que vai servir como gatilho da integração, recebendo dados dos leads enviados a partir da Constant Contact. Para realizar a configuração, clique com o botão esquerdo em cima do módulo. Uma modal de título “Webhooks” aparece, dentro da qual você seleciona o botão Add para criar um novo webhook. Uma segunda modal será exibida, onde você digita um nome para webhook que está sendo criado, “Recebe dados CTCT” no exemplo abaixo. Clique no botão Save das duas janelas para que o webhook seja criado.
Observação: em alguns dos passos seguintes, pode ser necessário a configuração de valores dinâmicos, ou seja, variáveis que dependem das informações de lead que são recebidas no webhook. Uma forma de gerar valores que possam ser utilizados na configuração de tais variáveis é enviar dados para a URL do webhook recém criado através do preenchimento de formulário em uma Landing Page da Constant Contact, por exemplo. Após o preenchimento, clique com o botão direito sobre o módulo e selecione a opção "Run this module only”:
Caso o preenchimento já tenha sido feito, vai aparecer uma janela na tela informando que existem dados numa fila que já podem ser processados. Clique em Use existing data que as informações do lead serão recebidas corretamente pelo webhook:
Uma vez criado o gatilho, a partir daqui serão criados os módulos de tarefas. A primeira tarefa é a “Define templateId”, responsável por criar uma variável para armazenar o ID do Template de mensagem - que será utilizado em tarefas posteriores. O ID possui o formato UUID (uma string de caracteres no formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, contendo letras e números) e pode ser encontrado dentro da plataforma da Zenvia. O procedimento é o seguinte: copiar o valor disponibilizado na Zenvia, colar no campo “Variable value” e clicar no botão Save. Mais informações sobre como templates pra Whatsapp na Zenvia estão disponíveis neste artigo.
A segunda tarefa - “Envia template para Zenvia” - é a que realiza o disparo da mensagem no whatsapp através da plataforma Zenvia. Ela já está pré-configurada com informações de URL, método e body da requisição. É necessário:
1) adicionar o token de autorização (pode ser encontrado dentro da plataforma da Zenvia), na seção de Headers do módulo. O nome dessa propriedade é X-API-TOKEN;
2) ajustar as seguintes informações no conteúdo da requisição:
- from: o número celular que está configurado para a realização de disparos de mensagem no Whatsapp.
- to: o número celular da pessoa que irá receber a mensagem. Este valor é variável.
- templateId: o ID do template de mensagem presente na Zenvia. Variável definida em passo anterior.
- fields: os valores que devem ser preenchidos nas variáveis presentes no template que está sendo utilizado - um ou mais campos. No exemplo abaixo, o template configurado possui somente o campo “nome_cliente”.
Realizada a configuração, o conteúdo da requisição deve possuir a seguinte estrutura:
As tarefas seguintes fazem parte do caminho cujo resultado de envio é igual a “Enviado para Zenvia com sucesso”.
O módulo “Busca template na Zenvia” é responsável por trazer como resultado as informações sobre o template de mensagem que está sendo enviado. Tais informações, na sequência, serão utilizadas para registro na Vida do Lead dentro da Constant Contact. Os ajustes que devem ser feitos neste módulo são os seguintes:
1) Adicionar o template ID como complemento da URL utilizada na busca;
2) Adicionar o token de autorização, na seção de Headers do módulo - propriedade X-API-TOKEN.
O módulo “Adiciona evento - Vida do Lead” é responsável por salvar um evento de logCall diretamente na vida do lead. Para isso, cria-se uma conexão com a conta da Constant Contact, utilizando os dados de API Pública da mesma (Account ID e Secret Key). Mais informações sobre como encontrar as informações da API Pública estão disponíveis neste artigo.
Após a conexão criada, realizar dois ajustes ainda neste módulo de criação de um evento na vida do lead. Primeiro, adicionar mais um item na seção Headers:
Key: id
Value: 123
Segundo, adicionar o body em si da requisição. Abaixo, disponibilizamos um modelo do body que pode ser utilizado:
{
"method":"logCalls",
"params":
{"objects":
[
{
"userID":"{{1.ownerID}}",
"leadID":"{{1.leadID}}",
"direction":"outgoing",
"callResult":"answered",
"callNotes":"Mensagem {{11.name}} enviada às {{now}}: {{11.text}}",
"createTimestamp":"{{now}}"
}
]
},
"id":"123"
} O módulo configurado deve ficar da seguinte forma:
Antes de passar à próxima seção para configurar os módulos de tratamento de erros, existe um módulo no caminho cujo resultado de envio é igual a “Não enviado para Zenvia”.
O módulo a ser configurado neste caminho é o “Adiciona registro de erro”, do Google Sheets. Uma conexão com o Sheets precisa ser criada, clicando em Add, registrando um nome e utilizando o login com o Google.
Conexão realizada, uma planilha precisa ser criada no Google Drive da conta que foi conectada, para que o mapeamento das informações que serão registradas possa ser realizado. Neste exemplo, foi criado um arquivo de nome “[Zenvia] Registro de erros - Make”, contendo uma aba chamada “Erros” com as seguintes colunas:
A seção de configuração da planilha deve ficar da seguinte forma:
O mapeamento das colunas deve ficar da seguinte forma:
3. Configuração dos error handlers
Os error handlers, ou módulos de tratamento de erros são responsáveis por capturar eventuais erros ocorridos nos módulos aos quais eles estão conectados. Nesta integração, são utilizados junto àqueles módulos que possuem comunicação com serviços externos (Zenvia, Constant Contact e Google Sheets).
A implementação, na prática, é parecida com o módulo de registro de erro de requisição realizado na seção anterior. Em outras palavras, são utilizados quatro módulos do Google Sheets chamados “Adiciona log de erro” conectados aos seguintes módulos:
| Número módulo | Aplicação | Nome módulo |
| 3 | HTTP Request | Envia template para Zenvia |
| 10 | HTTP Request | Busca template na Zenvia |
| 12 | Sharpspring | Adiciona evento - Vida do Lead |
| 7 | Google Sheets | Adiciona registro de erro |
A configuração destes quatro módulos é realizada da mesma maneira. Primeiro, configurando um arquivo no qual os registros serão adicionados. Neste exemplo, foi criado um arquivo de nome “[Zenvia] Log de erros - Make”, contendo uma aba chamada “Logs” com as seguintes colunas:
Em todos os handlers, a configuração da planilha deve ficar da seguinte forma:
A segunda parte da configuração é o mapeamento dos campos. Dos sete campos presentes no arquivo de log criado, quatro deles possuem sempre os mesmos valores: Data/Hora, Lead ID, Email Address, FirstName. Isso significa que as variáveis sempre são mapeadas a partir dos mesmos módulos. Os demais três campos (Módulo, Error Type, Error Message) possuem variáveis relacionadas diretamente ao respectivo módulo no qual os handlers estão conectados.
Para exemplificar, uma análise do mapeamento do error handler conectado ao módulo “Envia template para Zenvia”:
- Data/Hora: função do Make que gera um timestamp no momento da execução do módulo.
- Módulo: o nome específico do módulo ao qual está relacionado. Todos os nomes podem ser consultados na tabela da página anterior.
- Lead ID: informação recebida no webhook.
- Email Address: informação recebida no webhook.
- FirstName: informação recebida no webhook.
- Error Type: tipo de erro do módulo ao qual está relacionado.
- Error Message: tipo de erro do módulo ao qual está relacionado.
Comentários
0 comentário
Por favor, entre para comentar.