跳至内容
AutoPSEO

出站 Webhook

同样的告警事件,以 JSON 投递到你控制的任意 URL。无需 Slack。

账户 → Slack、Teams 与 Webhooks → 出站 Webhooks需要订阅或试用1 min read

Webhook 订阅 告警事件 的方式与 Slack 频道完全相同,只是以 HTTP POST 而非消息的形式接收。可以指向 Zapier、Make、n8n、事故处理工具,或你自己的端点。Webhook 在 账户 → Slack, Teams & Webhooks 页面底部管理,无论是否已连接 Slack 工作区均可使用。

要发送到 Microsoft Teams?请改用 Microsoft Teams 一节。Teams 只渲染自己的卡片格式,并会拒绝下方的 JSON,因此有独立的、无需编写代码的配置方式。

创建一条

  1. 点击 新建 Webhook 并为其命名,例如 Zapier
  2. 粘贴目标 URL。必须是公开端点:私有和内网地址会被拒绝,且每一次重定向都会重新校验。
  3. 勾选应接收的告警类型,并设置最低严重级别,选项与告警订阅相同。
  4. 复制创建时仅显示一次的 签名密钥,并在接收端配置。之后不会再显示。
  5. 使用发送图标发送单次测试事件,或使用旁边的图标 POST 四条覆盖不同事件类型的 示例事件,以便在检测器真正触发之前构建并测试处理程序。示例带有 payload.sample: true,且 id 以 sample- 为前缀。

会收到什么

每个事件一次 POST,Content-Type: application/json

{
  "id": "<event uuid>",
  "event_type": "traffic_anomaly",
  "severity": "high",
  "site_id": "<property uuid, or null>",
  "occurred_at": "2026-08-29T06:00:00.000Z",
  "payload": { "siteUrl": "https://example.com/", "metric": "clicks", "...": "..." },
  "source": "autopseo"
}

payload 对象因事件类型而异,承载具体信息:资源、指标、日期、受影响的 URL。

验证签名

每个请求都带有 X-AutoPSEO-Signature: sha256=<hex>,即使用该 Webhook 密钥对原始请求体计算的 HMAC-SHA256。请在任何 JSON 解析之前,对收到的原始字节计算相同的 HMAC,并以常量时间比较两者。请求还会以 AutoPSEO-Webhook/1.0 user agent 标识自身,但真正应信任的是签名。

投递行为

  • 投递与 Slack 共用同一任务,该任务每十分钟执行一次,因此 Webhook 会在检测后数分钟内触发。
  • 每个请求在十秒后超时。看似暂时性的失败会在后续运行中重试;持续失败的 Webhook 会被禁用,原因显示在对应行上。
  • 一旦收到事件即返回 2xx,并将实际处理放到异步执行。
  • Webhook 可随时暂停、编辑和删除。密钥无法再次查看:如需轮换,请创建新的 Webhook 并删除旧的。

属于 Slack、Teams 与 Webhook。相关:Microsoft Teams告警添加 Slack 应用

Ready to see what your Search Console data is hiding?

Connect a property and every report fills in immediately. No credit card needed.