ASP.NET MVC阿里大於簡訊介面開發簡訊群發能

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

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

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

ITopClient client = new DefaultTopClient(url, appkey, secret);AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();req.Extend = "" ;//可空,返回狀態req.SmsType = "normal" ;//不可更改req.SmsFreeSignName = "" ;//申請的簡訊簽名,不可填寫與申請的不一req.SmsParam = "" ;//簡訊模板中的變數如:{name}req.RecNum = "13000000000" ;//手機號碼req.SmsTemplateCode = "" ;//簡訊模板的編號,不可出錯AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req);Console.WriteLine(rsp.Body);

具體開發中,需要注意到的是這一段代碼是官方提供的樣品,在寫簡訊發送函方法時,將它粘貼再進行開發即可。其中模板變數的配對尤其關鍵:

req.SmsParam = "" ;//簡訊模板中的變數如:{name}

在這種情況下,對字串拼接要有基本功,由於是類json化的,所以

req.SmsParam ="{number:'" + Password + "'}";//去掉雙引號則是{number:‘Password'}

說完細節之後,開始在本機上的項目裡引用編譯好的dll,該dll檔案可在阿里大於官網https://www.alidayu.com/center/application/sdk下載zip壓縮包,解壓即可得到產生好的dll.之後寫一個可以傳送簡訊的void方法,

public void SmsSendForFindPassword(string phonenum,string Password) { string url = "https://eco.taobao.com/router/rest"; string appkey = "********"; string secret = "**********************"; ITopClient client = new DefaultTopClient(url, appkey, secret); AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest(); req.Extend = ""; req.SmsType = "normal";//預設normal不可改動 req.SmsFreeSignName = "院紅會網宣";//簡訊簽名必填 req.SmsParam = "{number:'" + Password + "'}";//模板內參數必填 req.RecNum = phonenum;//手機號碼必填 req.SmsTemplateCode = "SMS_******";//不可改動 AlibabaAliqinFcSmsNumSendResponse rsp = client.Execute(req); }

這個方法是我為管理員找回密碼開發的,其中需要注意一下,傳入參數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的執行個體經驗,項目也經曆了使用者的使用檢驗,目前未出狀況,這也說明了阿里大於在簡訊介面服務這塊,資訊傳達的效率還是業內良心。

以上就是本文的全部內容,希望對大家的學習有所協助,也希望大家多多支援topic.alibabacloud.com。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.