1.6 KiB
1.6 KiB
短信网关接入契约
元数据
- Owner:通知适配维护人
- 实现:
pkg/sms/ - 协议版本:渠道 SMS HTTP 1.6;仓库仅保留当前实现所需字段摘要
- 核验日期:2026-08-07
当前实际使用范围
系统使用 POST <gateway_url>/sms/api/sendMessageMass 批量发送短信;未发现状态回执查询或上行短信处理。
配置、认证与字段
配置键为 sms.gateway_url、sms.username、sms.password、sms.signature、sms.timeout。默认配置超时为 10 秒,运行配置可覆盖。客户端把短信签名拼在正文前,提交 userName、content、phoneList、毫秒时间戳和 sign。签名算法为小写 MD5(username + timestamp + MD5(password))。
响应关键字段为 code、message、msgId、smsCount;只有代码中定义的 CodeSuccess 才视为提交成功,其他状态转换为 SMSError 并保留渠道码。
幂等、重试与安全
客户端不自动重试,也不生成业务幂等键;调用方需以通知业务标识防重,并在网络结果不确定时先判断是否允许重发。密码、签名原文、完整手机号列表和完整正文不得记录;当前实现只输出手机号列表和最多 50 个字符的内容预览,部署侧仍需日志脱敏。
验证
可复现静态证据:pkg/sms/client.go、pkg/sms/types.go、pkg/config/config.go。真实验收需使用测试号码核对单条/批量、错误签名、超时和重复发送;本次 Context 重建不发送真实短信。
协议版本、端点、认证、字段、成功码或重试语义变化时更新本文。