2026-09-12 08:57:29 +08:00
|
|
|
|
openapi: 3.1.0
|
|
|
|
|
|
info:
|
|
|
|
|
|
title: SaaS 首次认证、绑定和激活接口
|
|
|
|
|
|
version: 0.78.0
|
|
|
|
|
|
description: ONBOARDING-1.1。仅用于生产登记为physical_confirm的设备;旧设备维持原协议。详细规则见docs/onboarding-implementation.md。
|
|
|
|
|
|
paths:
|
|
|
|
|
|
/api/v1/device/time-challenges:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC01POSTapiv1devicetimechallenges
|
|
|
|
|
|
summary: C01 校时挑战
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: 专用HTTP或HTTPS校时;无需时间戳及请求签名;成功直接返回payload_b64和mac_hex,设备必须核验TIME1。
|
|
|
|
|
|
security: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/TimeChallengeResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/TimeChallengeInput'
|
|
|
|
|
|
/api/v1/device/register:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC02POSTapiv1deviceregister
|
|
|
|
|
|
summary: C02 首次认证和启动注册
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/RegisterResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/RegisterInput'
|
|
|
|
|
|
/api/v1/device/setup-sessions:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC03POSTapiv1devicesetupsessions
|
|
|
|
|
|
summary: C03 创建临时设置会话
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/SetupResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/SetupInput'
|
|
|
|
|
|
/api/v1/device/handoffs:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC04POSTapiv1devicehandoffs
|
|
|
|
|
|
summary: C04 获取一次性手机入口
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/HandoffResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/HandoffInput'
|
|
|
|
|
|
/api/v1/device/poll:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC05POSTapiv1devicepoll
|
|
|
|
|
|
summary: C05 查询状态和命令
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/PollResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/PollInput'
|
|
|
|
|
|
/api/v1/device/claim-confirmations:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC06POSTapiv1deviceclaimconfirmations
|
|
|
|
|
|
summary: C06 物理按键确认绑定
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ConfirmationResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ConfirmationInput'
|
|
|
|
|
|
/api/v1/device/state-acks:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC07POSTapiv1devicestateacks
|
|
|
|
|
|
summary: C07 绑定状态持久化回执
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/StateAckResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/StateAckInput'
|
|
|
|
|
|
/api/v1/device/activation-attempts:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC08POSTapiv1deviceactivationattempts
|
|
|
|
|
|
summary: C08 申请设备执行许可
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/AttemptResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/AttemptInput'
|
|
|
|
|
|
/api/v1/device/activation-results:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC09POSTapiv1deviceactivationresults
|
|
|
|
|
|
summary: C09 回报设备执行结果
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ResultResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ResultInput'
|
|
|
|
|
|
/api/v1/device/activation-acks:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC10POSTapiv1deviceactivationacks
|
|
|
|
|
|
summary: C10 激活结果保存回执
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ActivationAckResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ActivationAckInput'
|
|
|
|
|
|
/api/v1/device/setup-close:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingC11POSTapiv1devicesetupclose
|
|
|
|
|
|
summary: C11 关闭临时设置入口
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,无query参数;正文不超过8KiB。随机nonce每次发送更新,X-Request-ID在重试时保持。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- DeviceRequest: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Device-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Device-ID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Key-Version
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Key-Version
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Timestamp-Ms
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Timestamp-Ms
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Nonce
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-Nonce
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/CloseResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/CloseInput'
|
|
|
|
|
|
/api/v1/web/handoffs/exchange:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1webhandoffsexchange
|
|
|
|
|
|
summary: 手机兑换一次性入口
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/BrowserResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ExchangeInput'
|
|
|
|
|
|
/api/v1/web/setup/session:
|
|
|
|
|
|
get:
|
|
|
|
|
|
operationId: onboardingGETapiv1websetupsession
|
|
|
|
|
|
summary: 恢复手机设置会话
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/BrowserResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
/api/v1/web/setup/auth-link:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingOIDCPOSTapiv1websetupauthlink
|
2026-10-08 10:06:44 +08:00
|
|
|
|
summary: 关联已登录账号
|
2026-09-12 08:57:29 +08:00
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
2026-10-08 10:06:44 +08:00
|
|
|
|
description: HTTPS,同源浏览器,必须提供设置会话 Cookie 和对应 CSRF;身份可来自 OIDC Bearer 或已登录账号 Cookie。
|
2026-09-12 08:57:29 +08:00
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
Bearer: []
|
2026-10-08 10:06:44 +08:00
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
AccountCookie: []
|
2026-09-12 08:57:29 +08:00
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/BrowserResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Empty'
|
2026-10-08 10:06:44 +08:00
|
|
|
|
/api/v1/web/auth/captcha:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingSetupCaptcha
|
|
|
|
|
|
summary: 获取或刷新设备绑定登录的图片验证码
|
|
|
|
|
|
description: HTTPS、同源和 CSRF 校验;绑定当前设备设置会话,2 分钟有效,刷新和验证均使旧图失效。
|
|
|
|
|
|
security: [{ SetupCookie: [] }]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- { in: header, name: X-Request-ID, required: true, schema: { type: string, format: uuid } }
|
|
|
|
|
|
- { in: header, name: X-CSRF-Token, required: true, schema: { type: string } }
|
|
|
|
|
|
- { in: header, name: Origin, required: true, schema: { type: string } }
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema: { type: object, additionalProperties: false }
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: PNG 图片、captcha_id 和 expires_at_ms,不返回答案
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [ok, data]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok: { type: boolean }
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
required: [captcha_id, mode, expires_at_ms]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
captcha_id: { type: string, format: uuid }
|
|
|
|
|
|
mode: { type: string, enum: [image, tencent, slide] }
|
|
|
|
|
|
captcha_app_id: { type: string, description: 腾讯云 Web 验证码公开 ID }
|
|
|
|
|
|
image: { type: string }
|
|
|
|
|
|
thumb_image: { type: string, pattern: '^data:image/png;base64,' }
|
|
|
|
|
|
image_width: { type: integer, minimum: 1 }
|
|
|
|
|
|
image_height: { type: integer, minimum: 1 }
|
|
|
|
|
|
thumb_width: { type: integer, minimum: 1 }
|
|
|
|
|
|
thumb_height: { type: integer, minimum: 1 }
|
|
|
|
|
|
thumb_x: { type: integer, minimum: 0, description: 拼图块的初始展示横坐标 }
|
|
|
|
|
|
thumb_y: { type: integer, minimum: 0, description: 拼图块所在水平轨道 }
|
|
|
|
|
|
expires_at_ms: { type: integer, format: int64 }
|
|
|
|
|
|
default: { description: 校验失败或会话过期 }
|
|
|
|
|
|
/api/v1/web/auth/captcha/verify:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingVerifyLocalSlideCaptcha
|
|
|
|
|
|
summary: 校验设备设置会话的本地滑块位置
|
|
|
|
|
|
description: HTTPS、同源、CSRF 和设备设置会话校验;每次提交即消费挑战。成功票据只对当前设置会话、客户端和策略版本有效,不能超过原 2 分钟期限。
|
|
|
|
|
|
security: [{ SetupCookie: [] }]
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- { in: header, name: X-Request-ID, required: true, schema: { type: string, format: uuid } }
|
|
|
|
|
|
- { in: header, name: X-CSRF-Token, required: true, schema: { type: string } }
|
|
|
|
|
|
- { in: header, name: Origin, required: true, schema: { type: string } }
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema: { $ref: './login-captcha.yaml#/components/schemas/SlideCaptchaVerifyInput' }
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 一次性位置校验票据
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema: { $ref: './login-captcha.yaml#/components/schemas/SlideCaptchaVerifyResponse' }
|
|
|
|
|
|
default: { description: 校验失败或会话过期 }
|
2026-09-12 08:57:29 +08:00
|
|
|
|
/api/v1/web/auth/sms/send:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1webauthsmssend
|
|
|
|
|
|
summary: 发送登录短信
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/SMSResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/SMSSendInput'
|
|
|
|
|
|
/api/v1/web/auth/sms/verify:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1webauthsmsverify
|
|
|
|
|
|
summary: 验证短信并登录
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/BrowserResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/SMSVerifyInput'
|
|
|
|
|
|
/api/v1/web/profiles:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1webprofiles
|
|
|
|
|
|
summary: 查询可选择的家庭使用者
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ProfilesResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Empty'
|
|
|
|
|
|
/api/v1/web/profiles/create:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1webprofilescreate
|
|
|
|
|
|
summary: 创建家庭或使用者
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ProfileResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ProfileInput'
|
|
|
|
|
|
/api/v1/web/claims:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1webclaims
|
|
|
|
|
|
summary: 提交绑定申请
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ClaimResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ClaimInput'
|
|
|
|
|
|
/api/v1/web/claims/cancel:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1webclaimscancel
|
|
|
|
|
|
summary: 取消自己的绑定申请
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/StateOnlyResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/CancelInput'
|
|
|
|
|
|
/api/v1/web/setup/status:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1websetupstatus
|
|
|
|
|
|
summary: 查询手机绑定进度
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/WebStatusResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Empty'
|
|
|
|
|
|
/api/v1/web/setup/ack:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1websetupack
|
|
|
|
|
|
summary: 网页确认收到绑定结果
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- SetupCookie: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/AckResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/WebAckInput'
|
|
|
|
|
|
/api/v1/web/onboarding/devices:
|
|
|
|
|
|
get:
|
|
|
|
|
|
operationId: onboardingGETapiv1webonboardingdevices
|
|
|
|
|
|
summary: 设置结束后查询我的设备
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- AccountCookie: []
|
|
|
|
|
|
- Bearer: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/DevicesResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
/api/v1/web/account/session:
|
|
|
|
|
|
get:
|
|
|
|
|
|
operationId: onboardingCSRFGETapiv1webaccountsession
|
|
|
|
|
|
summary: 恢复账号会话及CSRF
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- AccountCookie: []
|
|
|
|
|
|
- Bearer: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/AccountResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
/api/v1/web/auth/logout:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1webauthlogout
|
|
|
|
|
|
summary: 退出本浏览器登录
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: HTTPS,同源浏览器,Cookie不可读,CSRF仅保存在当前标签页。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- AccountCookie: []
|
|
|
|
|
|
- Bearer: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-CSRF-Token
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: X-CSRF-Token
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Origin
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 必须与ONBOARDING_ENTRY_URL同源
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/LogoutResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Empty'
|
|
|
|
|
|
/api/v1/ops/device-inventory:
|
|
|
|
|
|
get:
|
|
|
|
|
|
operationId: onboardingGETapiv1opsdeviceinventory
|
|
|
|
|
|
summary: 查询生产设备和激活状态
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: 必须使用运维OIDC身份。对账仅ops_admin;其它写操作ops_admin或ops_operator。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- Bearer: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: false
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Tenant-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 租户公开UUID;服务端核验运维角色
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/DevicesResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1opsdeviceinventory
|
2026-10-08 10:06:44 +08:00
|
|
|
|
summary: 创建设备并直接进入等待绑定
|
2026-09-12 08:57:29 +08:00
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: 必须使用运维OIDC身份。对账仅ops_admin;其它写操作ops_admin或ops_operator。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- Bearer: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Tenant-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 租户公开UUID;服务端核验运维角色
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Idempotency-Key
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 16至160字符,重试保持相同值
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/InventoryResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/InventoryInput'
|
|
|
|
|
|
/api/v1/ops/device-inventory/{id}/credential-deliveries:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1opsdeviceinventoryidcredentialdeliveries
|
|
|
|
|
|
summary: 向工装交付加密密钥
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: 必须使用运维OIDC身份。对账仅ops_admin;其它写操作ops_admin或ops_operator。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- Bearer: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
description: 平台设备公开UUID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Tenant-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 租户公开UUID;服务端核验运维角色
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/DeliveryResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/DeliveryInput'
|
|
|
|
|
|
/api/v1/ops/device-inventory/{id}/release:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1opsdeviceinventoryidrelease
|
|
|
|
|
|
summary: 确认烧录读回并放行
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: 必须使用运维OIDC身份。对账仅ops_admin;其它写操作ops_admin或ops_operator。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- Bearer: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
description: 平台设备公开UUID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Tenant-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 租户公开UUID;服务端核验运维角色
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ReleaseResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ReleaseInput'
|
|
|
|
|
|
/api/v1/ops/device-inventory/{id}/credential-rotations:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1opsdeviceinventoryidcredentialrotations
|
|
|
|
|
|
summary: 准备轮换凭据
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: 必须使用运维OIDC身份。对账仅ops_admin;其它写操作ops_admin或ops_operator。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- Bearer: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
description: 平台设备公开UUID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Tenant-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 租户公开UUID;服务端核验运维角色
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: Idempotency-Key
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 16至160字符,重试保持相同值
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/InventoryResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/RotationInput'
|
|
|
|
|
|
/api/v1/ops/onboarding-activations/{id}/reconcile:
|
|
|
|
|
|
post:
|
|
|
|
|
|
operationId: onboardingPOSTapiv1opsonboardingactivationsidreconcile
|
|
|
|
|
|
summary: 人工记录激活对账结论
|
|
|
|
|
|
tags:
|
|
|
|
|
|
- Onboarding
|
|
|
|
|
|
description: 必须使用运维OIDC身份。对账仅ops_admin;其它写操作ops_admin或ops_operator。
|
|
|
|
|
|
security:
|
|
|
|
|
|
- Bearer: []
|
|
|
|
|
|
parameters:
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Request-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: UUID v4;业务重试保持相同值和原始正文
|
|
|
|
|
|
- in: path
|
|
|
|
|
|
name: id
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
description: 激活任务UUID
|
|
|
|
|
|
- in: header
|
|
|
|
|
|
name: X-Tenant-ID
|
|
|
|
|
|
required: true
|
|
|
|
|
|
schema:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 租户公开UUID;服务端核验运维角色
|
|
|
|
|
|
responses:
|
|
|
|
|
|
'200':
|
|
|
|
|
|
description: 成功;业务状态请读取data
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/StateOnlyResponse'
|
|
|
|
|
|
default:
|
|
|
|
|
|
description: 失败;400/401/403/409/410/413/415/429/500/503,见code恢复;禁止根据超时推断供应商没有执行
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/Failure'
|
|
|
|
|
|
requestBody:
|
|
|
|
|
|
required: true
|
|
|
|
|
|
content:
|
|
|
|
|
|
application/json:
|
|
|
|
|
|
schema:
|
|
|
|
|
|
$ref: '#/components/schemas/ReconcileInput'
|
|
|
|
|
|
components:
|
|
|
|
|
|
securitySchemes:
|
|
|
|
|
|
DeviceRequest:
|
|
|
|
|
|
type: apiKey
|
|
|
|
|
|
in: header
|
|
|
|
|
|
name: Authorization
|
|
|
|
|
|
description: Device-HMAC-SHA256小写十六进制签名;DEVREQ1九行规范;其余必填签名头见操作参数
|
|
|
|
|
|
Bearer:
|
|
|
|
|
|
type: http
|
|
|
|
|
|
scheme: bearer
|
|
|
|
|
|
SetupCookie:
|
|
|
|
|
|
type: apiKey
|
|
|
|
|
|
in: cookie
|
|
|
|
|
|
name: __Host-onboarding
|
|
|
|
|
|
AccountCookie:
|
|
|
|
|
|
type: apiKey
|
|
|
|
|
|
in: cookie
|
|
|
|
|
|
name: __Host-platform-onboarding
|
|
|
|
|
|
schemas:
|
|
|
|
|
|
TimeChallengeInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
device_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产编号,KP01-加12位大写MAC;不是平台UUID
|
|
|
|
|
|
pattern: ^KP01-[0-9A-F]{12}$
|
|
|
|
|
|
key_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 设备认证密钥版本
|
|
|
|
|
|
boot_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 每次启动生成并保持的UUID v4
|
|
|
|
|
|
client_nonce:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 设备生成的16字节随机数,Base64URL无填充
|
|
|
|
|
|
required:
|
|
|
|
|
|
- device_id
|
|
|
|
|
|
- key_version
|
|
|
|
|
|
- boot_id
|
|
|
|
|
|
- client_nonce
|
|
|
|
|
|
ActivationAckInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
activation_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 该物理设备唯一的激活任务UUID
|
|
|
|
|
|
local_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 本次启动的本地持久化序号,不能倒退
|
|
|
|
|
|
config_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 配置版本,必须与当前云端版本一致
|
|
|
|
|
|
required:
|
|
|
|
|
|
- activation_id
|
|
|
|
|
|
- local_generation
|
|
|
|
|
|
- config_version
|
|
|
|
|
|
AttemptInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
activation_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 该物理设备唯一的激活任务UUID
|
|
|
|
|
|
config_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 配置版本,必须与当前云端版本一致
|
|
|
|
|
|
attempt_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 设备生成的UUID v4,表示一次引擎初始化或首通执行
|
|
|
|
|
|
required:
|
|
|
|
|
|
- activation_id
|
|
|
|
|
|
- config_version
|
|
|
|
|
|
- attempt_id
|
|
|
|
|
|
ResultInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
activation_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 该物理设备唯一的激活任务UUID
|
|
|
|
|
|
attempt_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 设备生成的UUID v4,表示一次引擎初始化或首通执行
|
|
|
|
|
|
stage:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: SDK_REGISTER或CONVERSATION_TEST;与C08平台当前阶段一致
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- SDK_REGISTER
|
|
|
|
|
|
- CONVERSATION_TEST
|
|
|
|
|
|
sdk_result:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: SDK执行返回码;SUCCESS_OBSERVED时必须为0
|
|
|
|
|
|
outcome:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: SUCCESS_OBSERVED、DEFINITE_FAILURE或UNKNOWN;未知结果不得盲目重试
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- SUCCESS_OBSERVED
|
|
|
|
|
|
- DEFINITE_FAILURE
|
|
|
|
|
|
- UNKNOWN
|
|
|
|
|
|
required:
|
|
|
|
|
|
- activation_id
|
|
|
|
|
|
- attempt_id
|
|
|
|
|
|
- stage
|
|
|
|
|
|
- sdk_result
|
|
|
|
|
|
- outcome
|
|
|
|
|
|
InventoryInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
factory_mac:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 12位大写十六进制MAC;相同MAC不能创建第二台物理设备
|
|
|
|
|
|
pattern: ^[0-9A-F]{12}$
|
|
|
|
|
|
hardware_model:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产登记型号,当前为KP01
|
|
|
|
|
|
hardware_revision:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 硬件修订号,注册必须与库存一致
|
|
|
|
|
|
batch_no:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产批次,方便追溯
|
|
|
|
|
|
required:
|
|
|
|
|
|
- factory_mac
|
|
|
|
|
|
- hardware_model
|
|
|
|
|
|
- hardware_revision
|
|
|
|
|
|
- batch_no
|
|
|
|
|
|
DeliveryInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
enrollment_job_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产登记或密钥轮换任务UUID
|
|
|
|
|
|
receiver_public_key_pem:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 工装RSA公钥,PKIX PEM,2048至4096位,指数65537
|
|
|
|
|
|
required:
|
|
|
|
|
|
- enrollment_job_id
|
|
|
|
|
|
- receiver_public_key_pem
|
|
|
|
|
|
ReleaseInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
enrollment_job_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产登记或密钥轮换任务UUID
|
|
|
|
|
|
evidence_ref:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 烧录读回或人工对账的证据引用,不放密钥
|
|
|
|
|
|
expected_key_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 交付放行目标版本;轮换时为当前生效版本
|
|
|
|
|
|
required:
|
|
|
|
|
|
- enrollment_job_id
|
|
|
|
|
|
- evidence_ref
|
|
|
|
|
|
- expected_key_version
|
|
|
|
|
|
RotationInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
reason:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 关闭、轮换或人工处理原因,见对应枚举
|
|
|
|
|
|
expected_key_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 交付放行目标版本;轮换时为当前生效版本
|
|
|
|
|
|
required:
|
|
|
|
|
|
- reason
|
|
|
|
|
|
- expected_key_version
|
|
|
|
|
|
ReconcileInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
expected_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 运维列表中的激活任务版本,防止覆盖并发处理
|
|
|
|
|
|
conclusion:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: OBSERVED_REGISTERED、CONFIRMED_NOT_REGISTERED或DEVICE_ATTEMPT_STOPPED
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- OBSERVED_REGISTERED
|
|
|
|
|
|
- CONFIRMED_NOT_REGISTERED
|
|
|
|
|
|
- DEVICE_ATTEMPT_STOPPED
|
|
|
|
|
|
evidence_ref:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 烧录读回或人工对账的证据引用,不放密钥
|
|
|
|
|
|
reason:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 关闭、轮换或人工处理原因,见对应枚举
|
|
|
|
|
|
attempt_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 设备生成的UUID v4,表示一次引擎初始化或首通执行
|
|
|
|
|
|
device_secret:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 已核实的供应商单设备密钥,仅人工对账写入,加密保存
|
|
|
|
|
|
rtc_app_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 供应商RTC应用ID;不填则使用已保存值
|
|
|
|
|
|
required:
|
|
|
|
|
|
- expected_version
|
|
|
|
|
|
- conclusion
|
|
|
|
|
|
- evidence_ref
|
|
|
|
|
|
- reason
|
|
|
|
|
|
RegisterInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
challenge_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: C01签名校时返回的一次性挑战
|
|
|
|
|
|
boot_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 每次启动生成并保持的UUID v4
|
|
|
|
|
|
hardware_model:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产登记型号,当前为KP01
|
|
|
|
|
|
hardware_revision:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 硬件修订号,注册必须与库存一致
|
|
|
|
|
|
firmware_version:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 固件版本,用于兼容诊断
|
|
|
|
|
|
sdk_version:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: SDK版本,用于兼容诊断
|
|
|
|
|
|
required:
|
|
|
|
|
|
- challenge_id
|
|
|
|
|
|
- boot_id
|
|
|
|
|
|
- hardware_model
|
|
|
|
|
|
- hardware_revision
|
|
|
|
|
|
- firmware_version
|
|
|
|
|
|
- sdk_version
|
|
|
|
|
|
SetupInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
boot_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 每次启动生成并保持的UUID v4
|
|
|
|
|
|
local_setup_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 设备本次设置入口UUID v4;重试保持不变
|
|
|
|
|
|
transport_profile:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 固定LOCAL_WEB,表示设备提供本地网页入口
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- LOCAL_WEB
|
|
|
|
|
|
required:
|
|
|
|
|
|
- boot_id
|
|
|
|
|
|
- local_setup_id
|
|
|
|
|
|
- transport_profile
|
|
|
|
|
|
HandoffInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
setup_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 云端15分钟临时设置会话UUID
|
|
|
|
|
|
local_setup_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 设备本次设置入口UUID v4;重试保持不变
|
|
|
|
|
|
code_challenge:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: SHA256(ASCII verifier)的Base64URL无填充值
|
|
|
|
|
|
required:
|
|
|
|
|
|
- setup_id
|
|
|
|
|
|
- local_setup_id
|
|
|
|
|
|
- code_challenge
|
|
|
|
|
|
PollInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
setup_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 云端15分钟临时设置会话UUID
|
|
|
|
|
|
boot_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 每次启动生成并保持的UUID v4
|
|
|
|
|
|
known_revision:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 设备已知状态版本;允许0
|
|
|
|
|
|
required:
|
|
|
|
|
|
- setup_id
|
|
|
|
|
|
- boot_id
|
|
|
|
|
|
- known_revision
|
|
|
|
|
|
ConfirmationInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
claim_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 待物理确认的绑定申请UUID
|
|
|
|
|
|
challenge:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: C05给设备的短时按键挑战,手机不能获取
|
|
|
|
|
|
binding_digest:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 云端生成的绑定摘要,按键回报原值
|
|
|
|
|
|
expected_binding_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 提交时预期绑定代数,防止跨解绑或重新绑定重放
|
|
|
|
|
|
press_event_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 该次真实物理按键事件UUID v4,重试保持不变
|
|
|
|
|
|
required:
|
|
|
|
|
|
- claim_id
|
|
|
|
|
|
- challenge
|
|
|
|
|
|
- binding_digest
|
|
|
|
|
|
- expected_binding_generation
|
|
|
|
|
|
- press_event_id
|
|
|
|
|
|
StateAckInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
device_revision:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 云端设备状态版本号
|
|
|
|
|
|
binding_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 绑定代数;解绑、重新绑定后旧代数无效
|
|
|
|
|
|
local_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 本次启动的本地持久化序号,不能倒退
|
|
|
|
|
|
state_hash:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: STATE1规范字符串的SHA256小写十六进制摘要
|
|
|
|
|
|
required:
|
|
|
|
|
|
- device_revision
|
|
|
|
|
|
- binding_generation
|
|
|
|
|
|
- local_generation
|
|
|
|
|
|
- state_hash
|
|
|
|
|
|
CloseInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
setup_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 云端15分钟临时设置会话UUID
|
|
|
|
|
|
reason:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 关闭、轮换或人工处理原因,见对应枚举
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- SUCCESS
|
|
|
|
|
|
- TIMEOUT
|
|
|
|
|
|
- CANCELLED
|
|
|
|
|
|
- NETWORK_SWITCH
|
|
|
|
|
|
final_revision:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 设备关闭设置入口前看到的最新状态版本
|
|
|
|
|
|
required:
|
|
|
|
|
|
- setup_id
|
|
|
|
|
|
- reason
|
|
|
|
|
|
- final_revision
|
|
|
|
|
|
SMSSendInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
phone_e164:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 含国家区号的手机号,例如+8613800000000
|
|
|
|
|
|
pattern: ^\+[1-9][0-9]{7,14}$
|
|
|
|
|
|
purpose:
|
|
|
|
|
|
type: string
|
2026-10-08 10:06:44 +08:00
|
|
|
|
description: LOGIN 由服务端按手机号是否已有凭据选择注册或登录模板;CHANGE_PASSWORD 用于现有的短信登录后重置密码流程。更换手机号不可使用本接口。
|
2026-09-12 08:57:29 +08:00
|
|
|
|
enum:
|
|
|
|
|
|
- LOGIN
|
2026-10-08 10:06:44 +08:00
|
|
|
|
- CHANGE_PASSWORD
|
|
|
|
|
|
captcha_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
description: 当前登录或设备设置会话的人机验证挑战 ID
|
|
|
|
|
|
captcha_code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
pattern: '^[0-9]{6}$'
|
|
|
|
|
|
description: 图片中的 6 位数字;每次新的发送都须使用未消费的图片验证码
|
|
|
|
|
|
captcha_ticket:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
maxLength: 4096
|
|
|
|
|
|
writeOnly: true
|
|
|
|
|
|
description: 腾讯云模式使用对应端 SDK/插件票据;本地滑块模式使用 captcha/verify 返回的票据。绑定当前会话并一次性消费。
|
|
|
|
|
|
captcha_randstr:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
maxLength: 256
|
|
|
|
|
|
writeOnly: true
|
|
|
|
|
|
description: 腾讯云 Web 模式必填;微信小程序插件不需要
|
|
|
|
|
|
anyOf:
|
|
|
|
|
|
- required: [captcha_code]
|
|
|
|
|
|
- required: [captcha_ticket]
|
2026-09-12 08:57:29 +08:00
|
|
|
|
required:
|
|
|
|
|
|
- phone_e164
|
|
|
|
|
|
- purpose
|
2026-10-08 10:06:44 +08:00
|
|
|
|
- captcha_id
|
2026-09-12 08:57:29 +08:00
|
|
|
|
SMSVerifyInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
sms_challenge_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 发送短信得到的挑战UUID
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 6位短信验证码;5分钟有效,最多验证5次
|
|
|
|
|
|
pattern: ^[0-9]{6}$
|
|
|
|
|
|
required:
|
|
|
|
|
|
- sms_challenge_id
|
|
|
|
|
|
- code
|
|
|
|
|
|
ExchangeInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
token:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 90秒内只能兑换一次的handoff令牌
|
|
|
|
|
|
verifier:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 设备交给手机的PKCE校验值;32字节随机数的Base64URL无填充字符串
|
|
|
|
|
|
required:
|
|
|
|
|
|
- token
|
|
|
|
|
|
- verifier
|
|
|
|
|
|
ClaimInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
elder_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 使用者公开UUID,复用subject_profile
|
|
|
|
|
|
expected_binding_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 提交时预期绑定代数,防止跨解绑或重新绑定重放
|
|
|
|
|
|
required:
|
|
|
|
|
|
- elder_id
|
|
|
|
|
|
- expected_binding_generation
|
|
|
|
|
|
CancelInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
claim_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 待物理确认的绑定申请UUID
|
|
|
|
|
|
expected_binding_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 提交时预期绑定代数,防止跨解绑或重新绑定重放
|
|
|
|
|
|
required:
|
|
|
|
|
|
- claim_id
|
|
|
|
|
|
- expected_binding_generation
|
|
|
|
|
|
WebAckInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
|
|
|
|
|
binding_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 当前已生效的绑定公开UUID
|
|
|
|
|
|
binding_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 绑定代数;解绑、重新绑定后旧代数无效
|
|
|
|
|
|
received_revision:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 网页已收到的设备状态版本
|
|
|
|
|
|
required:
|
|
|
|
|
|
- binding_id
|
|
|
|
|
|
- binding_generation
|
|
|
|
|
|
- received_revision
|
|
|
|
|
|
ProfileInput:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
properties:
|
2026-10-08 10:06:44 +08:00
|
|
|
|
initial_consents:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
required: [types, confirmed]
|
|
|
|
|
|
properties:
|
|
|
|
|
|
types:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
maxItems: 5
|
|
|
|
|
|
uniqueItems: true
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum: [transcript_storage, raw_audio_storage, story_extraction, personalized_memory, family_sharing]
|
|
|
|
|
|
confirmed:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
description: 用户明确确认所选授权;不选任何项目时仍可创建资料
|
2026-09-12 08:57:29 +08:00
|
|
|
|
household_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 家庭公开UUID;省略时须提供新家庭名称
|
|
|
|
|
|
household_name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 新建家庭的名称
|
|
|
|
|
|
preferred_name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 使用者称呼,用于设备人设和家庭展示
|
|
|
|
|
|
required:
|
|
|
|
|
|
- preferred_name
|
|
|
|
|
|
Empty:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
additionalProperties: false
|
|
|
|
|
|
State:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
device_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产编号,KP01-加12位大写MAC;不是平台UUID
|
|
|
|
|
|
device_revision:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 云端设备状态版本号
|
|
|
|
|
|
binding_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 绑定代数;解绑、重新绑定后旧代数无效
|
|
|
|
|
|
binding_state:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- UNBOUND
|
|
|
|
|
|
- CLAIM_PENDING
|
|
|
|
|
|
- BOUND
|
|
|
|
|
|
- TRANSFER_PENDING
|
|
|
|
|
|
activation_state:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- NOT_STARTED
|
|
|
|
|
|
- RESERVED
|
|
|
|
|
|
- CONTACT_POSSIBLE
|
|
|
|
|
|
- REGISTERED_OBSERVED
|
|
|
|
|
|
- READY
|
|
|
|
|
|
- RECONCILE_REQUIRED
|
|
|
|
|
|
- BLOCKED
|
|
|
|
|
|
state_hash:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: STATE1规范字符串的SHA256小写十六进制摘要
|
|
|
|
|
|
Command:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
command_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 命令标识
|
|
|
|
|
|
type:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
enum:
|
|
|
|
|
|
- CONFIRM_CLAIM
|
|
|
|
|
|
- APPLY_ACTIVATION
|
|
|
|
|
|
expires_at_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 命令到期UTC毫秒
|
|
|
|
|
|
payload:
|
|
|
|
|
|
oneOf:
|
|
|
|
|
|
- type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
claim_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 申请编号
|
|
|
|
|
|
challenge:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: C05给设备的短时按键挑战,手机不能获取
|
|
|
|
|
|
binding_digest:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 云端生成的绑定摘要,按键回报原值
|
|
|
|
|
|
expected_binding_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 提交时预期绑定代数,防止跨解绑或重新绑定重放
|
|
|
|
|
|
masked_account:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 脱敏的申请账号
|
|
|
|
|
|
- type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
config_b64:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 原始配置JSON的Base64URL无填充编码
|
|
|
|
|
|
config_mac:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: HMAC-SHA256(raw设备密钥, CFG1换行config_b64)
|
|
|
|
|
|
ActivationConfig:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
contract_version:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: ONBOARDING-1.1
|
|
|
|
|
|
device_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产编号,KP01-加12位大写MAC;不是平台UUID
|
|
|
|
|
|
activation_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 任务编号
|
|
|
|
|
|
config_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 版本
|
|
|
|
|
|
binding_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 当前绑定代数
|
|
|
|
|
|
expires_at_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 24小时配置有效期
|
|
|
|
|
|
iot:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
instance_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 供应商实例
|
|
|
|
|
|
product_key:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 产品编号
|
|
|
|
|
|
device_name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 冻结的物理设备名
|
2026-10-08 10:06:44 +08:00
|
|
|
|
device_secret:
|
2026-09-12 08:57:29 +08:00
|
|
|
|
type: string
|
2026-10-08 10:06:44 +08:00
|
|
|
|
description: 平台代注册取得的本设备火山密钥;不再下发product_secret
|
|
|
|
|
|
RTCAppID:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 平台代注册取得的RTC应用ID
|
2026-09-12 08:57:29 +08:00
|
|
|
|
bot_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 智能体ID
|
|
|
|
|
|
WebStatus:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
setup_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 临时会话UUID
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
binding_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 当前已生效的绑定公开UUID
|
|
|
|
|
|
claim_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 待物理确认的绑定申请UUID
|
|
|
|
|
|
device_saved:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
authenticated:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
closed:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
sms_enabled:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
expires_at_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 设置入口到期时间
|
|
|
|
|
|
Browser:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
csrf_token:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 保存在当前标签页sessionStorage;写请求放X-CSRF-Token
|
|
|
|
|
|
data:
|
|
|
|
|
|
$ref: '#/components/schemas/WebStatus'
|
|
|
|
|
|
Failure:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: false
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 稳定业务错误码
|
|
|
|
|
|
message:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 用户可读说明
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 请求追踪UUID
|
|
|
|
|
|
DevicesItem:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
platform_device_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 平台设备UUID
|
|
|
|
|
|
device_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 物理设备编号
|
|
|
|
|
|
model:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 型号
|
|
|
|
|
|
binding_generation:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 当前绑定代数
|
|
|
|
|
|
device_revision:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 状态版本
|
|
|
|
|
|
released:
|
|
|
|
|
|
type: boolean
|
2026-10-08 10:06:44 +08:00
|
|
|
|
description: 设备已完成内部初始化,可以开始绑定
|
|
|
|
|
|
bound:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
description: 当前是否存在有效绑定
|
2026-09-12 08:57:29 +08:00
|
|
|
|
activation_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 激活任务UUID
|
|
|
|
|
|
activation_state:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 激活状态
|
|
|
|
|
|
activation_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 对账使用的预期任务版本
|
|
|
|
|
|
key_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 当前生效设备认证密钥版本
|
|
|
|
|
|
pending_key_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 待交付或放行的版本,没有则0
|
|
|
|
|
|
current_attempt_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 当前供应商注册尝试UUID
|
|
|
|
|
|
enrollment_job_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 最新生产或轮换任务UUID
|
|
|
|
|
|
last_error_code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 故障原因码
|
|
|
|
|
|
provider_device_name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 冻结的供应商物理名
|
|
|
|
|
|
household_name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 家庭名,仅我的设备
|
|
|
|
|
|
preferred_name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 使用者称呼,仅我的设备
|
|
|
|
|
|
TimeChallengeResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
payload_b64:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: TIME1校时JSON的Base64URL无填充
|
|
|
|
|
|
mac_hex:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: HMAC-SHA256(raw32设备密钥, TIME1换行payload_b64)
|
|
|
|
|
|
RegisterResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
contract_version:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: ONBOARDING-1.1
|
|
|
|
|
|
SetupResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
setup_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 设置UUID
|
|
|
|
|
|
expires_at_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 15分钟到期
|
|
|
|
|
|
poll_after_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 首次2000
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
HandoffResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
handoff_token:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 90秒一次性令牌
|
|
|
|
|
|
expires_at_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 到期毫秒
|
|
|
|
|
|
entry_url:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 固定HTTPS入口;设备将token和verifier放fragment
|
|
|
|
|
|
PollResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
command:
|
|
|
|
|
|
oneOf:
|
|
|
|
|
|
- $ref: '#/components/schemas/Command'
|
|
|
|
|
|
- type: 'null'
|
|
|
|
|
|
poll_after_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 下一次轮询间隔
|
|
|
|
|
|
ConfirmationResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
claim_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 申请UUID
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
already_applied:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
StateAckResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
accepted_revision:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 已接受版本
|
|
|
|
|
|
setup_can_close:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
AttemptResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
allowed:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
attempt_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 执行UUID
|
|
|
|
|
|
permit_expires_at_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 30秒有效期
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
ResultResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
activation_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 任务UUID
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
reconcile_required:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
ActivationAckResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
accepted:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
CloseResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
close_allowed:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
ClaimResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
claim_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 申请UUID
|
|
|
|
|
|
expires_at_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 120秒有效期
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
StateOnlyResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
state:
|
|
|
|
|
|
$ref: '#/components/schemas/State'
|
|
|
|
|
|
AckResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
accepted:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
SMSResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
sms_challenge_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 验证码挑战UUID
|
|
|
|
|
|
expires_at_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 5分钟
|
|
|
|
|
|
resend_after_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: '60000'
|
|
|
|
|
|
ProfileResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
elder_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 使用者公开UUID
|
|
|
|
|
|
household_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 家庭公开UUID
|
|
|
|
|
|
ProfilesResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
household_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 家庭公开UUID
|
|
|
|
|
|
household_name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 家庭名
|
|
|
|
|
|
elder_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 使用者UUID,空值表示家庭无使用者
|
|
|
|
|
|
preferred_name:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 称呼
|
|
|
|
|
|
DevicesResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
items:
|
|
|
|
|
|
type: array
|
|
|
|
|
|
items:
|
|
|
|
|
|
$ref: '#/components/schemas/DevicesItem'
|
|
|
|
|
|
limit:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 运维列表最多200条;按设备创建时间倒序
|
|
|
|
|
|
InventoryResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
device_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产编号,KP01-加12位大写MAC;不是平台UUID
|
|
|
|
|
|
platform_device_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 平台公开UUID,沿用现有设备管理接口
|
|
|
|
|
|
enrollment_job_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产或轮换任务UUID
|
|
|
|
|
|
key_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 目标凭据版本
|
|
|
|
|
|
contract_version:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: ONBOARDING-1.1
|
|
|
|
|
|
released:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
DeliveryResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
algorithm:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: RSA-OAEP-SHA256+A256GCM
|
|
|
|
|
|
enrollment_job_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 任务UUID
|
|
|
|
|
|
wrapped_key_b64:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: RSA包装的AES数据密钥
|
|
|
|
|
|
ciphertext_b64:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 前12字节为nonce,后接AES-GCM密文和16字节认证标签;AAD为任务UUID
|
|
|
|
|
|
expires_at_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 交付包到期时间
|
|
|
|
|
|
ReleaseResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
device_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产编号,KP01-加12位大写MAC;不是平台UUID
|
|
|
|
|
|
platform_device_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 平台公开UUID,沿用现有设备管理接口
|
|
|
|
|
|
enrollment_job_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 生产或轮换任务UUID
|
|
|
|
|
|
key_version:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: 目标凭据版本
|
|
|
|
|
|
contract_version:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: ONBOARDING-1.1
|
|
|
|
|
|
released:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
LogoutResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
signed_out:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
AccountResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
csrf_token:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
description: 账号会话写请求CSRF
|
|
|
|
|
|
authenticated:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
BrowserResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
$ref: '#/components/schemas/Browser'
|
|
|
|
|
|
WebStatusResponse:
|
|
|
|
|
|
type: object
|
|
|
|
|
|
properties:
|
|
|
|
|
|
ok:
|
|
|
|
|
|
type: boolean
|
|
|
|
|
|
const: true
|
|
|
|
|
|
code:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
const: OK
|
|
|
|
|
|
request_id:
|
|
|
|
|
|
type: string
|
|
|
|
|
|
format: uuid
|
|
|
|
|
|
server_time_ms:
|
|
|
|
|
|
type: integer
|
|
|
|
|
|
format: int64
|
|
|
|
|
|
description: UTC毫秒
|
|
|
|
|
|
data:
|
|
|
|
|
|
$ref: '#/components/schemas/WebStatus'
|