/orgs/:id/webhooks
家族 —— 见 Tier 3 组织文档(上线后)。
端点家族
都需要登录态 key(
Authorization: Bearer … 或 x-api-key)。所有
非修改端点免费;create/update/delete 也免费 —— webhook 不消耗 credits。
Create
Body
Response —— create
唯一会带原始secret 的响应。立即保存 —— 之后的 list/update
响应都会省略它。
List
{ items: [...], total }。每行 secret 都被省略。
Update
secret 不能通过 PUT 轮换 —— 要新 secret 请删除后重建。
Delete
204 No Content。该 webhook 的投递历史在删除后保留 30 天,然后清理。
Deliveries
attempt: 2 / 3 落在同一 event_type 下。
response_status: 0 表示网络 / 超时失败(没收到 HTTP 响应)。
事件目录 [#event-catalog]
把任意子集传给event_types。按来源分组:
user.* —— 你账户的自配置写入
user.webhook.create/user.webhook.update/user.webhook.delete
system.* —— 网关侧
system.balance.notify.dispatched—— 低余额定时任务通知你时触发system.payment.received—— 充值到账时触发
org.* —— 仅当你是组织 owner/admin 时
org.settings.updateorg.member.concurrencyorg.member.allowed_models/org.member.allowed_models.bulkorg.api_key.create/org.api_key.revokeorg.webhook.create/org.webhook.update/org.webhook.delete
admin.* —— 仅当你有平台管理员角色时
admin.org.create/admin.org.update/admin.org.deleteadmin.org.member.add/admin.org.member.role/admin.org.member.removeadmin.org.member.allowed_models/admin.org.member.allotmentadmin.org.allowed_modelsadmin.user.create/admin.user.update/admin.user.deleteadmin.group.create/admin.group.update/admin.group.deleteadmin.balance.adjust
Payload 签名
外发的 POST body 由网关签名。信任前先验证:X-ByteSpike-Signature 请求头。签名校验不过的 payload 一律
拒绝 —— 我们把这条当契约。
重试与失败模型
- 重试:5xx / 网络失败时最多 3 次尝试。退避:30s,然后 5min。
- fail_count:自上次成功投递以来的累计。下次 2xx 时清零。
- 自动禁用:
fail_count达到50时,网关把status翻为disabled并停止派发。webhook 行被保留,便于你查看 deliveries 和通过 PUT 重新启用。 - 无绕过:4xx 响应算一次投递(你的端点拒了 payload);4xx 不触发重试。