曾经有朋友在知乎上向我提问,咨询在SAP成都研究院工做的体验。html
当时,个人回答提到一点,SAP注重工做与生活的平衡,这也是SAP中国官网强调的一点。前端
https://www.sap.com/china/abo...html5
具体到SAP成都研究院,这里的同事们业余时间的兴趣爱好普遍,既有传统的足球,篮球,羽毛球,游泳这些,也有门槛相关较高的铁人三项运动,详情能够参考SAP成都研究院铁人三项大神邓阳的文章: SAP成都研究院的体育故事。程序员
固然,这些天天从事创造性工做的程序员当中也不乏身怀绝技之人,好比可以双手同时使棍的许聚龙:SAP成都研究院许聚龙: Hello, Coresystems;有痴迷于各类飞机的哈公子: SAP成都研究院飞机哥: 程序猿和飞机的不解之缘;有海归青年,深受法国浪漫主义熏陶,喜欢游泳摄影网球滑雪的陈扬洋;最近SAP成都研究院几期Toast Master活动,每期都有层出不穷的才艺带给你们的前端开发程序媛Feng Grace,喜欢烹饪美食,会弹奏夏威夷小吉他(乌克丽丽),爱好摄影。下面两张图是Grace的做品:小程序
固然谈到咱们成都同事各式各样的兴趣爱好,必定少不了李晓刚:读佛经,写诗(打油诗),玩飞镖,最近又迷上了囤积生土豆。微信小程序
今天文章的做者,个人同事廖婧,是一位拥有十多年工做经验的SAP从业人员,专业技能的精通天然不用多说。生活中的廖婧,若是要让Jerry用一句话评价,那就是: 贤妻良母。浏览器
固然组里同事李晓刚对她的评价,Jerry也彻底赞成。服务器
她的兴趣爱好或许不如前面几位同事那么吸引眼球,可是特别有意义——廖婧是成都小红马儿童会创始元老会员之一。小红马儿童会2011年1月建立于成都,是向弱势儿童和贫困乡村儿童提供服务的非营利性儿童关爱公益组织。关注对象为弱势儿童和乡村儿童,弱势儿童包括残疾儿童、孤弃儿童、少数民族儿童及留守儿童等。目前小红马的主要活动地在成都市周边贫困乡村。微信
更多关于小红马儿童会的信息,仍是让廖婧给你们介绍吧。架构
下面是她的正文。
你们好,我是廖婧(Janet Liao), 本职工做是一名SAP从业人员,业余时间喜欢作手工,包括除针线活之外的一切手工,像沙画、软陶、魔术气球、乐高等等,堪称小朋友杀手^_^。 而这些“特殊”技能的习得,全靠这几年志愿者经历的锻炼。10年辞职旅行去了雨崩徒步,完了转头去双廊看新开了客栈的朋友,狗哥是当地“蓝脚印”的组织者,免费为志愿者提供住宿,颇有幸的我成为了入住的第一批蓝脚印,往返两小时的山路,陪小朋友们弹琴唱歌画画踢球,充实快乐。
公益本应是普通生活的一部分,而不该带有任何的道德优越感,咱们不是在施,而是在这些经历中获得了成长和喜悦,感谢这段旅行带给个人开悟。
回到成都以后,很是幸运地认识了一帮可爱的马儿们,成为“小红马儿童会”的“元老”成员,因而从11年开始了每个月一次的乡村行,咱们的愿望很简单,但愿能陪伴父母不在身边的孩子们一个有色彩的童年,并对确实有须要的困难家庭进行家访并寻求助养人。感谢以前IBM的同事小强,不只资助一个我家访过的孩子至今,还认真地为她考量合适的专业创造实习机会,真正使她们可能改变命运。抛开这些物质上的帮助,其实活动宗旨是陪伴的同时让孩子更多地了解本身的乡村,去发现、挖掘家乡文化,保持与家乡的情感连接,从而创建本身的文化自信。因而,咱们有了各类文化小课,作标本、画石头、家乡的声音、家乡的色彩、家乡的味道,夏令营、冬令营,再到了后面的经典诵读。在这个过程中,咱们本身的收获比村里的孩子们要多得多,除了一群志同道合的朋友、发现美的能力,还有那么真诚热烈的被须要的感受。当妈妈以后,活动参加得很少了,可是新生代马儿们还在继续,欢迎一样热爱乡村热爱生活热爱经典国学的朋友加入。
对这项公益活动感兴趣的朋友,能够查阅这篇小红马儿童会发布的文章。
啰嗦了那么多,还有最后一条求同好的,最近一年迷上了烘焙,这些是个人拙做,请达人们多多交流指导。
下面我们进入正题。自06年与SAP结缘开始,前后在甲方和Partner公司工做了很长一段时间,去年7月加入SAP成都研究院,成为SAP Cloud for Customer(C4C)开发团队的一员。与一直专一作标准产品开发的同事们不同,因为身份的变化,这些年我在不一样的SAP项目上的工做内容也有挺大的不一样。
我特别喜欢用房子来给彻底不了解SAP的朋友们解释我是作什么工做的。当一家公司要上一款信息化产品前,一般会先选型,就跟咱们去买房同样,会根据自身的需求先圈定一些目标,好比选择心仪的品牌开发商,追求容积率低,绿化好的楼盘,或者是根据本身的预算去选择,客户也同样。SAP做为行业内知名龙头厂商,和其它竞争对手一块儿竞标,调研客户需求并推荐适合的商务套件。一旦客户选型完毕,就要进入到项目实施阶段了,至关于精装房交付但入住前须要有设计师进行硬装软装设计,再由施工团队完成装修工做,各大咨询公司的实施团队就在这个阶段粉墨登场,顾问会详细地调研需求绘制蓝图,等同于设计定稿,项目实施上线交付就是业主能够拎包入住的时候了。
从业主到装修公司到开发商一路走来,有趣的故事很多,之后有机会再跟你们唠唠。今天跟你们分享的内容是C4C中社交媒体集成(Social Media Integration)的部分。
在一个能自助服务就不选择人工介入的时代,社交媒体在现代人的生活中扮演了愈来愈重要的角色,你们不妨回忆一下本身天天刷微博微信的频率。目前 C4C系统已经实现了与Facebook/Twitter/Instagram/YouTube/WeChat等多种渠道和C4C Ticket服务场景的集成,另外还支持Custom Channel(客户自定义渠道)用于上述标准渠道以外的其它类型。
咱们以Twitter为例,来探索一下社交媒体与C4C Ticket的集成。假设有这样一个业务场景:苹果公司在Twitter网站上有一个官方帐号叫作Smart Apple,有一天客户Sherry的iPhone发生故障了,在Twitter上首次@Smart Apple发布了一条消息: "个人iPhone X坏了"。这条消息会自动被C4C抓取,首先为Sherry建立一条Business Partner主数据,再建立一个相应的Ticket。客服人员被分派这个Ticket以后,在C4C系统回复: "请提供您手机的序列号及具体的故障说明",Sherry当即在Twitter上收到这条回复,并能够经过继续回复或者直接私信的方式进行后续交流。
下图是Twitter网站上Sherry的抱怨被成功抓取到C4C系统后生成对应的Ticket截图:
C4C客户人员能够在Ticket明细页面直接回复客户,
这条来自C4C系统的Ticket回复文本会出如今Twitter网站上,投诉问题的客户能直接在Twitter上收到问题处理的结果。
其实个人同事Jerry所在的SAP成都研究院CRM开发团队,早在2013年时就在SAP CRM On-Premises呼叫中内心实现了相似的功能,详情能够查看Jerry的文章:OAuth 2.0协议在SAP产品中的应用。
对于苹果公司而言,实现这样一个场景只须要在C4C系统中进行两步简单配置:一是为官方Twitter帐号建立一个Social Media Channel; 二是建立一个Social Media Message extraction run, 其实就是SAP顾问朋友们熟悉的ABAP后台做业,关联第一步建立好的Channel,并指定执行的时间和频率, 用来按期从Twitter网站抓取数据。除此以外不须要任何额外的开发工做。
详细的配置:
Administrator -> Service and Social Settings,找到Social Media, 新建一个Social Media Channel,每个Twitter帐号对应一个Channel。
Consumer key和Consumer Secret是这个channel与Twitter应用进行交互的必要信息,在Twitter Developers页面能够查看:
点击“Connect with Channel',Twitter登陆界面将在一个新的窗口打开,使用Twitter帐号进行权限验证,当看到成功提示以后,能够关闭该窗口回到C4C的页面。
关于OAuth2.0协议在Twitter帐号和C4C渠道绑定中起到的做用,请参考Jerry的文章:
经过Administrator -> Service and Social Settings,找到Social Media, 新建一个Social Media Message Import Run,指定服务的Channel,并配置运行频率。你们能够把这个界面当成浏览器版本的SM37。
上述配置在系统中是怎么协同工做的呢?在介绍技术实现以前,咱们须要先了解几个关键的Business Object。C4C Social Media有三剑客,SMAP、SMUP、SMA,三者相互调用,完成了Ticket与社交媒体的各类交互。如下BO结构仅为关键信息的示意,帮助你们了解BO之间是如何关联的。
SMAP,全称Social Media Activity Provider,对应的就是Social Media Channel。刚刚提到的Twitter官方帐号和Channel的关联,以及关联配置时输入的设置信息都存储在下图所示的ACCESS INFO子节点中。
SMUP,全称Social Media User Profile, 每个Twitter的我的帐号对应一个SMUP BO实例。图示的BUPA子节点关联到一个BP 信息(例子中是Individual Customer),USER INFO子节点中存储的是其对应的社交媒体信息,对于Twitter和Facebook帐号来讲,只须要指定Channel Type和Communication ID便可,同一个BP的Twitter对应的SMUP只会有一个。微信稍有不一样,后面再作解释。
SMA,全称Social Media Activity,也叫Social Media Message(消息),每一次对话对应一条该BO的实例,包含了消息来源用户的SMUP信息、消息来源的Channel信息(SMAP)、消息内容(Interaction Content)等,根据必定的逻辑判断是否建立Ticket。以客服人员回复Ticket生成的SMA为例,Main Activity负责存储生成Ticket的消息,Parent Activity为客服回复所针对的消息,若是用户再次回复了客服,那么此条回复消息即为Child Activity。这样保证了一系列的会话和回复能够有序地串起来。
另外还有一个对象,是仅用于Inbound Message的,即咱们前面说的第二步配置,在C4C里有个术语叫MDRO(Mass Data Run Object), 即C4C后台做业的技术实现。
消息交互分为两种场景。
一种是Inbound,即消息流从社交媒体导入C4C, 包括用户首次报Ticket, 用户对官方帐号的回复, 用户私信官方帐号等等。
每个激活并设置了运行周期的Import Run都对应着一个ABAP后台做业,根据配置在其中的Channel ID对应的Twitter官方帐号,调用Twitter API去抓取新生成的消息。获得消息列表以后,先查看该消息来源的Twitter帐号是否在系统中有匹配的SMUP信息,若是有,取得该信息用于Activity的建立; 若没有,判断User Category为standard则建立一条Individual Customer并基于此建立一条SMUP,再进行Activity的建立。
建立Activity的同时,SMA的determination实现会根据消息的类型判断是否建立新的Ticket。若须要,则调用BADI进行建立。Ticket和Social Media 的关系是由Business Transaction Document Reference 关联起来的。
另外一种场景是Outbound,即客服人员在C4C回复Ticket,回复内容会被推送到Twitter。
Outbound场景的另外一个变式是客服在C4C里转发。
讨论完Twitter,咱们再来看看你们更加熟悉的微信。微信与C4C Ticket的集成与Twitter/Facebook相比有着很大的差别。
首先,微信有一个独有的Agent Server(也称消息服务器,中间服务器等等),须要额外的开发来完成与C4C的集成;
好比Jerry这篇文章 打通C/4HANA和S/4HANA的一个原型开发:智能服务创新案例 里展现过一张架构图,红色高亮部分就是Agent Server,做为终端用户手中的微信客户端和C4C系统交互的中间件。
其次信息推送的方式不一样,Facebook/Twitter是被动地等待C4C来读取消息,而微信则是主动向C4C推送消息的,所以微信和C4C的集成,不须要定义Import Run这种后台做业。
与Twitter官方帐号相似,每一个微信公众号对应C4C系统里一个Social Media Provider。在建立SMUP的时候,因为每个用户对于不一样的公众号,OpenID都是不一样的,所以还须要额外指定External Party ID,即关联到公众号的Provider,这样C4C在往微信推送消息的时候才能根据BP信息和Channel找到对应的SMUP,从而肯定OpenID,把消息推送到正确的公众号去。
这里给你们解释一下微信OpenID的概念,它与微信ID和微信昵称到底有什么区别呢?
如下图为例,用户李晓刚同时关注了苹果的售前和售后公众号,会在SMUP中生成两条User Profile,对应两个不一样的OpenID。当他经过售后公众号报了Ticket以后,C4C的客服回复该Ticket时,除了BP号和Channel Type是微信以外,还须要知道该Ticket是经过哪个公众号在C4C系统生成的,这样才能找到正确的OpenID,从而准确回复给对应的微信用户。所以在生成SMUP时,除了记录OpenID以外,还须要记录公众号的信息, 即Channel ID,也就是C4C系统里配置的Social Media Provider ID,对应到现实里就是一个公众号。而Twitter和Facebook的帐号,只须要在建立SMUP时指定Channel Type便可。
最后让咱们来看看微信和C4C集成的效果。下图展现的是经过Jerry的另外一篇文章 C4C和微信集成系列教程 和个人同事Li Sean在SAP社区上发表的博客里介绍的步骤开发而成的功能:
https://blogs.sap.com/2018/02...
客户在微信客户端提出一个产品故障报告:
经过上面介绍的集成场景,在C4C自动生成了一个Ticket:
C4C的客服人员被分配到这个Ticket后,在C4C里回复,告诉客户该故障已经在处理中了:
客户在本身的微信客户端上收到了C4C客服人员的回复:
以上就是我对C4C社交媒体集成这个话题的一些分享,若是你们有任何疑问或者但愿进一步探讨,欢迎联系咱们,感谢阅读。
更多阅读