| 场景类型 | 标准落地方式 | 关键参数示例 |
|---|---|---|
| 银行余额查询 | 第三方金融App调用运营商USSD API发起*123#类查询,用户在手机端输入密码后,结果通过回调URL返回至App | POST /ussd/v1/sessionsBody: {"msisdn":"86138****1234", "ussdString":"*123#", "callbackUrl":"https://bank.example.com/ussd-cb"} |
| 物联网设备状态上报 | IoT平台通过USSD API向SIM卡发送指令,设备回传传感器数据,平台解析后存入数据库 | GET /ussd/v1/sessions/{sessionId}/response返回: {"input":"TEMP=25.6,HUM=60%", "status":"completed"} |
| 公益捐款交互 | 用户拨打公益热线触发USSD菜单,选择金额后,系统调用计费API完成扣费并返回确认信息 | 错误处理:若返回错误码40003(余额不足),需立即终止会话并推送提示消息 |
对策:在API调用方实现预加载机制,在用户操作前预先建立会话;服务端设置双阶段超时(空闲60秒+总时长180秒),并通过心跳扩展机制延长有效窗口。
对策:在能力开放平台层封装适配器模块,将YD/T 3191-2016标准接口映射至各厂商私有协议(如华为、爱立信USSD网关),统一错误码转换规则,确保上层应用无感知。
对策:采用UUID v4生成会话ID,并在数据库建立唯一索引;同时引入Redis分布式锁,确保同一MSISDN在1秒内仅允许创建一个新会话。
对策:实施三次重试机制(间隔5s/10s/20s),失败后写入死信队列并告警;调用方需实现幂等处理,依据session-id去重避免重复业务逻辑执行。
| 指标项 | 标准值 | 监测方式 |
|---|---|---|
| API可用性 | ≥99.9% | 每5分钟主动探测+日志分析 |
| 会话成功率 | ≥98% | 统计“completed”状态会话占比 |
| 认证失败率 | ≤0.1% | 监控401错误日志频次 |
| 标准号 | 标准名称 | 状态 | 发布日期 | 实施日期 |
|---|---|---|---|---|
| YD/T 3191-2016 | 基于表述性状态转移(REST )技术的业务能力开放应用程序接口(API) 非结构化补充数据业务 | 现行 | 2016-10-22 | 2017-01-01 |
| YD/T 3217-2017 | 基于表述性状态转移(REST)技术的业务能力开放应用程序接口(API) 视频共享 | 现行 | 2017-04-12 | 2017-07-01 |
| YD/T 2940-2015 | 基于表述性状态转移(REST)技术的业务能力开放应用程序接口(API) 终端状态 | 现行 | 2015-07-14 | 2015-10-01 |
| YD/T 3081-2016 | 基于表述性状态转移(REST)技术的业务能力开放应用程序接口(API) 图片共享 | 现行 | 2016-04-05 | 2016-07-01 |