18.3 请求头与版本策略

18.3.1 iOS/Android 请求头

所有进入 /tieup/api/v1/** 的 APP 业务请求均应携带:

请求头 是否必填 说明
X-App-Channel 渠道代码,1~50 字符,仅允许字母、数字、点、下划线、短横线
X-App-Platform iosandroid
X-App-Version 版本名称,必须与后台版本记录完全一致
X-App-Build 1~4294967295 的整数构建号
X-Device-Id 稳定设备标识,最多 128 字符
X-Session-Id 密文请求必填 握手返回的 Session ID

服务端使用 X-App-Channel + X-App-Platform + X-App-Build 精确查询版本,再校验 X-App-Version。缺少请求头、未知版本或版本名称不一致统一返回 4609,不能伪装成“未开启加密”的旧版本绕过策略。

18.3.2 H5 请求头

H5 请求携带:

请求头 是否必填 说明
X-App-Channel 当前 H5 渠道代码
X-App-Platform 固定为 h5
X-Device-Id 浏览器端稳定生成并持久化的设备标识,最多 128 字符
X-Session-Id 密文请求必填 握手返回的 Session ID

H5 不查询 APP 版本表,服务端内部版本名称为空、构建号固定为 0。H5 可以发送 X-App-VersionX-App-Build 用于其他业务日志,但它们不参与本协议策略和 AAD。

18.3.3 开关行为

客户端 强制开关关闭 强制开关开启
iOS/Android 版本头仍须合法;接受现有明文和合法密文 GET、JSON 写请求必须使用密文
H5 H5 Key 已配置时接受明文和合法密文;Key 为空时只能明文且不能握手 必须配置 32 字节 H5 Key,GET、JSON 写请求必须使用密文

强制模式下发送明文返回 4606。兼容模式不是跳过版本校验;APP 的版本头始终必须合法。