曾經有朋友在知乎上向我提問,諮詢在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社交媒體集成這個話題的一些分享,若是你們有任何疑問或者但願進一步探討,歡迎聯繫咱們,感謝閱讀。
更多閱讀