接口對接常見問題
基礎(chǔ)
1.如何選擇短信接口
在對接過程中,用戶常常會遇到一個問題:send和xsend接口都是單發(fā)API我該如何選擇使用哪個接口呢?針對這個問題,這邊我們列下各個接口優(yōu)缺點以及使用場景。
API | 優(yōu)點 | 缺點 | 應(yīng)用場景 |
---|---|---|---|
Message/send | 方便、快速對接使用,免模板,可直接提交任意內(nèi)容(需要符合短信發(fā)送規(guī)范,短信簽名前置) | 并發(fā)效率不高(并發(fā)效率低指高于每秒 1000 的并發(fā),低于這個并發(fā)需求請無視) | 適用于并發(fā)小,內(nèi)容變動或模板變動較多的場景 |
Message/xsend | 高穩(wěn)定性,低延遲,高并發(fā) | 接入時需要提前創(chuàng)建模板,并指定模板 ID | 適用驗證碼類要求低延遲,高請求效率的場景 |
Message/multisend | 接入方便,免模板,可直接提交任意內(nèi)容(需要符合短信發(fā)送規(guī)范,短信簽名前置),支持大批量群發(fā) | 效率低于 multixsend,如果每小時的發(fā)送量低于百萬級,請無視此缺點 | 適用單小時發(fā)送量低于百萬級且自定義內(nèi)容短信群發(fā) |
Message/multixsend | 高效,高穩(wěn)定性,低延遲,超高并發(fā) | 接入時需要提前創(chuàng)建模板,并指定模板 ID | 適用大批量群發(fā)場景( 50 個號碼 /API,100 線程并發(fā),每分鐘可處理 15 萬左右的群發(fā)需求) |
2.短信是否可以不報備下發(fā)?
所有在線下發(fā)短信都需要進(jìn)行報備模板后才可下發(fā);如接口可以使用 send api 異步審核報備。
3.短信一對一發(fā)送和用群發(fā)方式只發(fā)一個人,有沒有什么區(qū)別?
短信有專門的 multi/xsend API 群發(fā)的,和 xsend 相比,multi/xsend API 效率上翻大約 100 倍以上,但是如果量特別大,我們建議使用進(jìn)行分包多線程提交。
4.接口對接報 101 錯誤
A:最常見的原因是,接口沒有設(shè)置請求。
解決辦法:設(shè)置 Content-Type: multipart/form-data; 或者 Content-Type: application/x-www-form-urlencoded
第二種: 接口請求地址和參數(shù)不匹配。
如: 使用國內(nèi)的 APPID 請求國際接口,或者使用國際短信 APPID 請求國內(nèi)接口。
解決辦法:創(chuàng)建對應(yīng)的 APPID
5.接口對接報 102 錯誤
這種只會出現(xiàn)在請求 send 接口或者 multisend 接口。原因是,早期生成的 APPID 不具備使用 send 接口的權(quán)限。
解決辦法:
(1)提供 APPID ,在審核后臺:短信—》短信應(yīng)用列表,輸入 APPID ,將 SEND API 的參數(shù)改成 1。
(2)創(chuàng)建一個新的 APPID ,使用新的 APPID 請求 send 接口。
6.接口對接報 108 錯誤
簽名加密異常,可以將 sign_type 設(shè)置成 normal, signature 參數(shù)直接傳 APPKEY 。
7.接口對接報 109 錯誤
傳入的 APPKEY 值不正確, 請確認(rèn) APPKEY 值
8.接口對接報 252 錯誤
傳入的號碼不正確。
在國際短信確認(rèn)號碼是正確的情況下,一般是有“+”的編碼引起的,建議客戶用 urlencode 方法指定下 body 參數(shù)為 utf-8 編碼。每個語言的方法不一致,以 java 為列:UrlEncode.encode(“xxxx”,“utf-8”);
9.郵件報 206 錯誤
檢查域名解析是否成功, 如果域名解析成功,則檢查發(fā)件人是否正確創(chuàng)建。
如果發(fā)件人正確創(chuàng)建,需要檢查代碼內(nèi),發(fā)件人是否正確傳入。
10.接口對接報 411 錯誤
1.content 參數(shù)沒有傳入短信簽名(公司名或者產(chǎn)品名).
2.content 參數(shù)編碼問題,讓客戶 urlencode 處理下參數(shù)編碼為 utf-8
11.接口對接返回 420 錯誤
send 接口自動創(chuàng)建的模板被駁回
解決辦法: 登錄用戶的后臺,在模板列表內(nèi)刪除沒有通過的模板,然后重新提交一次。
12.接口報 901 錯誤
APPID 設(shè)置了每日發(fā)送上限
解決辦法: 在 APPID 頁面修改上限,或設(shè)置為 0, 0 為無限制
13.接口報 902 、903、904 錯誤
賬戶內(nèi)余額不足,需充值
14.接口報 113 錯誤
APPID 設(shè)置了 IP 白名單。非白名單IP無法請求
解決辦法: 在 APPID 頁面添加請求服務(wù)器的 IP ,如果是在線發(fā)送,需要添加我們的服務(wù)器 IP 為白名單, 具體 IP 可以在報錯信息內(nèi)查看。
15.PHP 請求接口,無報錯,無任何返回或返回 NULL
本地沒有裝 SSL 擴(kuò)展
解決辦法:把請求地址的 HTTPS 換成 HTTP。
16.JAVA 請求,返回 xxxxx.....SSL....xxxxxxx, C# 返回 無法在證書存儲區(qū)中找到清單簽名證書
本地沒有裝 SSL 擴(kuò)展
解決辦法:把請求地址的 HTTPS 換成 HTTP。
17.請求接口超時 或者請求丟數(shù)據(jù)
詢問用戶的服務(wù)器是否在國內(nèi),如果不在國內(nèi),則提供相應(yīng)的節(jié)點。
節(jié)點區(qū)域 | 請求域名 |
---|---|
美國 | https://us-api.mysubmail.com |
日本 | https://jp-api.mysubmail.com |
德國 | https://de-api.mysubmail.com |
中國香港 | https://hk-api.mysubmail.com |
HTTPS 和 HTTP 通用。