Demo de automação com Gato GraphQL

Enviar automaticamente um e-mail a todos os assinantes notificando sobre um novo post

Sempre que um novo post é criado no site WordPress, envie automaticamente um e-mail de notificação para todos os usuários assinantes.

Leonardo Losoviz
Leonardo Losoviz -
Logo
Image
Target Image

Podemos usar o Gato GraphQL para enviar automaticamente um e-mail de notificação para todos os usuários inscritos em uma lista de e-mails, sempre que um novo post for criado no site.

No vídeo de demonstração, primeiro executamos a query persistida Enviar e-mail aos assinantes notificando sobre um novo post e testamos o envio de um e-mail com o conteúdo de um post específico.

Testamos passando a variável GraphQL $postId com o valor 1 no dicionário JSON e executando a query GraphQL. Ao verificar no Mailpit (que intercepta todos os e-mails), constatamos que um e-mail personalizado foi de fato enviado para todos os usuários.

Por exemplo, o usuário "Blogger Davenport" recebeu o seguinte e-mail:

E-mail de notificação sobre novo post enviado ao usuário
E-mail de notificação sobre novo post enviado ao usuário

Por padrão, essa query persistida GraphQL envia o e-mail para todos os usuários. Também podemos especificar para quais usuários enviar o e-mail, como aqueles que se inscreveram em alguma lista de e-mails. Isso é feito removendo o comentário do input users(filter:) na query:

{
  users
  # # Retrieve only users subscribed to an email list (uncomment if needed)
  # (
  #   filter: {
  #     metaQuery: {
  #       key: "email_list",
  #       compareBy: {
  #         arrayValue: {
  #           value: "new_posts",
  #           operator: IN
  #         }
  #       }
  #     }
  #   }
  # )
}

Esse filtro recupera os usuários que possuem o meta email_list (que é um array de nomes de listas) com o valor new_posts.

Ao executar a query novamente, desta vez o e-mail foi enviado para 3 usuários (aqueles inscritos nessa lista de e-mails).

Por fim, automatizamos o processo para que, sempre que houver um novo post no site, o e-mail de notificação seja enviado automaticamente. Para isso, publicamos a regra de automação Send notification email to users when there is a new post.

Esta regra de automação é acionada pelo hook gatographql:draft_to_publish. Assim, sempre que o status de um post é alterado de draft para publish, um e-mail de notificação é enviado automaticamente aos usuários.


Assine nossa newsletter

Fique por dentro de todas as atualizações do Gato GraphQL.