Skip to main content
我们正在积极扩展 webhook 支持。刚刚推出:具有指数退避的自动重试——失败的传递现在将在 30 分钟内重试最多 5 次。即将推出:
  • 团队范围的默认 webhook URL
  • 用于有效负载验证的加密签名
想要提前体验?请通过 info@olostep.com 联系我们,或加入我们的 Slack 社区

概览

Webhooks 在长时间运行的操作完成时向你的服务器发送实时 HTTP POST 通知。你的应用程序无需轮询状态即可接收即时更新。

使用场景

异步处理

批处理或抓取完成时收到通知,而不是轮询

流水线触发器

数据准备好时自动触发下游处理

警报

在完成时向 Slack、电子邮件或其他系统发送警报

数据同步

使你的数据库与 Olostep 结果保持同步

支持的事件

当批处理完成(所有项目完成或失败)时触发。
当抓取完成并且所有发现的页面都已处理完毕时触发。

设置 Webhooks

在创建资源时传递 webhook。此 URL 将接收完成通知。
参数名称: 规范参数是 webhook。为了向后兼容,webhook_url 也可以作为别名接受。

Webhook 负载

所有 webhook 负载遵循统一的信封结构:

信封字段

使用 id 字段在接收器中去重 webhook 传递。相同的事件 ID 出现在所有重试尝试中。

重试行为

失败的 webhook 传递将在 30 分钟的窗口内自动重试,使用指数退避: 总重试窗口: 30 分钟
每次请求超时: 30 秒

什么算作成功

你的端点必须在 30 秒内返回 2xx 状态码。任何其他响应都会触发重试。

最佳实践

立即返回 200 OK 并异步处理 webhook。如果你的处理时间超过 30 秒,我们将重试——导致重复传递。
使用 id 字段去重。存储已处理的事件 ID 并跳过重复项。
记录所有 webhook 接收以进行调试。包括事件 ID、时间戳和处理结果。
始终为 webhook 端点使用 HTTPS。HTTP 端点容易受到窃听和中间人攻击。

故障排除

  1. 验证你的请求中是否包含 webhook 参数
  2. 验证你的端点是否可公开访问(不是 localhost)
  3. 检查你的服务器日志中的传入请求
  4. 确保你返回的是 2xx 状态码
这是重试期间的预期行为。使用 id 字段实现幂等处理:
你的端点必须在 30 秒内响应。异步处理 webhooks:

即将推出

团队默认 URL

在你的帐户设置中配置默认的 webhook URL。所有请求将使用此 URL,除非被覆盖。

签名验证

使用加密签名(HMAC-SHA256)验证 webhook 负载来自 Olostep。
想要提前体验这些功能?请通过 info@olostep.com 联系我们,或加入我们的 Slack 社区