SAP系统和微信集成的系列教程之九:如何将微信用户发送给微信公众号的内容自动转存到SAP C4C系统

简介: SAP系统和微信集成的系列教程之九:如何将微信用户发送给微信公众号的内容自动转存到SAP C4C系统

本系列的英文版Jerry写作于2017年,这个教程总共包含十篇文章,发表在SAP社区上。


最近有不少朋友在微信上向我咨询SAP系统和微信公众号集成的问题,因此我把当时写的英文版翻译成中文,重新发布在我的公众号上。


需要注意的是,时隔三年,微信公众号的开发流程可能有所变化,请大家自行鉴别。和微信公众号集成的系统,我三年前选择的是SAP Cloud for Customer.


系列目录


(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系统直接回复消息给微信公众号的订阅者


本文实现的场景是:


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


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


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

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


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


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

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

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


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


image.pngimage.png根据ID在C4C系统找到这条Social Media Message:image.png同时,C4C系统还会基于新建的Social Media Message,自动生成一条新的Service Ticket,这是C4C系统的标准功能,无需额外编程实现。这个标准功能也是本系列最后一篇文章,即如何在SAP C4C系统直接回复消息给微信公众号的订阅者 工作的前提条件。image.png下面是这个场景具体的实现步骤。

打开C4C配置的Activity List:

image.png创建一个自定义Channel:

image.png记下这个新建Channel的Type Code:905image.png基于上图的Channel 905创建一个新的Social Media Channel,ID为ZJERRYWC:image.png在我这个Github仓库下有个service文件夹,包含了三个JavaScript文件:


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


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


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


image.png在第二步创建Social Media Profile时,调用C4C API传入的输入负载里,将ChannelCode硬编码成之前在C4C系统里新建的自定义Channel的Type Code:905image.png在createAccountInC4C.js的实现里,这三步按顺序实现在函数createAccount里:

image.png在微信消息服务器的事件处理函数里,一旦接收到“关注”事件( 事件类型值:subscribe)时,调用createAccount函数,完成上述三个步骤:image.png微信用户关注了公众号之后,发送文本消息给该公众号,微信消息服务器调用createSocialMediaActivity.js里的函数createSocialMessage, 在C4C系统里创建一条新的Social Media Message.


在unittest文件夹下有一个单元测试用例,展示了该函数的用法。


五个输入参数:


(1) o0KlM1i2_4-zHRm-IWGRlA1Cjc:发送消息给微信公众号的微信用户ID


(2) 1003: 待创建的Social Media Message ID,传一个非空值即可,因为C4C系统会根据自己的Number Range生成该ID,并返回给API调用者。


(3) 6066: 当前微信用户在C4C系统里对应的Social Media User Profile ID,该ID是在微信用户关注公众号时,在C4C系统生成并返回的。


(4) ZJERRYWC: 之前已经介绍过,在C4C系统手动创建的自定义Channel ID.


(5) “Hello C4C Agent….”: 微信用户发送给微信公众号的文本信息。


image.png使用函数createSocialMessage,在C4C系统创建以微信用户发送给微信公众号的文本信息作为内容的Social Media Message,创建成功后返回其ID给微信用户:59160.image.pngimage.png根据ID 59160到C4C系统查询到该Social Media Message,检查其Message字段的值,同微信用户发送给微信公众号的文本信息完全一致。image.png系列的最后一篇文章,我们将学习如何直接在C4C系统,回复文本消息给微信用户。感谢阅读。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
4天前
|
敏捷开发 缓存 Devops
构建高效持续集成系统的策略与实践
【4月更文挑战第23天】 在快速迭代的软件开发过程中,持续集成(CI)是确保代码质量和加速交付的关键。本文深入探讨了构建和维护一个高效CI系统的方法和最佳实践。从自动化测试到部署策略,文中细致分析了各环节的优化技巧,并提供了解决常见问题的实用建议。通过案例研究和工具选型,读者将获得构建强大CI流程的具体指导,以支持敏捷和DevOps环境下的高质量软件发布。
|
30天前
|
数据采集 测试技术 API
ERP系统的数据迁移与集成指南
ERP系统的数据迁移与集成指南
26 0
|
2月前
|
Web App开发 前端开发 JavaScript
如何快速与呼叫中心系统CTI/API/SDK接口集成
由于呼叫中心系统涉及通信、CTI、终端设备、中继线路等技术与概念,从事信息管理系统、ERP、CRM、工单系统等的研发人员一般不是非常熟悉这部分技术,当需要提供具备呼叫中心能力的解决方案时,往往要用较多的时间来研究这些相对复杂的技术,对接过程比较长,开发调试有一定的阻力,基于此,我们提出一种更加简便高效的集成方法,可以零代码集成呼叫中心平台,实现项目快速上线。
如何快速与呼叫中心系统CTI/API/SDK接口集成
|
2月前
|
监控 数据可视化 测试技术
集成阿里云 RPA 与现有系统
随着企业对自动化和数字化转型的需求不断增长,阿里云 RPA(机器人流程自动化)技术成为了提升业务效率和减少人工操作的重要工具。本文将介绍如何集成阿里云 RPA 与现有系统,以实现更高效的业务流程自动化。
|
4月前
|
前端开发 开发者
【微信公众号对接】有关签名一直报错,提示invalid signature问题(我的签名和使用微信开发者工具验证返回的签名的是一致的)但还是报错!!!
【微信公众号对接】有关签名一直报错,提示invalid signature问题(我的签名和使用微信开发者工具验证返回的签名的是一致的)但还是报错!!!
52 0
|
4月前
|
Java BI Linux
java医院信息系统his源码,集成相关医保、农合接口,同医保或农合无缝融合
系统特点: 1、 基于一体化公共基础数据平台设计,给医务工作者提供了完整的工作平台。 2、 实现了核算、临床、决策、服务信息一体化,简化了系统软、硬件结构,降低了系统开发、实施和维护成本,提高了系统的运行效率。 3、 同时集成相关医保、农合接口,同医保或农合无缝融合。 4、B/S架构,采用JAVA编程,支持跨平台部署应用(Windows Linux),足够满足一级综合医院(专科二级及以下医院500床)的日常业务应用。能完全满足各地相关医保工程定点医疗机构统一标准社保接口设计规范要求。
|
19天前
|
消息中间件 Java Kafka
Springboot集成高低版本kafka
Springboot集成高低版本kafka
|
25天前
|
NoSQL Java Redis
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
295 0
|
30天前
|
NoSQL Java Redis
SpringBoot集成Redis
SpringBoot集成Redis
444 0
|
1月前
|
NoSQL Java Redis
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
273 1

热门文章

最新文章