Files

短信网关接入契约

元数据

  • Owner通知适配维护人
  • 实现:pkg/sms/
  • 协议版本:渠道 SMS HTTP 1.6;仓库仅保留当前实现所需字段摘要
  • 核验日期2026-08-07

当前实际使用范围

系统使用 POST <gateway_url>/sms/api/sendMessageMass 批量发送短信;未发现状态回执查询或上行短信处理。

配置、认证与字段

配置键为 sms.gateway_urlsms.usernamesms.passwordsms.signaturesms.timeout。默认配置超时为 10 秒,运行配置可覆盖。客户端把短信签名拼在正文前,提交 userNamecontentphoneList、毫秒时间戳和 sign。签名算法为小写 MD5(username + timestamp + MD5(password))

响应关键字段为 codemessagemsgIdsmsCount;只有代码中定义的 CodeSuccess 才视为提交成功,其他状态转换为 SMSError 并保留渠道码。

幂等、重试与安全

客户端不自动重试,也不生成业务幂等键;调用方需以通知业务标识防重,并在网络结果不确定时先判断是否允许重发。密码、签名原文、完整手机号列表和完整正文不得记录;当前实现只输出手机号列表和最多 50 个字符的内容预览,部署侧仍需日志脱敏。

验证

可复现静态证据:pkg/sms/client.gopkg/sms/types.gopkg/config/config.go。真实验收需使用测试号码核对单条/批量、错误签名、超时和重复发送;本次 Context 重建不发送真实短信。

协议版本、端点、认证、字段、成功码或重试语义变化时更新本文。