Session.Unlink
Verified parent linking 연결이 끝날 때 발생합니다. 어느 쪽에서든 끝낼 수 있습니다. 플레이어는 제품 안의 POST /session/unlink-parent를 통해, 부모는 Family Connect에서 해제합니다. 부모가 시작한 해제는 여러분의 API를 거치지 않으므로, 이 이벤트가 그것을 알 수 있는 유일한 수단입니다.
세션이 삭제되는 것은 아닙니다. 세션은 ACTIVE 상태로 남고 플레이어의 권한과 전송된 데이터도 그대로 유지되며, 제거되는 것은 부모 연결뿐입니다. 즉 kuid, 부모의 이메일, 그리고 부모가 설정한 얼로원스와 컨트롤이 제거됩니다. 플레이어는 같은 sessionId로 계속 이용할 수 있고 나중에 다시 부모를 초대할 수 있습니다.
이 이벤트를 구독하세요
웹훅 엔드포인트는 구독한 이벤트 유형만 받습니다. Compliance Studio에서 해당 제품의 Developer Settings 페이지를 열고 그 엔드포인트에 대해 Session.Unlink를 선택하세요. 그러지 않으면 k-ID는 전달을 시도하지도 오류를 반환하지도 않고 이 이벤트를 버립니다. 이 항목은 조직에 검증된 부모 연결이 활성화되어 있을 때만 목록에 나타납니다.
전달 및 복구
웹훅 이벤트는 실패 시 최대 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을 반환하고 끝납니다.