Session.Unlink
当已验证家长关联结束时发出。任一方都可以结束它:玩家通过您产品中的 POST /session/unlink-parent,家长则在 Family Connect 中解除。由于家长发起的解除不会经过您的 API,这个事件是您获知它的唯一途径。
会话并未被删除。它仍为 ACTIVE,玩家的权限与已推送的数据也都保留,被移除的只有家长关联,也就是 kuid、家长的邮箱,以及家长设置的额度与各项控制。玩家可以继续使用同一个 sessionId,之后也可以再次邀请家长。
请订阅该事件
webhook 端点只会收到它已订阅的事件类型。请在 Compliance Studio 中该产品的 Developer Settings 页面上,为该端点选中 Session.Unlink,否则 k-ID 会直接丢弃该事件,既不尝试投递也不返回错误。该项仅在您的组织启用了已验证家长关联后才会出现在列表中。
投递与恢复
webhook 事件在失败时最多重试 2 次。如果您的服务器漏掉了某个事件,请用 sessionId 调用 GET /session/get 并检查 hasApproverEmail。详见投递、重试与恢复。
字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
eventType | string | 是 | 始终为 "Session.Unlink" |
data | object | 是 | 解除关联数据 |
data.sessionId | string (UUID) | 是 | 被解除家长关联的会话 |
data.productId | number | 是 | 产品的 productId |
data.unlinkedBy | string | 是 | 由哪一方结束了关联,取值为 player 或 parent |
data.unlinkedAt | string (RFC 3339) | 是 | 关联结束的时间 |
unlinkedBy
| 取值 | 含义 |
|---|---|
player | 通过 POST /session/unlink-parent 解除,即您产品中面向玩家的入口。k-ID 还会发邮件告知家长关联已结束 |
parent | 家长在 Family Connect 中解除 |
示例
- player
- parent
{
"eventType": "Session.Unlink",
"data": {
"sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",
"productId": 12345,
"unlinkedBy": "player",
"unlinkedAt": "2026-04-20T18:42:11Z"
}
}
{
"eventType": "Session.Unlink",
"data": {
"sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",
"productId": 12345,
"unlinkedBy": "parent",
"unlinkedAt": "2026-07-23T06:13:07Z"
}
}
处理该事件
- 用
data.sessionId匹配回您保存的玩家记录,不再显示家长处于已连接状态。 - 停止应用家长此前设置的各项控制。k-ID 侧也会清除它们,因此
GET /screentime/get-state不会再返回其计划。 - 保留会话。不要让玩家重新走一遍年龄门禁,并继续像之前一样推送使用数据。
- 让您的处理逻辑保持幂等。投递为至少一次,因此同一事件可能到达多次。再次调用
POST /session/unlink-parent不会触发第二个事件,它只会返回原来的unlinkedAt并结束。