开始屏幕使用时间
标记本产品上活动屏幕使用时间的开始。在屏幕使用时间处于活动状态期间,k-ID 会发送实时 webhook——`Screentime.BreakReminder`、`Screentime.LimitWarning` 和 `Screentime.LimitReached`——它们在越过阈值的那一刻触发,而不仅仅在使用结束时触发。 状态含义: * `accepted` - 屏幕使用时间已开始,或对已处于活动状态的会话的重试被幂等处理。 * `replaced` - 该 `sessionId` 的屏幕使用时间已处于活动状态时又传入了不同的 `id`;先前的屏幕使用时间被自动结束,其时长计入当天的屏幕使用量。当先前的屏幕使用时间从未被显式结束时(例如应用或设备重启后),可借此恢复。 每个 `sessionId` 同一时间只支持一段活动屏幕使用时间。调用必须实时进行——`timestamp` 的值不得早于 5 分钟前。
Authorization
api-key In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "https://example.com/screentime/start" \ -H "Content-Type: application/json" \ -d '{ "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672", "id": "3f8c1d24-6b5e-4a07-9c2f-8d1e7a4b6c90", "timestamp": "2026-06-24T16:00:00Z" }'{ "sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672", "id": "3f8c1d24-6b5e-4a07-9c2f-8d1e7a4b6c90", "status": "accepted", "screentime": { "counter": { "timeUsedTodayMinutes": 45, "timeLimitTodayMinutes": 120, "timeRemainingTodayMinutes": 75, "dayResetsAt": "2026-06-25T00:00:00Z" } }}{ "error": "INVALID_INPUT", "errorMessage": "The request was missing a sessionId parameter."}申请屏幕使用时间例外 POST
当孩子希望今天多玩一会儿,或希望绕过正在生效的安静时段时,代表孩子提交例外申请。k-ID 会记录该申请并通知家长批准或拒绝。按孩子幂等:若同一个孩子的另一份申请仍在待处理中,此时的调用会原样返回那份待处理申请,而不会创建第二份。 处理结果会以单个 `Screentime.OverrideResult` webhook 异步送达,携带 `status: "granted" | "denied" | "expired"`。webhook 正文在 `state` 下包含与 `GET /screentime/get-state` 相同的结构,因此平台可以直接更新自身保存的状态,无需再次拉取。24 小时内未处理的申请会以 `status: "expired"` 触发 webhook。
将名义销售方的支付信息规范化为标准格式 POST
将名义销售方(merchant of record)的原始支付载荷规范化为与提供方无关的标准结构,使后续的交易接口无需了解各家提供方的格式。 在 `provider` 中指明名义销售方,并在 `data` 中传入其原始载荷。对于 Xsolla,该载荷是 `payment` webhook 的正文,且必须包含卡片 BIN。