Files
story/docs/设备端接口_文档与当前代码差异.md
2026-09-12 08:57:29 +08:00

2.3 KiB

设备端接口对齐记录

更新:2026-09-12。当前代码已按设备端接口文档同步实现,原有差异清单已由下表取代。

位置 当前实现
协议及外层 ONBOARDING-1.1;不返回 recovery_action、retry_after_ms、next_action
公共状态 仅设备编号、状态版本、绑定代数、绑定状态、激活状态、状态摘要
C01 无时间戳请求签名;HTTP专用入口;成功根对象仅 payload_b64、mac_hex,单设备 TIME1 HMAC
C03 / C05 删除 mode 和轮询收尾辅助字段;known_revision 必填
激活配置 命令 payload 仅 config_b64、config_mac;包内使用 iot.product_secret;设备 SDK 执行注册
C07 仅 accepted_revision、setup_can_close;重复回执重新计算关闭条件,保留原保存时间
C08 仅任务、配置版本、执行编号输入;返回 allowed、执行编号、30秒到期时间、state;平台按任务事实确定阶段
C09 仅任务、执行编号、SDK_REGISTER/CONVERSATION_TEST、SDK返回码、结果分类输入;返回任务、state、reconcile_required
C10 仅任务、保存序号、配置版本输入;注册成功后确认保存结果;返回 accepted、state
C11 继续检查最终版本与收尾条件;关闭临时入口不删除绑定

默认设备 SDK 直接执行与上报首通观察结果;不要求额外上传 evidence。如采用平台既有 v3 通话服务,则平台依据已关联的会话、开始、首音频和结束事件核验结果,不向 C09 增加字段。设备供应商密钥不通过 C09 上传;既有平台代管通话仍需要其原有凭据配置。

原文保留的 TRANSFER_PENDING 等枚举不代表本次新增了完整转移流程。当前首次绑定下发的命令为 CONFIRM_CLAIM 和 APPLY_ACTIVATION。短信通道与真实板卡、供应商 SDK 需使用真实环境分别验证。

本地验证:全量 Go 测试、go vet、10 个模块的隔离 PostgreSQL/Redis 集成测试、前端 TypeScript 和生产构建通过。设备 HTTP 测试覆盖 C01–C11 成功字段、缺失或额外字段拒绝、HMAC、HTTPS限制、注册和首通、未知结果、跨绑定重放及收尾等待。

线上结果见发布记录。