
Recentemente adicionamos um novo recurso à nova versão do Mailrelay, os webhooks.
Os webhooks complementam o envio via API ou serviços SMTP para integrar o Mailrelay aos seus sistemas externos.
Os webhooks permitem fazer conexões em tempo real com sistemas externos, e atualmente é possível definir:
- Quando um assinante é adicionado a um grupo
- Quando é removido do grupo
- Ou quando cancela a inscrição
Para que servem esses webhooks?
Vou te dar um exemplo bem simples: imagine que a sua empresa gerencia todos os contatos e clientes em um CRM próprio, onde estão todos os dados deles, as compras anteriores, etc. E, para enviar as campanhas de email a eles, exporta esses contatos e os importa no Mailrelay, de onde faz os envios.
O problema, até agora, era que, embora no Mailrelay os contatos possam cancelar a inscrição pelos links da newsletter, para cancelar a inscrição deles no CRM (ou em outro sistema externo) era preciso usar a API ou fazer isso manualmente.
Com a nova opção de webhooks fica mais fácil enviar uma requisição e tratá-la programaticamente do lado do CRM.
Neste post vamos ver como definir e testar o funcionamento dos webhooks.
· Definindo um webhook para os cancelamentos de inscrição
Os webhooks são definidos na seção de Automações:

Uma vez nesta seção, vamos criar uma nova automação:

A automação que vamos criar é do tipo “personalizado” (a outra opção é a de aniversário, mas essa não nos interessa agora):

A partir daqui, teremos que fazer a definição básica da automação.
Vamos comentar os parâmetros mais importantes depois da imagem a seguir:

Temos estas opções:
- Nome: este é apenas o nome interno do trigger, você pode chamá-lo como preferir
- Todos os assinantes: poderíamos definir um grupo específico, mas para este exemplo seleciono todos
Depois de definir esses pontos, teremos que “Adicionar trigger”, para definir a ação que vai desencadear o evento.
Vamos escolher a opção “Atividade do Assinante”:

Entre todas as opções de atividade do assinante, temos:

Vamos usar o evento de cancelamento da inscrição, que é o que nos interessa neste momento, mas seria possível definir eventos para quando um assinante é adicionado a um grupo ou é removido de um grupo (sem cancelar a inscrição):

Ao trigger vamos dar o nome que quisermos e, algo importante:
- Webhook url: ou seja, a URL para a qual a requisição será enviada quando o cancelamento de inscrição de um contato for processado.
- A requisição normalmente é enviada no array GET, não no POST
A URL de destino do webhook é uma URL do nosso site onde podemos receber as informações enviadas pelo Mailrelay, com os dados do contato que cancelou a inscrição, e tratar essas informações da forma que precisarmos.
Feito isso, resta Validar e aplicar:

E, por último, para criar toda a automação, clique no botão “criar automação”:

Dessa forma, tudo estará pronto e só falta que, do lado do CRM ou software, sejam tratadas as chamadas que serão disparadas quando ocorrer algum cancelamento de inscrição.
· Testando o webhook com ferramentas de teste
Talvez você queira testar o webhook sem ter ainda a programação do lado do seu software; para isso, você pode usar um serviço como o RequestBin:

Nesta tela basta clicar no botão “Create a RequestBin”, e recomendo também que você o crie de forma privada.
Feito isso, você verá uma tela parecida com a seguinte:

Você pode copiar essa URL e colá-la quando estiver criando o webhook:

Basta colocar a URL no campo do formulário e depois podemos disparar um teste pelo botão “Webhook de teste”:

Se aceitarmos a mensagem, o webhook será enviado e poderemos ver a requisição no RequestBin:

É uma requisição de exemplo, mas mantém a mesma estrutura de uma requisição real:
{«unsubscribe_event»:{«source»:»web»,»ip»:»192.168.1.1″,»email»:»[email protected]»,»reason»:null,
«description»:null,»created_at»:»2019-06-14T10:48:41.510+02:00″},
«time»:»2019-06-14T10:48:41.511+02:00″,»automation_trigger_id»:0,»subscriber»:{«id»:null,»email»:»[email protected]»,
«name»:null,»score»:null,»status»:»inactive»,
«subscribed_at»:null,»subscribed_with_acceptance»:false,»subscribe_ip»:null,
«unsubscribed»:false,»unsubscribed_at»:null,»unsubscribe_ip»:null,
«unsubscribe_sent_email_id»:null,»address»:null,»city»:null,»state»:null,
«country»:null,»birthday»:null,»website»:null,»bounced»:false,»reported_spam»:false,
«local_ban»:false,»global_ban»:false,»created_at»:»2019-06-14T10:48:41.507+02:00″,»updated_at»:»2019-06-14T10:48:41.507+02:00″,
«custom_fields»:{}}}
Assim você pode conhecer essa estrutura para tratá-la no seu sistema.
Você também pode fazer requisições reais se salvar a automação e gerar um cancelamento de inscrição real.
Essas você verá no RequestBin, mas já com as informações reais do contato.

Posts relacionados:
- SMTP e API profissionais para emails transacionais com estatísticas
- Exemplos de Storytelling: As melhores histórias
- Publicidade Subliminar: Tipos e Exemplos
- Teasers Publicitários: Estratégias para o seu branding
- Identifique Forças e Fraquezas na Economia Digital do Zero
· Automações ao adicionar o contato e mudança de grupo
Até agora falamos sobre criar um trigger para o cancelamento de inscrição, mas existem também outras ações, como quando é adicionado um novo contato, ou seja, quando um novo contato se registra.
A diferença é que, nesses casos, ao contrário do cancelamento de inscrição, temos a opção de enviar também um email em resposta, por isso o webhook aparece em uma lista suspensa:

Na verdade, esta é a única diferença, pois em todo o resto ele se comporta exatamente igual.
Tenha em mente que, dentro de uma automação, você pode criar todos os triggers de que precisar. Assim, você pode ter um trigger que envie um email ao contato quando ele se registrar e outro trigger que envie um webhook, sem problema.
Esperamos que este novo recurso seja útil para você.
Se quiser conhecer as demais novidades desta versão, aqui está um resumo com os novos recursos do Mailrelay v3, e no nosso glossário você pode ver a lista completa de recursos do Mailrelay.
