日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

SAP系统和微信集成的系列教程之四:如何将SAP C4C主数据变化推送给微信公众号的关注者

發布時間:2023/12/19 windows 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SAP系统和微信集成的系列教程之四:如何将SAP C4C主数据变化推送给微信公众号的关注者 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是Jerry 2020年的第85篇文章,也是汪子熙公眾號總共第267篇原創文章。

本系列的英文版Jerry寫作于2017年,這個教程總共包含十篇文章,發表在SAP社區上。

系列目錄

(1)?微信開發環境的搭建

(2)?如何通過微信公眾號消費API

(3)?微信用戶關注公眾號之后,自動在SAP C4C系統創建客戶主數據

(4) 如何將SAP C4C主數據變化推送給微信公眾號(本文)

(5) 如何將SAP UI5應用嵌入到微信公眾號菜單中

(6) 如何通過OAuth2獲取微信用戶信息并顯示在SAP UI5應用中

(7) 使用Redis存儲微信用戶和公眾號的對話記錄

(8) 微信公眾號的地圖集成

(9) 如何將微信用戶發送到微信公眾號的消息保存到SAP C4C系統

(10) 如何在SAP C4C系統直接回復消息給微信公眾號的訂閱者

最近有不少朋友在微信上向我咨詢SAP系統和微信公眾號集成的問題,因此我把當時寫的英文版翻譯成中文,重新發布在我的公眾號上。

需要注意的是,時隔三年,微信公眾號的開發流程可能有所變化,請大家自行鑒別。和微信公眾號集成的系統,我三年前選擇的是SAP Cloud for Customer.

這個系列的前一篇文章,微信用戶關注公眾號之后,自動在SAP C4C系統創建客戶主數據,我們已經實現了這樣一個場景:微信用戶關注公眾號之后,在SAP Cloud for Customer(以下簡稱C4C)系統里自動創建一個客戶主數據,并把該數據的Last Name字段設置成關注者的Wechat id.

成功創建的C4C客戶主數據的id也會通過微信消息發送到關注者的微信app上。

在C4C系統查看通過OData API創建的客戶主數據:

這個場景的數據交互流,微信app是消息的發送方,而SAP C4C系統是消息接收方,消息通信通過nodejs開發的微信消息服務器完成。

本文我們實現一個新的場景,當C4C的客戶主數據發生變化時,C4C主動通知微信關注者。在這個場景里,C4C是消息的發送方,而微信app是消息的接收方。

具體實現步驟

前一篇文章里,我選用C4C Account BO標準的LastName字段來存儲微信關注者的Wechat id:

這個客戶主數據的明細頁面如下:

本文我選擇在Customer BO上創建一個名為WechatID的擴展字段,專門存放微信關注者的Wechat id.

在C4C系統中創建一個新的OData服務,選中新建的擴展字段WechatID,將其暴露到OData API中:

將新建的C4C OData服務重命名為zindividualcustomer,在Postman里測試,確保使用OData filter操作符時,能夠讀取包括這個擴展字段在內的客戶主數據的值。

測試url:
https://<此處填入C4C系統的hostname>/sap/c4c/odata/cust/v1/zindividualcustomer/CustomerCommonCollection?$filter=ParentObjectID%20eq%20%2700163E20C9511EE7B8975BD4AB3F60C0%27

ParentObjectID字段后面紅色高亮值是Customer BO實例的guid.

我們期望的行為是,一旦客戶主數據在C4C系統被修改后,C4C系統會自動發送一個notification(通知)給微信消息服務器,后者收到通知后,調用微信消息API將該通知轉發給微信關注者。

一個好消息是,上面紅色高亮的行為描述,是C4C系統一個開箱即用的功能:OData Event Notification. Jerry曾經成功地使用這個功能完成過很多原型開發,比如這篇文章里介紹的一個案例:

一些SAP Partners能夠通過二次開發實現打通C/4HANA和S/4HANA的方法介紹

下圖的設置含義是,一旦名稱為CUSTOMER的BO數據發生變化時,發生變化的具體數據,通過下圖藍色高亮字段指定的OData服務,zindividualcustomer, 發送到綠色高亮字段指定的事件監聽者去。這個事件監聽者的endpoint通過url標識,即本系列部署在heroku云平臺上的微信消息服務器:https://wechatjerry.herokuapp.com/c4c

現在修改一個C4C客戶主數據并保存,C4C系統會調用我們之前配置好的zindividualcustomer,通過HTTP POST的方式發送下列格式的數據到微信消息服務器:

上圖標號1代表發生變化的BO名稱,標號2代表發生變化的BO實例的guid,標號3代表OData服務endpoint,我們在微信消息服務器里訪問該endpoint,即可獲取包含WechatID擴展字段在內的BO數據。有了WechatID之后,我們即可調用微信消息發送API,將BO發生變化的情況發送給微信公眾號的關注者。

在微信消息服務器里,響應來自C4C系統的HTTP POST請求,從請求中解析出發生變化的Customer BO實例的guid,存儲在第42行代碼的變量AccountBOguid里,緊接著在第43行代碼的notifyWechatUser里,根據AccountBOguid調用C4C OData拿到擴展字段WechatID的值,然后向該WechatID標識的微信用戶推送消息。

這里我調用sendMessage函數,發送給微信關注者的文本是一段硬編碼的文字:

_getAccount的具體實現在我的Github上:

https://github.com/wangzixi-diablo/wechat-sap-integration/blob/main/jerryapp/service/getAccountinC4C.js

最后,將前一篇文章介紹的場景聯合起來測試。首先關注微信公眾號,這個行為會在C4C系統自動創建一個客戶主數據1000443:

在C4C系統打開這條主數據,修改之后保存:

然后在我的微信app上收到了一條推送信息,即之前在微信消息服務器里硬編碼的一條文本:

下一篇文章,我們會了解如何將SAP UI5應用嵌入到微信公眾號里訪問。

感謝閱讀。

系列目錄

(1)?微信開發環境的搭建

(2)?如何通過微信公眾號消費API

(3)?微信用戶關注公眾號之后,自動在SAP C4C系統創建客戶主數據

(4) 如何將SAP C4C主數據變化推送給微信公眾號(本文)

(5) 如何將SAP UI5應用嵌入到微信公眾號菜單中

(6) 如何通過OAuth2獲取微信用戶信息并顯示在SAP UI5應用中

(7) 使用Redis存儲微信用戶和公眾號的對話記錄

(8) 微信公眾號的地圖集成

(9) 如何將微信用戶發送到微信公眾號的消息保存到SAP C4C系統

(10) 如何在SAP C4C系統直接回復消息給微信公眾號的訂閱者

更多Jerry的原創文章,盡在:“汪子熙”:

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的SAP系统和微信集成的系列教程之四:如何将SAP C4C主数据变化推送给微信公众号的关注者的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。