SAP系统和微信集成的系列教程之十:如何在SAP C4C系统里直接回复消息给微信用户
本系列的英文版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系統中:
同時,每一條C4C Social Media Message都會自動生成一條Service Ticket,下圖ID為1034309的Ticket是一個例子:
本文實現的場景則更進一步。C4C座席人員在系統里回復該Service Ticket,比如下圖是座席人員的回復,大意是:“親愛的客戶,我們已經收到了您的服務請求,正在處理中”。
通過本文介紹的增強步驟,C4C座席人員的回復,將會自動推送到微信用戶的手機上:
下面是具體的實現步驟。
在C4C系統里創建一個類型為Rest Service的Mashup:
Mashup詳細信息維護如下,最關鍵的字段是URL,需要指向部署到云平臺的nodejs應用暴露出的一個endpoint,本文的例子是/fromc4c:
當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轉發給微信用戶。
https://github.com/wangzixi-diablo/wechat-sap-integration/blob/main/jerryapp/routes/index.js
所以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系統集成的系列介紹到此結束,感謝大家的關注。
更多閱讀
(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系統直接回復消息給微信公眾號的訂閱者(本文)
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP系统和微信集成的系列教程之十:如何在SAP C4C系统里直接回复消息给微信用户的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于到处奔波很累的句子 关于奔波的说说
- 下一篇: 小技巧:Chrome开发者工具里的Alt