程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> 短信接口調用——阿裡大於API開發心得,阿裡api

短信接口調用——阿裡大於API開發心得,阿裡api

編輯:關於.NET

短信接口調用——阿裡大於API開發心得,阿裡api


  互聯網上有許多公司提供短信接口服務,諸如網易雲信、阿裡大於等等。我在自己項目裡需要使用到短信服務起到通知作用,實際開發周期三天,完成配置、開發和使用,總的說,阿裡大於提供的接口易於開發,非常的方便,短信費用是計數繳納的,作為個人開發者,我使用的服務產生的費用為0.045¥/條(10萬條以下)。

  現在要實現一個例會短信群發通知的功能,所有被通知對象信息均存於Mysql中,應用架構采用asp.net MVC 。首先准備好獲取的API各項(以下各項服務參數都需要在大於官網上申請),

申請好自己的短信簽名與短信模板,根據服務商的要求需要這些參數:

 

1 ITopClient client = new DefaultTopClient(url, appkey, secret); 2 AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest(); 3 req.Extend = "" ;//可空,返回狀態 4 req.SmsType = "normal" ;//不可更改 5 req.SmsFreeSignName = "" ;//申請的短信簽名,不可填寫與申請的不一 6 req.SmsParam = "" ;//短信模板中的變量如:{name} 7 req.RecNum = "13000000000" ;//手機號碼 8 req.SmsTemplateCode = "" ;//短信模板的編號,不可出錯 9 AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req); 10 Console.WriteLine(rsp.Body); View Code

 

具體開發中,需要注意到的是這一段代碼是官方提供的樣品,在寫短信發送函方法時,將它粘貼再進行開發即可。其中模板變量的配對尤其關鍵: req.SmsParam = "" ;//短信模板中的變量如:{name} 在這種情況下,對字符串拼接要有基本功,由於是類json化的,所以  req.SmsParam ="{number:'" + Password + "'}";//去掉雙引號則是{number:‘Password’}   說完細節之後,開始在本機上的項目裡引用編譯好的dll,該dll文件可在阿裡大於官網https://www.alidayu.com/center/application/sdk下載zip壓縮包,解壓即可得到生成好的dll.之後寫一個可以發送短信的void方法,   1 public void SmsSendForFindPassword(string phonenum,string Password) 2 { 3 string url = "https://eco.taobao.com/router/rest"; 4 string appkey = "********"; 5 string secret = "**********************"; 6 ITopClient client = new DefaultTopClient(url, appkey, secret); 7 AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest(); 8 req.Extend = ""; 9 req.SmsType = "normal";//默認normal不可改動 10 req.SmsFreeSignName = "院紅會網宣";//短信簽名必填 11 req.SmsParam = "{number:'" + Password + "'}";//模板內參數必填 12 req.RecNum = phonenum;//手機號碼必填 13 req.SmsTemplateCode = "SMS_******";//不可改動 14 AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req); 15 } View Code
  • 這個方法是我為管理員找回密碼開發的,其中需要注意一下,傳入參數phonenum,Password,在傳入前從數據庫中調出,不得為空。
  • ITopClient client = new DefaultTopClient(url, appkey, secret);這其中的url在官方中給出了兩個,我傾向於https,這樣數據傳輸更安全。具體選擇請參考阿裡大於官網文檔。
  • AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);//這個對象實例化後,才是api發送方法調用的最後一步,在這之前,每一項都要正確,出錯可以使用Console.WriteLine(rsp.Body);//顯示出錯誤信息

  對於如何實現的群發功能,寫一個SendSmsForMeetingTime(string name, string time, string phonenum, string department, string minister)方法函數,我使用了List<Model>,將數據庫中的多條數據讀入List中,使用foreach(var item in list),在每一次遍歷中調用一次SendSmsForMeetingTime;當遍歷完成之時,每一個通知對象的信息傳入方法參數中,方法執行完後之後,便實現了調用。

  在這裡說明一下接口調用,短信經過的流程。用戶客戶端/用戶服務器——>阿裡大於服務器——>移動/電信/聯通運營商服務器——>對象可接受短信服務終端。實際上,阿裡大於也是調用的運營商的接口,只是阿裡大於將接口封裝到便宜開發,而我們開發者在這基礎上能完成第三方接口開發,這些開發也僅限制於服務商封裝了哪些接口,開發者無法調用服務商未封裝的接口。

  以上便是我在實際項目中調用API的實例經驗,項目也經歷了用戶的使用檢驗,目前未出狀況,這也說明了阿裡大於在短信接口服務這塊,信息傳達的效率還是業內良心。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved