CRM and CX Blogs by SAP
Stay up-to-date on the latest developments and product news about intelligent customer experience and CRM technologies through blog posts from SAP experts.
cancel
Showing results for 
Search instead for 
Did you mean: 

 


1. 背景 


以一个简单的场景为例,用户通过关注相关的公众号,在C4C系统里,创建与该用户相关联的个人客户账号。然后用户可以根据需求通过公众号创建服务请求。管理员可以在C4C系统里回复服务请求,然后回复信息将会推送给用户。

2. 前提条件


在这个集成过程中,需要满足如下前提条件:

  1. 你需要自己搭建一个中间服务器用以转接和转发微信服务器和C4C系统的信息。

  2. C4C端需要发布对应的接口


3. 备注



  1. 整个集成场景主要是基于SOAP协议的Webservices, 对应的OData service版本在2019年的版本中陆续提供。


4. 集成流程


4.1 流程图



4.2 流程说明



  1. 用户关注公众号,中间服务器获取关注用户信息,在C4C系统创建该用户的个人客户信息;

  2. 用户通过公众号创建客户账号,中间服务器接受用户请求,通过C4C提供的接口,在C4C系统创建客户账号;

  3. 用户通过公众号创建ticket,中间服务器接受用户请求,通过C4C提供的接口,在C4C系统里创建ticket;

  4. 管理员在C4C系统里回复信息,信息通过C4C配置的接口,转发给中间服务器,中间服务器将信息推送给用户。


4.3 流程开发内容



  1. 中间服务器的开发

  2. C4C系统后台接口配置

  3. 微信公众号交互网页开发


5.设计实现


5.1 中间服务器


要搭建自己的中间服务器,以SAP SCP 为例,首先请参看官方的SCP帮助文档来了解如何在SCP上搭建一个节点服务器。如下内容则是关于节点服务器的一些主要的实现逻辑,具体详情,可以参考范例代码

5.1.1监听路径及功能














































路径 请求  功能
/wechat GET 验证与微信公众号服务器的连接
/wechat POST 接收公众号发来的信息及各种事件
/c4c/wechat POST 接收C4C系统发来的信息
/getWXWebToken POST 获取公众号网页所需token及openid
/web/create POST 处理公众号网页发送的创建请求
/web/update POST 处理公众号网页发送的更新请求
/web/get GET 处理公众号网页发送的取数请求


5.1.2 处理公众号接口密钥 


通过微信公众号接口:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 获取访问其他接口所需的密钥;因为密钥的有效时间为2个小时,并且新的密钥一旦生成,旧的就会失效。所以为了避免多用户操作的密钥失效的问题,需要将密钥存在服务器里,并且定时刷新密钥,是所有用户都是用保存的密钥,避免密钥重复刷新。

5.1.3 验证微信公众号服务器


在公众号管理页面类,按如下格式配置公众号信息:



保存时,微信服务器会将配置的token和一些参数以GET方式发送到所配的服务器路径“/wechat”上,在中间服务器上用相同的token进行编码,并与签名比对,实现服务器的相互连接。中间服务器接收的参数有:token、timestamp、nonce、signature;

1)将token、timestamp、nonce三个参数进行字典序排序; 2)将三个参数字符串拼接成一个字符串进行sha1加密 ;3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。

 5.1.4 生成公众号自定义菜单


调用微信公众号接口:http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN ACCESS_TOKEN 用先前存在服务器的密钥。具体调用参数参考:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141013

5.2 C4C 配置


5.2.1 创建混搭Web服务(Mashup Service)


创建一个混搭Web服务(Mashup Service)来跟你的中间服务器交互,具体步骤如下:

  1. 首先进入管理员工作中心,并选择业务灵活性工作中心视图。

  2. 选择混搭Web服务,并点击新建

  3. 选择REST服务。

  4. 在新的界面填入相应的信息。 其中服务信息部分的url填的是:<你的中间服务器地址>/c4c/wechat。



5.2.2 创建社交媒体通道


为微信创建一个社交媒体通道,这个通道就是相关公众号在C4C系统的体现。在创建时需要把先前创建的混搭web服务(mashup service)的ID填进去。具体步骤如下:

  1. 进入管理员工作中心,并选择服务与社交工作中心视图。

  2. 社交媒体模块下,打开社交媒体渠道这个链接。

  3. 点击页面右上角的新建。

  4. 选择Wechat作为社交媒体渠道类型。

  5. 维护渠道编号,渠道,以及在上一步创建的混搭Web服务 (Mashup Service )编号。 如下图所示:



5.2.3 C4C对外接口


我们推荐使用ODATA接口来进行与C4C系统的交互,但是由于现在标准产品提供的ODATA接口有限,部分接口暂时需要使用soap协议的web service,缺失的接口,部分已经计划在2019年的版本中陆续开放,请注意关注官方的帮助文档,查看最新可用的ODATA接口列表。此外,还可以在Influence上提交反馈,可能会考虑在后续的版本中开放。

5.2.3.1 ODATA接口


在C4C里,我们提供了标准的ODATA service:https://<host_url>/sap/c4c/odata/v1/c4codata,在这个service下边有各种entity,通过https://<host_url>/sap/c4c/odata/v1/c4codata/entityCollection来对数据进行增删改查。

5.2.3.2 Web Service接口


通过下图中的步骤,来配置和获取web service接口:

5.3 微信公众号网页  


具体可以参考sample code。

 

 

 

 

 
1 Comment