本系列的英文版Jerry写作于2017年,这个教程总共包含十篇文章,发表在SAP社区上:
https://blogs.sap.com/2017/12/10/wechat-development-series-1-setup-your-development-environment/
系列目录
最近有不少朋友在微信上向我咨询SAP系统和微信公众号集成的问题,因此我把当时写的英文版翻译成中文,重新发布在我的公众号上。
需要注意的是,时隔三年,微信公众号的开发流程可能有所变化,请大家自行鉴别。和微信公众号集成的系统,我三年前选择的是SAP Cloud for Customer.
同时,每一条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中去:
https://github.com/wangzixi-diablo/wechat-sap-integration/blob/main/jerryapp/routes/index.js
所以C4C座席人员回复Service Ticket之后,数据流向为:
C4C Mashup->微信公众号消息服务器->微信app
handleReplyFromC4C.js的完整实现代码:
https://github.com/i042416/wechat/blob/master/jerryapp/service/handleReplyFromC4C.js
微信消息服务器接收到通过C4C Mashup推送过来的HTTP POST数据,如何知道该转发给哪一个微信用户呢?答案是通过微信用户的Wechat ID,该ID早在该微信用户第一次关注微信公众号的时候,就自动维护在C4C系统里,自动创建的客户主数据对应的Social Profiles标签页里:
因此,handleReplyFromC4C需要三个实现步骤:
(2) 根据Social Media User Profile ID,调用API拿到Profile明细,从明细中取出微信用户Wechat ID.
更多阅读
领取专属 10元无门槛券
私享最新 技术干货