API: aim/shorturl - 生成短鏈接
概覽
aim/shorturl
是 SUBMAIL AIM閱信的生成短網(wǎng)址 API。
URL
https://api-v4.mysubmail.com/aim/shorturl
接口響應(yīng)數(shù)據(jù)格式
格式 | URL |
---|---|
json | https://api-v4.mysubmail.com/aim/shorturl.json (默認(rèn)) |
xml | https://api-v4.mysubmail.com/aim/shorturl.xml |
yaml | https://api-v4.mysubmail.com/aim/shorturl.yaml |
http 請(qǐng)求方式
請(qǐng)求方式 | content-type設(shè)置 |
---|---|
post | multipart/form-data、x-www-form-urlencoded、application/json |
是否需要授權(quán)
是
參閱 API 授權(quán)和驗(yàn)證機(jī)制
請(qǐng)求參數(shù)
參數(shù) | 類型 | 必需/可選 | 默認(rèn) | 描述 |
---|---|---|---|---|
appid | string | 必填 | 無(wú) | 在 SUBMAIL 應(yīng)用集成中創(chuàng)建的短信應(yīng)用ID |
templateId | string | 必填 | 無(wú) | 模板ID |
aimCodeType | int | 必填 | 無(wú) | 閱信編碼類型 1:群發(fā)(即相同短鏈下發(fā)多個(gè)號(hào)碼) 2:個(gè)性化(即每個(gè)短鏈下發(fā)一個(gè)號(hào)碼,如下發(fā)多個(gè)號(hào)碼也只能被一個(gè)號(hào)碼解析) |
paramList | json array | 必填 | 無(wú) | 參數(shù)對(duì)象集合,接收閱信的手機(jī)號(hào)/用戶ID和動(dòng)態(tài)參數(shù)對(duì)象列表,最大為1萬(wàn)個(gè) 1、沒(méi)有動(dòng)參的時(shí)候,dyncParams中VALUE為空 2、oppo模板一次最多只能申請(qǐng)10個(gè) |
smsSigns | array | 必填 | 無(wú) | 應(yīng)與實(shí)際下發(fā)短信原文中簽名保持一致,否則手機(jī)終端無(wú)法解析閱信鏈接<br/> 1.當(dāng)前單次生成短鏈操作僅支持使用一個(gè)簽名,否則會(huì)引起模板內(nèi)【短信簽名】不一致情況 2.VIVO模板的短鏈簽名需和創(chuàng)建模板時(shí)使用的簽名一致,否則無(wú)法解析 簽名內(nèi)容不包括前后中英文括號(hào) |
showTimes | int | 必填 | 無(wú) | 群發(fā)單個(gè)閱信短鏈短信給N個(gè)號(hào)碼的場(chǎng)景,防止展示次數(shù)超過(guò)預(yù)期帶來(lái)安全風(fēng)險(xiǎn),指定此閱信短鏈最大成功展示次數(shù)。 考慮到異常解析、網(wǎng)絡(luò)異常、手機(jī)終端重置操作、SIM卡換機(jī)等操作,需要適當(dāng)放大展示次數(shù)的限定值。如:預(yù)計(jì)群發(fā)消息為100W條,參考設(shè)置目標(biāo)解析次數(shù)為110W次 閱信短鏈個(gè)性化發(fā)送,即一個(gè)短鏈對(duì)應(yīng)一個(gè)發(fā)送號(hào)碼的場(chǎng)景,此字段標(biāo)識(shí)一個(gè)短鏈的嘗試展示次數(shù)??紤]到異常解析、網(wǎng)絡(luò)異常、手機(jī)終端重置操作、SIM卡換機(jī)等操作,展示次數(shù)的參考值為10次。 |
expireTimes | int | 可選 | 7 | 短鏈?zhǔn)r(shí)間 (默認(rèn)7天) 個(gè)性化短鏈最大值為7天,群發(fā)短鏈最大值為60天 |
timestamp | int | 可選 | 無(wú) | UNIX 時(shí)間戳,結(jié)果以秒為單位,使用加密鑒權(quán)方式,此參數(shù)必填 |
signType | string | 可選 | normal | API 鑒權(quán)模式,可選參數(shù)normal、sha256 |
signature | string | 必需 | 無(wú) | 鑒權(quán)簽名: 1. 當(dāng)signType為sha256時(shí),將以下參數(shù)拼接appid+appkey+appid=12345&signType=sha256& timestamp=1712122221+appid+appkey ,“+”號(hào)為鏈接符號(hào),不參與拼接用sha256將以上拼接字符串加密作為鑒權(quán)參數(shù) 2.當(dāng)signType為normal時(shí),appkey即是signature的值。 |
paramList 數(shù)據(jù)結(jié)構(gòu)
注:paramList參數(shù)中不得出現(xiàn)以下關(guān)鍵字,或包含關(guān)鍵字的單詞或短語(yǔ)句子onmouseover,onmouseout,onmousedown,onmouseup,onmousemove,onclick,ondblclick,onkeypress,onkeydown,onkeyup,ondragstart,onerrorupdate,onhelp,onreadystatechange,onrowenter,onrowexit,onselectstart,onload,onunload,onbeforeunload,onblur,onerror,onfocus,onresize,onscroll,oncontextmenu,alert,<script,</script,<marquee,</marquee
參數(shù) | 類型 | 必需/可選 | 默認(rèn)值 | 描述 |
---|---|---|---|---|
custFlag | string | 必需 | 無(wú) | 客戶標(biāo)識(shí),如手機(jī)號(hào)、用戶ID等,長(zhǎng)度不超過(guò)64個(gè)字符 此字段不做手機(jī)號(hào)校驗(yàn),可填寫(xiě)1,2,3... |
custId | string | 可選 | 無(wú) | 自定義消息 ID,短信在客戶業(yè)務(wù)系統(tǒng)內(nèi)的標(biāo)識(shí)。 最大長(zhǎng)度不超過(guò) 64個(gè)字符。 |
dyncParams | map<string>string | 必需 | 無(wú) | 動(dòng)態(tài)參數(shù),模板動(dòng)態(tài)參數(shù)集體,KEY為參數(shù)名(KEY前綴為param),VALUE為參數(shù)值,長(zhǎng)度最大100個(gè)字符。 如果無(wú)動(dòng)參,value為空。群發(fā)短鏈建議填寫(xiě)固定值: {} |
customUrl | string | 可選 | 無(wú) | 自定義跳轉(zhuǎn)地址,長(zhǎng)度不超過(guò)128個(gè)字符 未填時(shí),用戶點(diǎn)擊短信原文中的短鏈,跳轉(zhuǎn)至閱信卡片的H5頁(yè) 已填時(shí),用戶點(diǎn)擊短信原文中的短鏈,跳轉(zhuǎn)填寫(xiě)的自定義鏈接落地頁(yè) 1.填寫(xiě)時(shí)必須為http或https做為前綴。 2.如要填寫(xiě)此項(xiàng),請(qǐng)?zhí)崆奥?lián)系支撐人員添加自定義跳轉(zhuǎn)地址白名單,否則無(wú)法成功生成短鏈 |
代碼示例
發(fā)送一封測(cè)試短信
POST URL
https://api-v4.mysubmail.com/aim/shorturl
POST DATA
{
"appid":"your_app_id",
"signature":"your_app_key",
"templateId": "RVrYrm",
"showTimes": 10000,
"aimCodeType": 1,
"paramList": [{
"custFlag": "1",
"custId": "",
"dyncParams": {
"param1": "",
"param2": ""
},
"customUrl": ""
}]
}
響應(yīng)參數(shù)
參數(shù) | 類型 | 必需/可選 | 默認(rèn) | 描述 |
---|---|---|---|---|
status | string | 必填 | 無(wú) | 成功返回success ,失敗返回error |
message | string | 必填 | 無(wú) | 描述信息 |
data | json object | 必填 | 無(wú) | 請(qǐng)求成功返回的數(shù)據(jù) |
data 數(shù)據(jù)結(jié)構(gòu)
參數(shù) | 類型 | 必需/可選 | 默認(rèn) | 描述 |
---|---|---|---|---|
tplId | string | 必填 | 無(wú) | 模板ID |
paramList | json array | 必填 | 無(wú) | 參數(shù)對(duì)象集合 |
paramList 數(shù)據(jù)結(jié)構(gòu)
參數(shù) | 類型 | 必需/可選 | 默認(rèn) | 描述 |
---|---|---|---|---|
custFlag | string | 必填 | 無(wú) | 客戶標(biāo)識(shí) |
custId | string | 可選 | 無(wú) | 自定義消息 ID |
dyncParams | map<string>string | 可選 | 無(wú) | 動(dòng)態(tài)參數(shù) |
aimUrl | string | 必填 | 無(wú) | 帶URL地址的閱信短鏈,短鏈7天內(nèi)有效 |
aimCode | string | 必填 | 無(wú) | 即aimUrl去掉前綴,目前不使用 |
extData | string | 可選 | 無(wú) | 保留參數(shù) |
成功返回
{
"status": "success",
"message": "成功",
"data": {
"tplId": "RVrYrm",
"paramList": [{
"custFlag": "13000000000",
"custId": "500000000001",
"dyncParams": {
"param1": "參數(shù)1",
"param2": "參數(shù)2"
},
"aimUrl": "https://rcs.10086.cn/dsfw3d",
"aimCode": "dsfw3d",
"extData": ""
},
{
"custFlag": "13000000001",
"custId": "500000000002",
"dyncParams": {
"param1": "參數(shù)1",
"param2": "參數(shù)2"
},
"aimUrl": "https://rcs.10086.cn/fsdfws",
"aimCode": "fsdfws",
"extData": ""
}
]
}
}
失敗返回
{
"status":"error", //請(qǐng)求狀態(tài)
"msg":"error message" //失敗信息描述
}