谁能管理端点
组织的所有者(Owner)和管理员(Admin)。端点会收到本业务单元的事件流,包括姓名与邮箱。登记端点与签发 API 密钥属于同一类权限。登记端点
1
打开抽屉,选择「Webhooks」
抽屉标题旁的业务单元选择器决定端点归属于哪个单元。
2
新增端点
- 端点地址——必须为
https://。仅localhost可使用http://,用于本地联调。 - 备注——可选。
- 事件——勾选该端点需要接收的事件类型。至少勾选一项。未勾选任何事件的端点什么都不会收到,不会视为「全部」。
3
复制签名密钥
在端点上选择投递记录。签名密钥显示在记录上方,并且始终可见。接收方必须持有一份副本才能验签。与 API 密钥的 Secret 不同,它可以再次查看。
4
发送测试
发送测试会向该端点排入一个
webhook.ping 事件。它与真实事件使用同一套签名、重试与记录。事件类型
可订阅的事件与自动化使用的触发器完全相同。新增一个触发器后即可订阅。
唯一不是 Webhook 事件的自动化触发器是「活动开始前」:那是自动化自身的定时器,不是某个人或某张订单上的变化。
请求格式
每个事件一次POST,Content-Type: application/json,用户代理为 orriven-webhooks/1.0,并携带以下请求头:
请求体为 JSON,含
id、type、createdAt、apiVersion 与 data。data 中的 event 块始终存在。registration、order、exhibitor 与 contact 在事件涉及它们时出现,否则为 null——order.expired 尚无报名,survey.submitted 没有订单。根据 type 判断应读取哪些块。
- 金额为该币种最小单位的整数(
12000即 120.00 USD)。 registration.passUrl是此人的托管入场凭证。收到registration.confirmed即拥有链接,无需再次调用。webhook.ping测试事件只携带data: { "endpointId": "…" }。
验证签名
每次投递都以端点的密钥按 Stripe 的方案签名:签名内容是时间戳、一个点号与原始请求体——即t.body——v1 是它的十六进制 HMAC-SHA256。时间戳位于签名内容之内,截获的投递无法被改写日期。拒绝超过几分钟的时间戳即可防止重放。
express.raw({ type: "application/json" }) 读取请求体,验签之后再解析。经解析后重新序列化的请求体无法通过校验。
投递与重试
- 10 秒内收到任意 2xx 响应即视为送达。重定向不会被跟随,也不算成功。端点迁移后应重新登记。
- 其余情况——非 2xx 状态、超时、DNS 或 TLS 失败——按固定时间表重试:立即一次,之后距上一次分别为 1 分钟、5 分钟、30 分钟、2 小时、6 小时。合计 6 次尝试,跨度约八个半小时。最后一次仍失败即标记为已失败,此后只能手动重新投递。
- 投递保证至少一次,不保证恰好一次。重试与重新投递携带同一个
orriven-event-id,请以它去重。 - 不保证顺序。 重试的事件可能晚于更新的事件到达。如需顺序,按
createdAt排序。 - 端点失败不会阻塞或回滚产生该事件的报名或订单。
投递记录
端点列表显示每个端点的地址、已订阅事件数、状况——「投递正常」「连续失败 N 次」或「尚无投递」——以及已启用或已停用。投递记录打开单个端点的记录,最新在前:
在任意一行选择重新投递,会创建一条携带原事件 id 的新投递。记录仍然保留首次失败的事实。接收方可以识别为同一事件。编辑订阅修改订阅范围;此后只有勾选的事件会送达该端点。
停用端点
停用立即停止投递。该端点尚在排队的投递将以「Endpoint is disabled.」为由结束为「已失败」。启用可重新开启。端点不删除——这一行是此集成存在过的记录,其投递记录始终可查。自动化中的 Webhook
自动化画布上的调用 Webhook 动作可以指向一个已登记的端点,而不是裸地址。已登记端点会获得签名、重试时间表与投递记录。填写裸地址则仍是一次性调用。注意事项
- 端点作用于整个业务单元。 没有按活动订阅。请在接收侧按
data.event筛选。 - 空订阅意味着什么都不发,不是「全部事件」。
- 密钥可共享且可再次查看。 它为发往该端点的每次投递签名。一旦泄露,登记新端点并停用旧端点。
- 只停用,不删除。 端点的变更——创建、编辑订阅、停用、重新投递——都记入审计日志。
- 平台不会停用端点。 连续失败只会更新「状况」列。停止集成是控制台操作。
相关页面
开发工具
「Webhooks」标签页所在的抽屉。
命令行工具
在终端里登记、测试与重新投递。
自动化
同一套触发器,在平台内部执行。
Agent
MCP 服务上的端点与投递工具。