Criando componentes customizados (Custom Activity) no Marketing Cloud

Lennon Alves Dias
Comunidade XP
6 min readDec 2, 2019

--

Com os componente customizados você pode integrar todo tipo de serviço nas jornadas do cliente.

☁ Salesforce Marketing Cloud

Junte-se aos seus clientes em uma jornada personalizada com sua marca. Com o Salesforce Marketing Cloud é possível personalizar experiências por e-mail, dispositivos móveis, redes sociais, publicidade e Web. Crie uma experiência unificada, conectando toda a sua empresa em todos os departamentos e disciplinas. Clique aqui e saiba o por que Salesforce Marketing Cloud.

🚀 O que vamos utilizar?

Para este artigo será demonstrada a criação de um componente customizado à ser embutido dentro de uma jornada. A configuração e execução desta jornada pode envolver particularidades e dados sensíveis, que podem ser tratados em um futuro artigo.

👨‍💻 Mão na massa!

Para este artigo, utilizaremos um template adaptado à partir do template da Devs United.

Para que possamos realizar o deploy automático de acordo com o versionamento das nossas atualizações, é importante fazer um fork do repositório acima.

📌 Configurando o web service

Após o fork, vamos criar uma nova aplicação no Heroku. Caso você ainda não tenha conta, é possível criar uma de forma gratuita, caso contráro, basta realizarmos o login ao dashboard da plataforma.

No dashboard da plataforma, navegaremos em New > Create new app, nomearemos a nova aplicação e finalizaremos clicando em Create app.

Print da criação de uma nova aplicação (parte 1).
Criação de uma nova aplicação.

Com a aplicação criada, podemos escolher o método de deploy que utilizaremos na aplicação. Para este artigo, utilizarei o GitHub, porém você pode escolher o seu preferido.

Ao selecionar o método de deploy, será necessário realizar a conexão com a minha conta e então procurar pelo repositório que eu queria conectar. Para este exemplo, escolhi conectar com o journey-builder-custom-activity, que refere-se ao link encontrado logo no começo desta sessão.

Configuração do deploy.

Com o repositório configurado, é possível realizar algumas outras configurações alternativas, como habilitar o deploy automático, para que o conteúdo do servidor seja atualizado assim que for realizado uma atualização (git push) no controlador de versão. Caso prefira manter as atualizações automáticas desligadas, é possível utilizar o botão Deploy Branch para realizar a modificação de forma manual.

Além da opção de deploy automático, é possível também configurar a branch que irá ser publicada (Choose a branch to deploy).

Com as configurações ajustadas, e realiado o seu concluído o seu primeiro deploy, é possível clicar no botão Open App para visualizar a sua aplicação no endereço provisinado pelo Heroku.

Botão disponível para navegar ao endereço da aplicação.

📌 Configurando o Marketing Cloud

Com o Heroku configurado, o próximo passo é criar um novo package no ambiente do Marketing Cloud. Para isso, é necessário navegar em Perfil > Setup no menu superior direito e, após isso, em Apps > Installed Packages no menu à esquerda.

Configurações de Setup.
Navegação de pacotes instalados.

Estará visível a lista com o nome de todos os pacotes criados, assim como sua descrição e a data de instalação. Nesse passo, criaremos um novo pacote clicando no botão New.

Criação de um novo pacote.

Será então solicitado o nome e a descrição do novo pacote, após o preenchimento basta clicar no botão Save e ele estará criado.

A tela com as configurações do pacote estará disponível com o status, a conta de serviço, o id do pacote e a chave jwt. É recomendado salvar a chave jwt em um outro arquivo, essa chave será utilizada na configuração do ambiente.

Painel de configurações do novo pacote.

O próximo passo é clicar no botão Add Component e iniciar a configuração do Journey Builder Activity.

Criação de um componente (parte 1).
Criação de um componente (parte 2).

Após a criação do componente, será exibida novamente a tela do painel com as informações do nova criação. Nesse painel estará visível a Unique Key, recomenda-se também salvar esta chave.

Com isso, a finalização do novo pacote dentro do Marketing Cloud está finalizada. O próximo passo é configurar a activity, onde utilizaremos esta última chave salva.

📌 Configurando a Activity

Para a configuração da activity, é necessário alterar no /public/config.jsona applicationExtensionKey com o valor da Unique Key salva, além de atualizar com o url com o endpoint da aplicação criada no Heroku.

Modelo do arquivo .config

Com essas alterações e eventuais personalizações do componente, é possível realizar o deploy para que as configurações sejam aplicadas em produção. Este deploy pode variar de acordo com as configurações demonstradas acima.

📌 Configurando o ambiente no Heroku

Para os ajustes finais, precisamos inserir a chave jwt nas variáveis de ambiente da nossa aplicação no Heroku. As configurações destas variáveis são encontradas em Settings, no menu superior da aplicação.

O passo de inserir, deletar ou modificar uma variável de ambiente é à partir do botão Reveal Config Vars, onde serão listadas as variáveis cadastradas e exibidas as opções de manipulação entre elas.

Configuração das variáveis de ambiente (passo 01).
Configuração das variáveis de ambiente (passo 02).

Após inserir o código jwt com a chave jwtSecret, é necessário clicar no botão Add para confirmar a inclusão da nova variável. Com a configuração aplicada, já será possível testar seu novo componente em uma jornada do Marketing Cloud.

📌 Executando a jornada

As jornadas podem ser acessadas pelo menu Journey Builder, onde existe o submenu Automation Studio(rotina de automação para execução da jornada) e Journey Builder (configuração da jornada).

Menu principal do Salesforce Marketing Cloud.

Ao acessar o Journey Builder, será possível configurar a sua jornada ou então criar uma nova. No exemplo abaixo é possível encontrar o novo componente, nomeado de ‘Atividade Customizada’, nas opções à esquerda. Ao clicar e arrastar, o componente fará parte da jornada desenhada.

Configuração da jornada incluindo componente customizado.

Após concluir o mapeamento da jornada, é possível salvar, validar e ativar. Assim que ativa, a jornada está pronta para ser executada de acordo com o schedule configurado.

É possível encontrar um exemplo prático de uma atividade que realiza o disparo de templates HSM do Whatsapp acessando o repositório:

📃 Referências

--

--

Lennon Alves Dias
Comunidade XP

Computer Scientist, Developer. Computer Science (UTFPR/PG — 2015). Artificial Intelligence & Machine Learning (FIAP/SP — 2020).