第三方簡訊傳送(雲片)
阿新 • • 發佈:2018-12-17
第一步:註冊雲片的賬號;
第二步:在pom檔案放入
<dependency> <groupId>com.yunpian.sdk</groupId> <artifactId>yunpian-java-sdk</artifactId> <version>1.2.4</version> </dependency>
第三步:
DictionaryConstants.APIKEY = "
簡訊介面使用者唯一標識:apike
"
public Result<SmsSingleSend> sendSms(String prodId, String mobile, String type, ResourceBundle rb) throwsIllegalArgumentException { //驗證碼 String verCode = ""; //生成6位數驗證碼 verCode = createRandomVcode(); //取得產品名字 JobResult<BdpProdInfoEntity> bdpProdInfoEntityJobResult = sendTemplateService.getBdpProdnfo(prodId,rb); String prodName = bdpProdInfoEntityJobResult.getModule().getProdName(); //取得資料庫的模板內容JobResult<BdpProdCfgVo> jobResult = sendTemplateService.getBdpProdCfgInfo(prodId, DictionaryConstants.VERIFY_CODE_TEMPLATE,rb); String prodCfgDesc = jobResult.getModule().getProdCfgDesc(); prodCfgDesc = prodCfgDesc.replace("#app#", prodName); prodCfgDesc = prodCfgDesc.replace("#code#", verCode); //初始化client,apikey作為所有請求的預設值(可以為空) YunpianClient clnt = new YunpianClient(DictionaryConstants.APIKEY).init(); //修改賬戶資訊API Map<String, String> param = clnt.newParam(2); param.put(YunpianClient.MOBILE, mobile); param.put(YunpianClient.TEXT, prodCfgDesc); Result<SmsSingleSend> r = clnt.sms().single_send(param); System.out.println(r); //將取得的驗證碼放到redis快取中 if (r.getCode() == 0) { RedisVo redisVo = new RedisVo(); redisVo.setVerCode(verCode); //簡訊傳送的時間 redisVo.setLastTime(new Date().getTime()); redisVo.setMobile(mobile); redisVo.setType(type); redisUtils.setKeyValue(type + mobile, redisVo); } //Result<SmsSingleSend> r = clnt.sms().single_send(param); //獲取返回結果,返回碼:r.getCode(),返回碼描述:r.getMsg(),API結果:r.getData(),其他說明:r.getDetail(),呼叫異常:r.getThrowable() //賬戶:clnt.user().* 簽名:clnt.sign().* 模版:clnt.tpl().* 簡訊:clnt.sms().* 語音:clnt.voice().* 流量:clnt.flow().* 隱私通話:clnt.call().* //最後釋放client clnt.close(); return r; } /** * 隨機生成6位隨機驗證碼 * 方法說明 * * @ModifyDate: 2017年8月11日 */ public static String createRandomVcode() { //驗證碼 String vcode = ""; for (int i = 0; i < 6; i++) { vcode = vcode + (int) (Math.random() * 9); } return vcode; } 具體有問題可以參考雲片官方的API,本文章僅作為作者學習用