当前位置:首页 > 行业动态 > 正文

http短信接口文档

短信接口文档提供POST请求发送短信功能,需传入手机号、签名及模板参数,返回JSON格式结果含状态码与

接口基本信息

请求URLhttps://api.example.com/v1/sms/send
请求方式POST
请求头Content-Type: application/json; charset=UTF-8
字符编码UTF-8


请求参数说明

参数名 类型 必填 说明
mobile string 手机号(支持国内11位手机号,需符合正则 ^1[3-9]d{9}$
content string (长度限制为500字符,需符合运营商内容规范)
timestamp int 请求时间戳(单位:秒,UTC时间)
nonce string 随机字符串(长度≥32字符,用于签名防重放)
sign string 签名(MD5(secretKey + nonce + timestamp),转为大写)
extendData object 扩展数据(如模板变量时需为JSON对象,例:{"code":"1234"}

返回格式说明

返回数据结构JSON
成功响应示例

{
    "status": "OK",
    "message": "短信发送成功",
    "data": {
        "msgId": "202310150101001",
        "mobile": "13812345678",
        "fee": 1,
        "remaining": 999
    }
}

失败响应示例

{
    "status": "ERROR",
    "code": "4001",
    "message": "签名校验失败",
    "details": "Sign mismatch or missing parameters"
}

错误码说明

错误码 说明 解决方案
4001 签名校验失败 检查 secretKeynoncetimestamp 是否匹配,并确保签名算法正确
4002 非规手机号 验证手机号格式是否符合 ^1[3-9]d{9}$
4003 内容包含敏感词 修改短信内容,避开运营商禁用词汇
5000 系统内部错误 联系技术支持,提供 msgId 和请求参数

签名生成规则

  1. 拼接字符串secretKey + nonce + timestamp(按顺序拼接)
  2. MD5加密:对拼接后的字符串进行MD5加密(如:MD5("yourSecretKey123abc4567890")
  3. 转大写:将MD5结果转为大写作为最终签名(例:SIGN=F1D3B5C7E8A9B...

请求频率限制

用户等级 单日限额 单次请求间隔(秒)
普通用户 1000条 1秒
企业用户 10000条 5秒

IP白名单配置

功能 说明
绑定IP 需提交工单申请,审核通过后仅允许指定IP段访问接口
动态IP 支持轮询IP(需在申请时注明业务场景,如多机房容灾)
解除绑定 联系技术支持并提供账户信息,审核后解除

常见问题与解答

问题1:如何测试接口是否可用?

解答

  1. 使用工具(如Postman或cURL)发送请求,确保参数符合规范。
  2. 检查签名是否正确(可打印日志对比本地计算结果)。
  3. 如果返回 4001 错误,确认 secretKey 是否与文档一致,且参数无缺失。
  4. 若持续失败,联系技术支持并提供完整的请求报文和错误响应。

问题2:签名生成时需要注意哪些细节?

解答

  1. 参数顺序:必须严格按照 secretKey + nonce + timestamp 的顺序拼接。
  2. 时间同步:客户端时间需与服务器时间误差小于30秒,否则可能因 timestamp 过期导致签名失败。
  3. 编码一致性:所有参数需使用UTF-8编码,避免中文或特殊字符导致签名不一致。
  4. 大小写敏感:最终签名需转为大写(如 `SIGN=ABCD
0