零基礎學習貼:如何收取短信回複消息
消息服務支持多種消息推送方式,其中就包括推送短信,而目前很多行業都會需要通過短信的方式與客戶溝通。主流的廣告推廣、客戶關係保持、驗證碼等等,本文就不贅述了,可以參考消息服務的文檔:點我。本文稍微進階一些,教學:如何收取短信回複消息。
首先看一個業務場景:
某公司給用戶提供了按月收費的服務(比如視頻會員等等),每個月總有那麼幾天要來扣錢,為了讓用戶被扣錢了沒有怨言,就會在扣錢前一兩天通過短信的方式通知下用戶,問用戶是否需要停止該服務(雖然你可能一猶豫,就被打斷了,然後又被按期扣錢了...然後,然後你就習慣了)。畢竟沒有手機的用戶太少了,通過短信通知你了,再來扣錢,就光明正大、理所當然了。
今天,我們就來告訴大家,如果使用消息服務,來實現讓用戶在“不知不覺”、“習慣性懶”的情況下,就成了按月付費的忠實用戶了。
實現這個方案的基本結構是:
簡單說明下:
(1)先創建短信推送異步回調的規則,關注SMSExtend:ReplyMessage的事件,即:當發送給用戶的短信產生回複消息時,會產生該事件,並且生成相應的結果消息(該結果消息中包括用戶回複短信的內容),並將該消息推送到規則中指定的接收端中(這樣在用戶回複短信消息後,就會把回複的消息內容推送到指定的接收端上了)。接收端可以是HttpServer(用戶的AppServer),也可以是推送到MNS的隊列中,AppServer再從MNS的隊列中消費對應的消息,從而獲取到用戶回複的短信消息內容。創建異步回調規則,可參考:點我。
(2)用戶的AppServer中根據業務邏輯,比如,在用戶的服務快到期前,觸發定時發送短信的邏輯。而發送短信,消息服務提供了非常方便的接口(並提供了專用的主題)。發布短信消息的文檔,可參考:點我。
(3)消息服務收到用戶發布的消息後,會根據用戶指定的短信模板,將短信消息推送給用戶。
(4)用戶接收到推送的短信消息後,可以直接回複短信。比如,推送給用戶的短信內容可以是:“如果不希望繼續使用XXX服務,請回複:你好帥。”。用戶如果不希望繼續付費使用XXX服務的話,就可以直接回複“你好帥”。
(5)消息服務通過運營商,拿到用戶回複的短信後,查詢用戶是否創建了相關規則(即,是否有關心短信回複消息的事件)。鑒於前麵先創建了規則,那MNS就會根據用戶回複的內容,生成相應的結果消息。並按照用戶創建的規則中指定的方式,將改結果消息發送到:
(5.1)HttpServer,用戶可以通過搭建一個HttpServer,能夠處理MNS推送過來的消息(POST請求),具體可參考:點我。這樣HttpServer在處理MNS的推送消息請求時,就可以進行相關的判斷和業務邏輯處理(比如持久化用戶的服務狀態)。
(5.2)MNS的隊列,這裏用戶不需要額外搭建什麼,用戶僅需要創建一個MNS的隊列,然後消息會自動推送到該隊列中。後續,AppServer可以到該隊列中主動消費消息,進行相關邏輯處理。
(6)AppServer根據短信推送的結果消息中,用戶返回的短信消息進行判斷,看是否需要停止該用戶的服務,或者可以繼續扣除用戶的錢~
然後,然後,您的服務就會越來越好,越來越好了~
最後更新:2017-04-27 21:31:02