API 通用说明

请求域名

																										https://uni.apistd.com

																									

公共参数

公共参数为调用 API 请求时必须携带的参数,统一使用 URL Query 参数传输。

参数名 类型 是否必填 描述 示例值
action string 接口名 sms.message.send
accessKeyId string 请求 AccessKey ID rQJEk4mz6gZzTC9X8XHfpQ1Vt

访问鉴权

UniSMS 提供以下两种鉴权方式共开发者选择,可在控制台-凭证管理中设置,默认为简易模式。

  • 简易模式 [默认]:此模式仅核验 AccessKey ID,不对请求参数进行验签,方便开发者快速接入。
  • HMAC模式:此模式要求使用 AccessKey Secret 对请求参数进行验签,以加强保障请求的安全与真实性。

简易模式

使用简易模式完成访问认证,仅需将从控制台-凭证管理中获得 AccessKey ID 值传入 URL Query 参数 accessKeyId 即可完成鉴权。

HMAC模式

使用 HMAC 模式完成访问认证,需将所有 URL Query 参数按字典顺序排列作为待签文本串,并根据指定签名哈希算法进行签名。

新增所须公共参数 (Query) 如下:

参数名 类型 是否必填 描述 示例值
algorithm string 签名哈希算法,目前仅支持 hmac-sha256 hmac-sha256
timestamp number 时间戳 (ms),接受容差时间 10 分钟 1620243278785
nonce string 随机字符串,接受 8-64 个字符间的随机字符串 d7041f4746a09b10
signature string 签名串 xvv9UjzOrQFWe7fFS5IUU9iqIZrncvF093SqXsnfcK8=

签名生成步骤

  1. 提取请求中所有 URL Query 参数对,根据参数 Key 按字典顺序排序 (正序),以 =连接 Key-Value,以 &连接参数对组成待签文本串,示例如下:

    																												
    accessKeyId = rQJEk4mz6gZzTC9X8XHfpQ1Vt & action = sms.message.send & algorithm = hmac-sha256 & nonce = d7041f4746a09b10 & timestamp = 1620269782258
  2. 使用 HmacSHA256 算法,以 AccessKey ID 对应的 AccessKey Secret 作为签名秘钥,对待签文本串生成签名,输出为 Base64 (或 Hex) 字符串,示例如下:

    																												
    xvv9UjzOrQFWe7fFS5IUU9iqIZrncvF093SqXsnfcK8 =
  3. 将签名串作为 signature 的值增加到请求 URL Query 参数中发送请求,最终完整的请求 URL 示例如下:

    																												
    https://uni.apistd.com/?action = sms.message.send & accessKeyId = rQJEk4mz6gZzTC9X8XHfpQ1Vt & algorithm = hmac-sha256 & timestamp = 1620269782258 & nonce = d7041f4746a09b10 & signature = xvv9UjzOrQFWe7fFS5IUU9iqIZrncvF093SqXsnfcK8%3D