如何發(fā)送國際短信


本教程可以實現(xiàn)給指定手機號發(fā)含驗證碼的短信,用于驗證手機號真實性或驗證操作安全性。


一、注冊、報備及設(shè)置


注冊云片,完成資質(zhì)報備模板報備。
tips:


  • 報備可以讓產(chǎn)品經(jīng)理、運營等業(yè)務(wù)人員完成。
  • 開發(fā)階段,建議先關(guān)閉IP 白名單,或?qū)⒎?wù)器 IP 及本地 IP 均設(shè)置在 IP 白名單內(nèi)。
  • 為了避免開發(fā)調(diào)試中,您的手機號被系統(tǒng)防騷擾機制攔截,可以在測試白名單填寫您的手機號。


二、調(diào)通國際短信接口


方法一:直接使用 API


請求


URL:https://sms.yunpian.com/v2/sms/single_send.json
訪問方式:POST
http 支持:支持 https 與 http 兩種訪問,建議使用 https


參數(shù):

參數(shù)名類型是否必傳是否默認(rèn)開放描述示例
apikeyString用戶唯一標(biāo)識,在管理控制臺獲取9b11127a9701975c734b8aee81ee3526
mobileString接收的手機號,僅支持單號碼發(fā)送; 國際號碼需包含國際地區(qū)前綴號碼+93701234567
textString已審核短信模板【云片網(wǎng)】您的驗證碼是 1234
extendString下發(fā)號碼擴展號,純數(shù)字001
uidString該條短信在您業(yè)務(wù)系統(tǒng)內(nèi)的 ID,如訂單號或者短信發(fā)送記錄流水號10001
callback_urlString短信發(fā)送后將向這個地址推送(運營商返回的)狀態(tài)報告。 如推送地址固定,建議在"數(shù)據(jù)推送與獲取”做批量設(shè)置。 如后臺已設(shè)置地址,且請求內(nèi)也包含此參數(shù),將以請求內(nèi)地址為準(zhǔn)http://your_receive_url\_address


注:如需使用"extend""uid"參數(shù),可免費向客服申請。


請求示例


/**
*單條短信發(fā)送,智能匹配短信模板
*
* @param apikey成功注冊后登錄云片官網(wǎng),進(jìn)入后臺可查看
* @param text需要使用已審核通過的模板或者默認(rèn)模板
* @param mobile接收的手機號,僅支持單號碼發(fā)送
* @return json格式字符串
*/

public static String singleSend(String apikey, String text, String mobile) {
    Map<String, String> params = new HashMap<String, String>();//請求參數(shù)集合
    params.put("apikey", apikey);
    params.put("text", text);
    params.put("mobile", mobile);
    return post("https://sms.yunpian.com/v2/sms/single_send.json", params);//請自行使用post方式請求,可使用Apache HttpClient
}


響應(yīng)

名稱類型描述
codeinteger0 代表發(fā)送成功,其他 code 代表出錯,詳細(xì)見"返回值說明"頁面
msgtext例如""發(fā)送成功"",或者相應(yīng)錯誤信息
countinteger發(fā)送成功短信的計費條數(shù)(計費條數(shù):70 個字一條,超出 70 個字時按每 67 字一條計費)
feedouble扣費金額,單位:元,類型:雙精度浮點型/double
unitstring計費單位;例如:“RMB”
mobilestring發(fā)送手機號
sidlong(64 位)短信 id,64 位整型, 對應(yīng) Java 和 C#的 long,不可用 int 解析


Json 返回示例


{
  "code": 0,
  "msg": "發(fā)送成功",
  "count": 1,
  "fee": 0.05,
  "unit": "RMB",
  "mobile": "+93701234567",
  "sid": 3310228982
}


特別注意: 國際短信接口每次調(diào)用只能發(fā)送一條短信,如需發(fā)送多條,請多次調(diào)用。


方法二:下載、導(dǎo)入 SDK,并配置


目前云片提供 JAVA/PHP/Python/C#/Golang 5 種語言 SDK、如果您的編程語言云片未提供 SDK,您可以根據(jù)文檔自行對接。
SDK 下載地址(JAVA/PHP/Python/C#/GOLANG):去下載


//初始化clnt,使用單例方式
YunpianClient clnt = new YunpianClient("apikey").init();

//發(fā)送短信API
Map<String, String> param = clnt.newParam(2);
param.put(YunpianClient.MOBILE, "+1********");
param.put(YunpianClient.TEXT, "【云片網(wǎng)】您的驗證碼是1234");
Result<SmsSingleSend> r = clnt.sms().single_send(param);
//獲取返回結(jié)果,返回碼:r.getCode(),返回碼描述:r.getMsg(),API結(jié)果:r.getData(),其他說明:r.getDetail(),調(diào)用異常:r.getThrowable()

//賬戶:clnt.user().* 簽名:clnt.sign().* 模版:clnt.tpl().* 短信:clnt.sms().* 語音:clnt.voice().* 流量:clnt.flow().* 隱私通話:clnt.call().*

//釋放clnt
clnt.close()


三、實現(xiàn)業(yè)務(wù)邏輯


調(diào)用接口傳入?yún)?shù)


  1. 短信內(nèi)容需和通過審核的模板匹配上才能發(fā)送,如不匹配接口會返回報錯信息,報錯記錄在后臺失敗請求頁可以看到。
  1. 傳入的手機號(mobile 參數(shù))會自動格式化到 E.164 格式,可能會造成傳入 mobile 參數(shù)跟后續(xù)的狀態(tài)報告中的號碼不一致。E.164 格式說明,參見: https://en.wikipedia.org/wiki/E.164


四、按需開發(fā)功能


  1. 對短信發(fā)送狀態(tài)做實時監(jiān)控
    如果您需要通過程序?qū)Χ绦诺陌l(fā)送狀態(tài)做實時監(jiān)控,可以開發(fā)“推送/獲取狀態(tài)報告”接口。
  1. 國外地區(qū)使用海外服務(wù)器
    如海外用戶可以調(diào)用海外服務(wù)器地址us.yunpian.com,獲得更快的請求和處理速度。例如使用短信接口時,將sms.yunpian.com替換為us.yunpian.com即可。
特黄人与动人物视频A级毛片,久久婷婷五月色综合蜜芽,亚洲AV永久无码区成人网站,精品无码成人网站久久久久久无码 ,日本动漫爆乳H动漫啪啪免费,成年女人毛片免费视频喷潮,一本之道高清在线观看免费,一级A片无遮挡,18禁美女挤奶水视频免费,欧美牲交A欧美牲交AⅤ电影