本系列的英文版Jerry寫作于2017年,這個教程總共包含十篇文章,發表在SAP社群上。
系列目錄
(1) 微信開發環境的搭建
(2) 如何通過微信公衆号消費API
(3) 微信使用者關注公衆号之後,自動在SAP C4C系統建立客戶主資料
(4) 如何将SAP C4C主資料變化推送給微信公衆号
(5) 如何将SAP UI5應用嵌入到微信公衆号菜單中
(6) 如何通過OAuth2擷取微信使用者資訊并顯示在SAP UI5應用中
(7) 使用Redis存儲微信使用者和公衆号的對話記錄
(8) 100行代碼在微信公衆号裡內建地圖搜尋功能
(9) 如何将微信使用者發送到微信公衆号的消息儲存到SAP C4C系統
(10) 如何在SAP C4C系統直接回複消息給微信公衆号的訂閱者(本文)
最近有不少朋友在微信上向我咨詢SAP系統和微信公衆号內建的問題,是以我把當時寫的英文版翻譯成中文,重新釋出在我的公衆号上。
需要注意的是,時隔三年,微信公衆号的開發流程可能有所變化,請大家自行鑒别。和微信公衆号內建的系統,我三年前選擇的是SAP Cloud for Customer.
在本系列前一篇文章 如何将微信使用者發送到微信公衆号的消息儲存到SAP C4C系統 ,我們已經實作了這樣的場景:某微信使用者關注微信公衆号之後,接下來發送給該公衆号的每一條文本資訊,都會以Social Media Message的模型,自動轉存到C4C系統中:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5SYjNmMjlDMyMGN2YWMlRGO0QjZ0YTZxYjMiN2Y2YTNi9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)
同時,每一條C4C Social Media Message都會自動生成一條Service Ticket,下圖ID為1034309的Ticket是一個例子:
本文實作的場景則更進一步。C4C座席人員在系統裡回複該Service Ticket,比如下圖是座席人員的回複,大意是:“親愛的客戶,我們已經收到了您的服務請求,正在進行中”。
通過本文介紹的增強步驟,C4C座席人員的回複,将會自動推送到微信使用者的手機上:
下面是具體的實作步驟。
在C4C系統裡建立一個類型為Rest Service的Mashup:
Mashup詳細資訊維護如下,最關鍵的字段是URL,需要指向部署到雲平台的nodejs應用暴露出的一個endpoint,本文的例子是/fromc4
當C4C Service Ticket被座席人員回複時,對應的資料會被C4C轉換成XML格式,通過HTTP POST,發送到上圖Mashup URL字段維護的endpoint去:
http://wechatjerry.herokuapp.com/fromc4c将建立好的Mashup Service配置設定到本系列前一篇文章建立的自定義Channel ZJERRYWC中去:
在微信消息伺服器實作的index.js裡,當endpoint /fromc4c收到HTTP POST請求時,調用handleReplyFromC4C函數,将C4C座席人員的回複内容,調用微信API轉發給微信使用者。
是以C4C座席人員回複Service Ticket之後,資料流向為:
C4C Mashup->微信公衆号消息伺服器->微信app
handleReplyFromC4C.js的完整實作代碼如下。
微信消息伺服器接收到通過C4C Mashup推送過來的HTTP POST資料,如何知道該轉發給哪一個微信使用者呢?答案是通過微信使用者的Wechat ID,該ID早在該微信使用者第一次關注微信公衆号的時候,就自動維護在C4C系統裡,自動建立的客戶主資料對應的Social Profiles标簽頁裡:
如果忘記了這個邏輯,可以重新閱讀本系列前一篇文章:
如何将微信使用者發送到微信公衆号的消息儲存到SAP C4C系統。
是以,handleReplyFromC4C需要三個實作步驟:
1) C4C Mashup推送給微信消息伺服器的資料中包含了Social Media Message ID,需要根據該ID,調用API得到message明細,從中取出Social Media User Profile ID.
(2) 根據Social Media User Profile ID,調用API拿到Profile明細,從明細中取出微信使用者Wechat ID.
(3) 調用微信API,将Service Ticket回複的内容,發送給Wechat ID對應的微信使用者。這樣,微信使用者就能在其手機上,看到C4C座席人員在系統裡回複Service Ticket的文本内容了。
微信公衆号同SAP C4C系統內建的系列介紹到此結束,感謝大家的關注。
更多閱讀