Page DeltasPage Deltas

Canais de notificação

Um canal é um destino para alertas. Adicione quantos precisar, e depois vincule aos monitores individuais (ou a todos os monitores por padrão).

Canais vs. substituições de monitor

Canais são definidos a nível da organização. Cada canal pode ser marcado como o padrão — o que significa que os novos monitores enviam para ele automaticamente. Em qualquer monitor específico você pode substituir o padrão e escolher um subconjunto personalizado.

Slack

  1. No Slack, vá em Apps → Incoming Webhooks → Add to Slack e selecione o canal que deve receber os alertas.
  2. Copie a URL do webhook fornecida pelo Slack.
  3. No Page Deltas, abra a página Canais, Adicionar um canal, escolha Slack, cole a URL e salve.
  4. Clique em Enviar teste para confirmar se a mensagem chega ao canal certo no Slack.

Discord

No servidor do Discord, abra Configurações do Servidor → Integrações → Webhooks → Novo Webhook. Copie a URL e cole num novo canal do Discord no Page Deltas.

Microsoft Teams

No Teams, clique com o botão direito do mouse no canal de destino, Conectores → Incoming Webhook → Configurar. Nomeie como Page Deltas, salve e copie a URL para o Page Deltas.

E-mail

Adicione o endereço do destinatário. Enviaremos primeiro um e-mail de verificação a esse endereço — o canal fica no estado de pendente de verificação e não receberá alertas até o destinatário confirmar. O envio de e-mails parte de um domínio verificado nosso. Para envio de equipe, utilize um alias de grupo ao invés de adicionar contas individuais, uma por vez.

Webhook genérico

Use isto quando quiser impulsionar o seu próprio sistema através de alertas (Linear, Jira, um Lambda, um Slack-via-bot, etc.).

Payload

O corpo (body) é um objeto JSON plano. Novos campos podem ser adicionados ao longo do tempo, portanto ignore chaves desconhecidas em vez de rejeitá-las.

POST <your URL>
Content-Type: application/json
X-Signature: sha256=<hex>

{
  "event": "change.detected",
  "monitor_id": "...",
  "monitor_url": "https://example.com/pricing",
  "monitor_name": "Competitor pricing page",
  "change_id": "...",
  "detected_at": "2026-06-01T12:00:00Z",
  "summary": "Pro plan increased from $29 to $39/month.",
  "before_screenshot_url": "https://.../before.png",
  "after_screenshot_url": "https://.../after.png",
  "dashboard_url": "https://app.pagedeltas.com/monitors/..."
}

Verificação da assinatura (HMAC)

Cada solicitação contém o cabeçalho X-Signature no formato sha256=&lt;hex&gt;, em que o valor é o HMAC-SHA256 do corpo da solicitação bruto utilizando o segredo do seu canal — mostrado apenas na hora da criação. Não há componente de timestamp.

# Node.js example
import crypto from "node:crypto";

function verify(req, rawBody, secret) {
  const header = req.headers["x-signature"]; // "sha256=<hex>"
  const expected =
    "sha256=" +
    crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(header),
    Buffer.from(expected),
  );
}

Entrega e falhas

ComportamentoDetalhes
TentativasCada alerta é enviado em tentativa única por canal. Atualmente não há repetições automáticas — certifique-se de que o destinatário responda rapidamente e ignore duplicatas preventivamente.
FalhasUma resposta que não seja 2xx ou problema na rede define a entrega como falha. O monitor não sofre pausa devido a falhas na entrega.
AuditoriaCada tentativa (sucesso ou falha, e com código de status HTTP) fica registrada no lado do servidor em log de envio.

Melhores práticas

  • Use um canal para um canal do Slack do workspace — não reutilize o webhook em várias salas do Slack.
  • Para monitores muito ativos, envie para um canal dedicado do Slack ao invés do movimentado #general.
  • Para avisos vitais, combine dois canais que possuam métodos diferentes (ex. Slack + email) garantindo que, se ocorrer uma falha do Slack, não esconda uma grande mudança.
Canais de notificação · Documentação · Page Deltas