曾经有朋友在知乎上向我提问,咨询在SAP成都研究院工作的体验。
当时,我的回答提到一点,SAP注重工作与生活的平衡,这也是SAP中国官网强调的一点。
https://www.sap.com/china/about/careers/who-we-are/life.html
具体到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和微信昵称到底有什么区别呢?
-
微信 ID: 相当于微信用户在微信这个APP的身份证号码,唯一且创建之后不可更改。你的朋友可以通过微信ID搜索到你。
-
微信昵称: 微信昵称是微信用户显示在朋友的联系人清单里的名字,可以多次更改。
-
微信 OpenID: 当一个微信用户关注了一个微信公众号之后,公众号可以获取到该用户对应的OpenID,对公众号来说,每个关注了该公众号的用户会通过一个唯一的ID来标识;对微信用户来说,他/她关注了多个不同的公众号,会对应多个不同的OpenID。
以下图为例,用户李晓刚同时关注了苹果的售前和售后公众号,会在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/28/integration-of-wechat-and-c4c-service-ticket-on-html5-client/
客户在微信客户端提出一个产品故障报告:
通过上面介绍的集成场景,在C4C自动生成了一个Ticket:
C4C的客服人员被分配到这个Ticket后,在C4C里回复,告诉客户该故障已经在处理中了:
客户在自己的微信客户端上收到了C4C客服人员的回复:
以上就是我对C4C社交媒体集成这个话题的一些分享,如果大家有任何疑问或者希望进一步探讨,欢迎联系我们,感谢阅读。
更多阅读
相关推荐
图形化a+b,可以锻炼你的记忆力和算数速度
柔性输送线sw18可编辑全套技术资料100%好用.zip
本汽车票网上预订系统管理员和用户。管理员功能有个人中心,用户管理,汽车票管理,订单管理,退票管理,换票管理,反馈管理,留言板管理,系统管理等。用户功能有个人中心,汽车票管理,订单管理,退票管理,换票管理,反馈管理等。 内含文档,可轻松上手。
自动锁螺丝机细化完全step全套技术资料100%好用.zip
【创新无忧】基于matlab龙格库塔算法RUN优化极限学习机KELM故障诊断【含Matlab源码 10715期】.zip
pll电荷泵锁相环 cppll(已流片)仿真环境搭建好了 电路到版图都已流片验证,另外送PLL书籍电子版和对应工艺库。 另加50就可以得到完整版图 三阶二型锁相环 参考频率50-100MHz 分频比可调 锁定频率600M-2GHz 锁定时间4us 环形振荡器 ring vco 鉴频鉴相器PFD模块 分频器DIV模块 ,ps counter 电荷泵CP模块
智慧社区有管理员和客户两个角色。客户功能有车位信息,社区信息,周边服务,问卷调查,爱心助老,通知公告,留言反馈,个人中心,客服中心,在线报修管理,投诉建议管理,车位租买管理,社区信息管理,参与答卷管理,我的收藏管理。管理员功能有个人中心,客户管理,在线报修管理,投诉建议管理,车位信息管理,车位租买管理,社区信息管理,周边服务管理,问卷调查管理,参与答卷管理,爱心助老管理,留言板管理,系统管理。 内含文档,可轻松上手。
本科生课程设计封面.doc
展示PRD文档的关键要素编写具体示例。同时提供了一份模板,方便撰写PRD文档。
基于matlab的用于分析弧齿锥齿轮啮合轨迹的程序,输出齿轮啮合轨迹及传递误差。 程序已调通,可直接运行。 程序保证可直接运行。
【创新无忧】基于matlab向量加权平均算法INFO优化极限学习机KELM故障诊断【含Matlab源码 10732期】.zip
仓库管理系统(一个毕设) 毕业设计项目《仓库管理系统(manager_sys)》的概述和指南: 项目标题 《基于Spring MVC和Vue.js的仓库管理系统设计与实现 —— 毕业设计项目》 项目概述 本项目是一个基于Spring MVC、Spring Security、Spring、MyBatis、PageHelper和Vue.js框架的仓库管理系统。系统旨在提供高效、安全的库存管理解决方案,包括权限管理、商品管理、订单处理和库存预警等功能。 系统特点 权限管理:利用Spring Security实现基于角色的访问控制(RBAC),动态分配权限。 业务流程:涵盖商品、订单、库存的完整操作流程,确保库存管理的准确性。 日志记录:通过Spring AOP实现操作日志的记录,便于追踪和审计。 数据统计:首页展示商品销量统计图和每日销售统计图,直观展示业务状况。 系统预览 登录和首页:用户登录后进入系统首页,查看统计信息。 产品管理:管理商品信息,包括添加、修改、删除等操作。 订单管理:处理订单,包括创建订单、更新库存等。 权限管理:管理用户角色和权限。 日志管理:查看系统操作日志。 运
A星算法 A*算法 自己研究编写的Matlab路径规划算法 Astar算法走迷宫 可自行设置起始点,目标点,自由更地图。 ——————————————————— 可以和人工势场法融合 动态障碍物
《MATLAB神经网络原理与实例精解》是一本深度学习初学者的理想教程,它全面涵盖了神经网络的基础理论以及MATLAB实现方法。这本书旨在帮助读者理解神经网络的工作原理,并通过具体的MATLAB实例,让读者能够动手实践,从而深入掌握神经网络在实际问题中的应用。 神经网络是一种模仿人脑神经元结构的计算模型,它由大量的处理单元——神经元组成,通过权重连接形成复杂的网络结构。在深度学习领域,神经网络被广泛用于图像识别、语音识别、自然语言处理等任务,因其强大的非线性建模能力而备受青睐。 MATLAB作为一个强大的数值计算和数据可视化环境,为构建和训练神经网络提供了便利的工具箱。MATLAB神经网络工具箱(Neural Network Toolbox)包含了各种类型的神经网络模型,如前馈网络、卷积网络、递归网络等,以及训练算法,如反向传播、遗传算法等。通过这些工具,用户可以快速构建网络结构,调整参数,进行训练和验证,并将模型应用于实际数据。 本书首先会介绍神经网络的基本概念,包括感知机、多层前馈网络和反向传播算法。然后,将详细讲解如何在MATLAB中搭建这些网络,包括网络结构的设计、权重初始
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
ABAQUS动,静力学模型;车辆-轨道耦合动力学;钢轨不平顺程序;批量非线性弹簧;单向弹簧(收拉不受压或受压不受拉),温度耦合等。 轨道检算(超高,超限,出报告);土木建筑有限元建模分析。
教学督导检查情况表.docx
基于springboot的逍遥大药房管理系统--论文.zip
win32汇编环境,理解BeginPaint函数与GetDC函数的区别
调试过可以运行。 开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9