API 通用說明
共 1259字,需瀏覽 3分鐘
·
2023-04-19 15:14
請(qǐng)求域名
https://uni.apistd.com公共參數(shù)
公共參數(shù)為調(diào)用 API 請(qǐng)求時(shí)必須攜帶的參數(shù),統(tǒng)一使用 URL Query 參數(shù)傳輸。
| 參數(shù)名 | 類型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
| action | string | 是 | 接口名 | sms.message.send |
| accessKeyId | string | 是 | 請(qǐng)求 AccessKey ID | rQJEk4mz6gZzTC9X8XHfpQ1Vt |
訪問鑒權(quán)
UniSMS 提供以下兩種鑒權(quán)方式共開發(fā)者選擇,可在控制臺(tái)-憑證管理中設(shè)置,默認(rèn)為簡易模式。
- 簡易模式 [默認(rèn)]:此模式僅核驗(yàn)
AccessKey ID,不對(duì)請(qǐng)求參數(shù)進(jìn)行驗(yàn)簽,方便開發(fā)者快速接入。 - HMAC模式:此模式要求使用
AccessKey Secret對(duì)請(qǐng)求參數(shù)進(jìn)行驗(yàn)簽,以加強(qiáng)保障請(qǐng)求的安全與真實(shí)性。
簡易模式
使用簡易模式完成訪問認(rèn)證,僅需將從控制臺(tái)-憑證管理中獲得 AccessKey ID 值傳入 URL Query 參數(shù) accessKeyId 即可完成鑒權(quán)。
HMAC模式
使用 HMAC 模式完成訪問認(rèn)證,需將所有 URL Query 參數(shù)按字典順序排列作為待簽文本串,并根據(jù)指定簽名哈希算法進(jìn)行簽名。
新增所須公共參數(shù) (Query) 如下:
| 參數(shù)名 | 類型 | 是否必填 | 描述 | 示例值 |
|---|---|---|---|---|
| algorithm | string | 是 | 簽名哈希算法,目前僅支持 hmac-sha256 | hmac-sha256 |
| timestamp | number | 是 | 時(shí)間戳 (ms),接受容差時(shí)間 10 分鐘 | 1620243278785 |
| nonce | string | 是 | 隨機(jī)字符串,接受 8-64 個(gè)字符間的隨機(jī)字符串 | d7041f4746a09b10 |
| signature | string | 是 | 簽名串 | xvv9UjzOrQFWe7fFS5IUU9iqIZrncvF093SqXsnfcK8= |
簽名生成步驟
1. 提取請(qǐng)求中所有 URL Query 參數(shù)對(duì),根據(jù)參數(shù) Key 按字典順序排序 (正序),以=連接 Key-Value,以&連接參數(shù)對(duì)組成待簽文本串,示例如下:
accessKeyId=rQJEk4mz6gZzTC9X8XHfpQ1Vt&action=sms.message.send&algorithm=hmac-sha256&nonce=d7041f4746a09b10×tamp=16202697822582. 使用 HmacSHA256 算法,以 AccessKey ID 對(duì)應(yīng)的 AccessKey Secret 作為簽名秘鑰,對(duì)待簽文本串生成簽名,輸出為 Base64 (或 Hex) 字符串,示例如下:
xvv9UjzOrQFWe7fFS5IUU9iqIZrncvF093SqXsnfcK8=3. 將簽名串作為 signature 的值增加到請(qǐng)求 URL Query 參數(shù)中發(fā)送請(qǐng)求,最終完整的請(qǐng)求 URL 示例如下:
https://uni.apistd.com/?action=sms.message.send&accessKeyId=rQJEk4mz6gZzTC9X8XHfpQ1Vt&algorith