跳到主要内容
Sursa Developers

事件 · 计费

subscription.updated

订阅已更新

云服务订阅已更改:版本类型、状态、席位或周期(data.previous_attributes 中保存之前的值)。

对象类型
subscription
投递对象
具有 admin 角色的 Webhook

有效负载

对象:EventSubscriptionUpdated

  • idstring必填

    事件 ID(evt_…),也会作为 webhook-id 头发送。可用于丢弃重复的投递。

  • typestring必填

    可选值: subscription.updated

  • created_atstring (date-time)必填

    变更发生的时间(UTC)。

  • org_idinteger必填
  • api_versionstring必填

    data 结构定义的契约版本。

  • sequenceinteger

    在该 Webhook 内的投递序号(测试事件不返回)。

  • objectWebhookEventObject必填
  • payloadstring必填

    thin 表示没有 data:请通过 API 读取对象。

    可选值: fullthin

  • dataobject
    字段
    • subscriptionEventSubscription必填
    • previous_attributesobject必填

      对象中已更改的顶层字段的原值。

    • actor_idinteger | null必填

      执行该操作的用户;由组织 API 密钥或平台自身执行时为 null。

  • testboolean必填

    由 POST /v1/webhooks/{webhook_id}/test 发送的测试事件。

投递示例

{
  "id": "evt_0123456789abcdef0123456789abcdef",
  "type": "subscription.updated",
  "created_at": "2026-10-24T10:00:03Z",
  "org_id": 1,
  "api_version": "1.62.0",
  "sequence": 1042,
  "object": {
    "type": "subscription",
    "id": "1"
  },
  "payload": "full",
  "data": {
    "subscription": {
      "edition": "business",
      "status": "active",
      "seats_purchased": 25,
      "billing_interval": "month",
      "trial_ends_at": null,
      "current_period_start": "2026-10-01T00:00:00Z",
      "current_period_end": "2026-11-01T00:00:00Z",
      "canceled_at": null,
      "credits_allowance": 5000
    },
    "previous_attributes": {
      "seats_purchased": 20
    },
    "actor_id": 7
  },
  "test": false
}

接收事件

每次投递都是向 Webhook 接收地址发送的 POST 请求,请求体就是这个 JSON。先验证 webhook-signature 头(Standard Webhooks),再信任请求体;在几秒内返回 2xx 状态,之后再处理。投递到同一个 Webhook 的事件保持原有顺序;投递失败时按逐渐拉长的间隔重试。

随时可能新增事件类型和字段:跳过不认识的类型和字段。

同样的事件在事件记录中保留 30 天 →