如何打通 SAP Cloud for Customer 系统和微信公众号的双向消息通信功能(一)

简介: 如何打通 SAP Cloud for Customer 系统和微信公众号的双向消息通信功能

本系列的前三篇文章,我们依次介绍了微信公众号开发环境的搭建,微信公众平台 API 的调用,以及地图功能的集成。


本文作为该系列第四篇文章,介绍如何实现 SAP Cloud for Customer 系统同微信公众号的双向通信功能。


所谓双向通信,即将用户发送给微信公众号的消息,转存到 SAP Cloud for Customer 系统(本文余下部分使用缩写 C4C 来代替),以及从 C4C 直接回复消息到用户微信 App 这两个方向的交互。


下面我们分别介绍。


https://www.jianshu.com/p/91ba1ec3e8f7


用户通过微信 app 将消息发送到 SAP C4C 系统


微信用户点击“关注”按钮,关注了某微信公众号之后:


在SAP C4C系统自动生成了下列数据:


(1) 一个代表该微信用户的individual customer主数据


(2) 一个绑定到customer主数据的C4C Social Media User Profile


这两条数据的ID,会通过微信消息推送回微信用户的微信app上:




这些成功创建的C4C数据的ID,在微信消息服务器,即nodejs应用的控制台上也能观察到:



根据返回给微信用户的客户主数据ID,到C4C系统找到该主数据,在其Social Profiles面板里,能看到该Social Profile的渠道类型(Channel Type)为自定义的Jerry’s Wechat Channel:



一旦微信用户给微信公众号发送文本信息,该文本信息通过微信公众号的消息服务器作为中转,调用C4C API,在C4C系统创建一条内容为该文本信息的Social Media Message数据。

下图是一个例子:我发送一条"Hello C4C Agent …"的文本信息,在SAP C4C系统创建的Social Media Message ID为59610:




根据ID在C4C系统找到这条Social Media Message:



同时,C4C系统还会基于新建的Social Media Message,自动生成一条新的Service Ticket,这是C4C系统的标准功能,无需额外编程实现。



下面是这个场景具体的实现步骤。


打开C4C配置的Activity List:




创建一个自定义Channel:



记下这个新建Channel的Type Code:905



基于上图的Channel 905创建一个新的Social Media Channel,ID为ZJERRYWC:




在我这个Github仓库下有个service文件夹,包含了三个JavaScript文件:


(1) createAccountInC4C.js:负责微信用户关注微信公众号之后, 调用C4C OData API创建individual customer.


(2) createSocialMediaProfile.js:调用API创建C4C Social Media Profile.


(3) bindSocialProfileWithIndividualCustomer.js: 负责将前两步创建的C4C数据绑定起来。




在第二步创建Social Media Profile时,调用C4C API传入的输入负载里,将ChannelCode硬编码成之前在C4C系统里新建的自定义Channel的Type Code:905



在createAccountInC4C.js的实现里,这三步按顺序实现在函数createAccount里:



在微信消息服务器的事件处理函数里,一旦接收到“关注”事件( 事件类型值:subscribe)时,调用createAccount函数,完成上述三个步骤:

相关文章
|
1月前
|
中间件
什么是 SAP CRM 系统里的 Initial Download
什么是 SAP CRM 系统里的 Initial Download
23 0
|
21天前
|
安全 UED 开发者
SAP Commerce Cloud 配置项 refreshWithLock=false 的作用介绍
SAP Commerce Cloud 配置项 refreshWithLock=false 的作用介绍
20 0
|
21天前
|
Java BI API
SAP Cloud for Customer 里如何通过 ABSL 二次开发方式消费 SAP S/4HANA 系统的 API
SAP Cloud for Customer 里如何通过 ABSL 二次开发方式消费 SAP S/4HANA 系统的 API
15 0
|
2月前
|
安全 数据安全/隐私保护
SAP ABAP Gateway 系统接口 /IWBEP/IF_MGW_APPL_SRV_RUNTIME 的作用介绍
SAP ABAP Gateway 系统接口 /IWBEP/IF_MGW_APPL_SRV_RUNTIME 的作用介绍
28 0
|
2月前
|
SQL 开发框架 数据库
聊聊 SAP ABAP 系统里的胖接口(Fat Interface)
聊聊 SAP ABAP 系统里的胖接口(Fat Interface)
28 0
|
2月前
|
搜索推荐
关于 SAP ABAP 系统的 User parameter COM_IOITF_DEBUG
关于 SAP ABAP 系统的 User parameter COM_IOITF_DEBUG
19 0
|
2月前
|
存储 BI 数据库
SAP ABAP 系统数据库表 TFDIR的作用介绍
SAP ABAP 系统数据库表 TFDIR的作用介绍
38 1
|
2月前
|
数据库 开发工具 Windows
聊聊 SAP ABAP 系统的 ABAP 对象注册表 TADIR试读版
聊聊 SAP ABAP 系统的 ABAP 对象注册表 TADIR试读版
16 0
|
2月前
|
存储 数据库
如何查询 SAP ABAP 系统做过的基于源代码的增强信息试读版
如何查询 SAP ABAP 系统做过的基于源代码的增强信息试读版
19 0
|
16天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。

热门文章

最新文章