AutoMod

Premium
Voltar aos tutoriais

Connecting an External Service with Webhooks

Um webhook de entrada que posta um anúncio, mantém um total acumulado em uma variável armazenada e passa a vez para uma segunda automação quando um marco é atingido.

1

Crie uma variável para o total acumulado

Abra a aba Variáveis do plugin Automações e crie uma variável chamada total_orders, do tipo Número e com padrão 0. As variáveis são compartilhadas no servidor inteiro, então qualquer automação pode ler ou atualizar a mesma.

Ver a referência completa
2

Crie a automação de entrada

Crie uma automação chamada "Alertas de pedidos" e escolha Webhook de entrada na aba Gatilho. Ative "Exigir um segredo" para que só solicitações assinadas possam acioná-la e copie a URL e o segredo para o serviço que envia a solicitação, como uma loja virtual, um provedor de pagamentos ou o seu próprio backend.

Um envio assinado, do lado de quem envia

timestamp=$(date +%s)
body='{ "customer_name": "Alex", "amount": 42 }'
signature=$(printf '%s.%s' "$timestamp" "$body" | openssl dgst -sha256 -hmac "<secret>" | sed 's/^.* //')

curl -X POST <webhook-url> \
  -H "Content-Type: application/json" \
  -H "X-Automation-Timestamp: $timestamp" \
  -H "X-Automation-Signature: sha256=$signature" \
  -d "$body"
3

Transforme os dados em uma mensagem e um total acumulado

Na aba Ações, adicione uma ação Enviar mensagem para um canal #pedidos, puxando os dados direto do corpo da solicitação com tokens {http.body.*}. Depois adicione uma ação Definir variável: escolha total_orders, defina a operação como Incrementar e deixe o valor em 1 para contar um pedido por envio.

CampoValor
1. Enviar mensagem#pedidos · "🛒 Novo pedido de {http.body.customer_name}: ${http.body.amount}!"
2. Definir variáveltotal_orders · Incrementar · 1
4

Encadeie uma segunda automação

Adicione mais uma ação: Chamar automação. Em vez de fazer algo direto no Discord, esta ação de controle de fluxo chama outra automação como uma sub-rotina. Aponte para a automação de marcos que você vai criar no próximo passo e deixe "Esperar terminar" desativado, já que esta não precisa devolver nada.

5

Crie a automação de marcos

Crie uma segunda automação, "Alertas de marcos". O gatilho dela é Chamada por outra automação, que não tem configurações porque só roda quando a ação Chamar automação de outra automação a inicia. Adicione uma condição Variável armazenada verificando se total_orders é maior que um número redondo como 1000 e depois uma ação Enviar mensagem que anuncie isso em #anúncios.

CampoValor
GatilhoChamada por outra automação
CondiçãoVariável armazenada · total_orders · maior que · 1000
AçãoEnviar mensagem · #anúncios · "🎉 Acabamos de passar de 1000 pedidos!"
6

Teste a cadeia inteira

Use Testes e logs na automação de entrada. Os dados de exemplo deixam você preencher um customer_name e um amount fictícios. O passo a passo mostra a mensagem, a atualização da variável e a chamada para Alertas de marcos, com ou sem correspondência da condição dela.

Você conectou um serviço externo

O mesmo padrão, um webhook de entrada alimentando variáveis e outras automações, funciona para quase qualquer ferramenta que envie uma solicitação HTTP: um serviço de formulários, um provedor de pagamentos, o seu próprio backend. Veja a referência completa para todos os gatilhos, condições e ações disponíveis.