关于webhooks

Webhooks 允许您在每次触发警报时向特定 URL 发送 POST 请求。 当您创建或编辑警报时可以启用此功能。为您的应用程序添加正确的 URL,一旦触发警报,我们就会发送 POST 请求,并在请求正文中包含警报消息。如果警报消息是有效的 JSON,我们将发送带有“application/json”内容类型标头的请求。否则,我们将发送“text/plain”作为内容类型标头。

重要安全声明:配置 Webhook 时,请确保不在 Webhook 正文中包含登录凭据或密码等敏感信息。通过 Webhook 传输敏感数据可能会将其暴露给未经授权的各方并导致安全漏洞。始终使用安全、经过身份验证的端点并加密敏感数据来保护您的信息。

以下是我们将用于发送 POST 请求的 IP 地址列表,以防需要获得许可:

  • 52.89.214.238
  • 34.212.75.30
  • 54.218.53.128
  • 52.32.178.7

如果您想向带有端口号的 URL 发送请求,请注意,我们仅接受端口号为 80 和 443 的 URL。对带有任何其他端口号的 URL 的请求将被拒绝。如果远程服务器处理请求超过 3 秒,则该请求将被取消。另请注意,IPv6 目前无法与 Webhooks 配合使用,但我们可能会在将来实现这一点。

请记住,许多应用程序和服务希望从 Webhook 接收 JSON 格式的数据,而不是默认情况下警报消息中的纯文本格式的数据。 在发送请求之前,请阅读相应应用程序或服务的文档并相应地格式化您的警报消息。 您可以在 wiki 中找到有关 JSON 格式的更多信息。

例如,Slack 正在等待以“文本”作为键的 JSON 格式的消息。 您可以在消息框中输入:

{"text": "BTCUSD Greater Than 9000"}

由于消息是有效的 JSON,因此我们将发送带有“application/json”内容类型标头的请求。 使用 cURL 的请求如下所示:

curl -H 'Content-Type: application/json; charset=utf-8' -d '{"text": "BTCUSD Greater Than 9000"}' -X POST https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

如果您的消息是纯文本形式(即您使用的是默认警报消息),我们将发送带有“纯文本/文本”内容类型标头的请求。

cURL:

curl -H 'Content-Type: text/plain; charset=utf-8' -d 'BTCUSD Greater Than 9000' -X POST https://webhook.site/test

为了保护您的数据,仅在启用双重身份验证的情况下才允许使用警报 Webhooks。