SAP FSM 学习笔记(三) 在微信里发起SAP FSM客户预约
這個系列的第一篇文章,SAP FSM 學習筆記(一) : 使用API消費FSM的數據,我們學習了如何使用SAP FSM提供的nodejs SDK,第二篇文章 SAP FSM 學習筆記(二) : SAP FSM的微信接入,介紹了如何使用微信這個平臺,通過nodejs SDK去消費SAP FSM的API.
從本文開始,我們就會真正地調用SAP FSM API,在系統里創建一些數據。我們采用“上門安裝服務”這個場景來說明,假設客戶購買了某公司的某產品,希望通過微信來預約某個時段的上門安裝服務。
本文標題提到的“客戶預約”其實不太準確,這個詞雖然最容易被終端用戶所接受,但SAP FSM實際沒有直接的客戶預約模型,而是通過Service Call和Activity,以及ServiceAssignment三者聯合起來表述的。
從微信公眾號里點擊“預約”按鈕之后,我們開發的前端應用會自動定位出當前用戶的地理位置:武侯花園人民政府,同樣我們也提供了允許客戶手動修改地址的功能,如下圖預約地址字段尾部的字符2,就是Jerry為了測試手動修改的功能而故意添加上去的。
維護手機號和希望上門安裝的具體時間段,然后就可以從下拉列表里選擇該時間段內可以提供服務的安裝技師。這里我們選擇名叫李小剛的技師:
點擊確定按鈕,運行在微信里的前端應用就通過我們開發的后臺服務,向SAP FSM發起API調用。
先看最后的結果:我們在微信里收到了公眾號推送的通知消息,告訴我們預約已成功。
點擊這條消息可以查看預約詳情:
待李小剛動身前往客戶途中,我們還能在微信里查看李小剛的實時位置共享信息,這是通過SAP FSM提供的技師位置服務加上我們的少許自開發實現的效果。
本文只會概括性地介紹如何用API調用的方式在SAP FSM里實現客戶預約功能。至于技師位置實時共享等效果,留待本系列后續分享。
我們在微信開發者工具里重復上述步驟,觀察請求明細:
這個url指向我們開發的一個后臺服務,/ticket/后面跟著的一串數字與字母組合是Jerry的個人微信open ID,13911111111是我預約時留下的手機號,手機號后面一長串包含%的片段,是預約時留下地址經過url encode后的結果。
請求正文里包含了微信里填入的全部預約信息,和李小剛在FSM里的GUID. CustomerID,則是前端應用通過我的微信open ID調用微信API獲取到的昵稱,Jerry Wang. “上門安裝機械臂”,是我們為了demo方便,硬編碼的一個預約標題。
API調用成功后,返回一個ID給消費端,這個ID代表了SAP FSM里成功創建的預約記錄。
下面我們到SAP FSM里根據這些GUID,去詳細查看API到底在系統里生成了哪些記錄。
首先, 如果一個微信用戶在SAP FSM里不存在對應的Business Partner記錄,是無法進行業務流程的,因此我們的后臺服務實現里,會首先檢測該微信用戶在SAP FSM里是否存在對應的BP記錄,如果沒有,就自動創建一個。
關于SAP產品的客戶模型設計的更多介紹,參考Jerry這篇文章:Jerry眼中的SAP客戶數據模型。
下圖是Jerry的個人微信號在SAP FSM里生成的對應BP記錄,Additional name即是我微信號的open ID,我們的原型開發里,通過微信號的open ID同SAP FSM BP模型的Additional name這一對字段來維護微信用戶和SAP FSM BP一一對應的關系。這個BP的ID為36,記錄下來后面會用到。
而我們在微信預約頁面選擇的技師李小剛,在微信開發者工具里觀察到其GUID為2E9BC784D477CA3DD048E593D853CFF1,這也正是李小剛在SAP FSM里的明細頁面列表url的片段之一:
而SAP FSM API返回的ID:B0555705B9EC41009739D0111E16CC91,在系統里實際上是一條Service Call記錄的GUID,這條Call的ID為175,服務的客戶ID是Jerry Wang,Code為36,即前面提到的基于微信號open ID自動創建的客戶記錄。
這個Service Call有一個同名的Activity,編號為205.
在SAP FSM的Activities頁面可以查到這條編號為205的記錄,其所屬的Service Call為175,即上圖顯示的Call內容。
Service Call和Activities創建之后,調度員就可以相應地派工,然后李小剛就可以動身出發了。下圖顯示的李小剛在系統中被分配了多個安裝任務,這是Jerry反復測試時創建的數據,其中任務顯示上標有的白色小旗,代表任務已完成。
調度員選擇一條我剛剛在微信里創建的預約,點擊Release Assignments, 即可完成派工。
在我們的后臺服務實現里,使用SAP FSM nodejs SDK,依次調用了Service Call,Activity的創建API來創建對應的記錄。同時安裝技師和安裝任務的分配關系,是通過創建一個新的ServiceAssignment對象來維護的。這三個API的說明在SAP FSM官方網站上有文檔:
https://docs.coresystems.net/dev-index.html
這個系列的后續文章會繼續向大家介紹SAP FSM,感謝閱讀。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
總結
以上是生活随笔為你收集整理的SAP FSM 学习笔记(三) 在微信里发起SAP FSM客户预约的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: USB引脚及定义_u盘引脚数据线接线图(
- 下一篇: 给Visual Studio Code的