如何使用API的方式消費SAP Commerce Cloud的訂單服務
最近Jerry在做一個微信和SAP Commerce Cloud整合的專案,需要在微信裡呼叫後者的Restful API進行訂單建立和讀取。以前Jerry對SAP Commerce Cloud知之甚少,這次趁機學習了一下,過程中得到了SAP成都研究院Commerce開發團隊的Jonathan,Kevin和Kate等幾位同學的大力幫助,這裡表示感謝。
在SAP官網 http:// help.sap.com 上根據關鍵字commerce搜尋,結果列表裡會顯示出好幾個產品,這難免會讓像Jerry這種剛接觸commerce的人感到有點疑惑。
其實只需要耐心地開啟這些連結逐一閱讀一會兒,就能弄清楚這幾個產品間的差異:
- SAP Commerce:SAP On-Premises上的電商解決方案
- SAP Commerce Cloud on SAP Infrastructure: SAP Commerce的雲端解決方案,Commerce核心程式碼通過SAP內部工具打成一個容器映象,部署和執行在SAP自己的資料中心裡。在很多文件裡又稱為Commerce Cloud Version One, 簡稱為CCV1.
- SAP Commerce Cloud on Public Cloud:SAP Commerce雲端解決方案,部署執行在公有云上,比如微軟的Azure,簡稱為CCV2.
Medium上有一篇不錯的部落格 Two clouds in practice: a comparison of SAP Commerce Cloud v1 and v2介紹CCV1和CCV2的對比,這裡Jerry就不深入展開了。
回到本文主題,要想消費Commerce Cloud的訂單服務,首先需要熟悉一下如何手動在Commerce Cloud裡下單。在Commerce Cloud B2C的場景裡,下單的流程對我們每個人來說幾乎熟悉得不能再熟悉了——和我們日常在某寶上購物如出一轍。
到電商店鋪裡瀏覽商品,看中自己心儀的一款產品後,
點選Add To Cart把產品加到購物車裡:
點Check Out去結賬:
會生成一個購物車ID:
維護髮貨地址。當然我們平時在某寶上購物時,一般都提前在手機app裡維護了好幾個發貨地址,然後結賬時只需從中選擇一個即可。
維護支付方式和明細(Payment Detail),這一步好比我們在某寶上購物選擇微信,支付寶,花唄等方式支付。
Place Order點選後,成功生成訂單,得到訂單ID.
總結一下,手動下單的流程可以分成這五步:
(1) 建立一個購物車Shopping Cart
(2) 給該購物車裡新增產品
(3) 給該購物車維護髮貨地址
(4) 給該購物車維護支付明細
(5) 執行下單操作,成功生成訂單
搞清楚流程之後,接下來需要找到每個步驟分別呼叫哪些API來實現。
登入SAP官網 https://api.sap.com, 根據關鍵字Commerce Cloud搜尋,很容易就能找到所有需要使用的API:
Jerry寫了一個nodejs應用來演示這些API的用法。這個nodejs應用的完整程式碼在Jerry的 github上。
執行這個應用,在第20行的回撥函式裡會列印出成功建立的訂單ID:
根據這個ID到Commerce Cloud的backoffice裡,能查詢到成功建立的訂單:
前面說到手動下單需要5個步驟,而Jerry專案檔案裡有七個step.js, 多出來的兩個步驟,一個是獲取Access Token,另一個是設定購物車的Delivery Mode. 前者是後續呼叫所有API的基礎,而後者完成的邏輯,當我們在瀏覽器裡手動下單時,Commerce Cloud應用會自動幫我們設定,但是用API的方式下單時,需要我們顯式呼叫設定Delivery Mode的API, 因此最後一共需要7個步驟才能完成訂單的建立。
獲取Access Token的步驟,仍然是採用常規的OAuth認證,通過client id和client secret去換取Access Token.
我們首先需要在Commerce Cloud上建立一個OAuth Client,維護Client ID, Client Secret, 密碼,token重新整理間隔,相關許可權等資訊:
然後在step1_get_token.js裡,通過OAuth Client維護的這些資訊發一個POST請求到OAuth endpoint換取Access Token.
因為隱私原因,Jerry沒有把urlconfig.js上傳到github上,只上傳了一個urlconfigTemplate.js, 請大家在使用這個nodejs應用之前,把urlconfigTemplate.js裡的以左右尖括號標識的佔位符替換成實際值,然後重新命名成urlconfig.js即可。
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2661538/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何使用 API 的方式消費 SAP Commerce Cloud 的訂單服務APICloud
- SAP Commerce Cloud 裡的 Site API 呼叫方式講解CloudAPI
- 如何通過Restful API的方式讀取SAP Commerce Cloud的Product ReferenceRESTAPICloud
- 如何通過Restful API的方式讀取SAP Commerce Cloud的Product圖片RESTAPICloud
- 如何使用 ABAP 程式消費 SAP ABAP OData 服務
- SAP Cloud for Customer 如何直接消費S/4HANA APICloudAPI
- Create orders using SAP Commerce Cloud Restful APICloudRESTAPI
- SAP Commerce Cloud OCC API UnknownResourceError 錯誤CloudAPIError
- 使用soapUI消費SAP Cloud for Customer的web serviceUICloudWeb
- 如何在 SAP BTP 上使用 Integration Suite 消費 S/4HANA Cloud APIUICloudAPI
- 使用nodejs消費SAP Cloud for Customer上的Web serviceNodeJSCloudWeb
- SAP S4CRM 1811 服務訂單API介紹API
- Spring Cloud Alibaba 使用RestTemplate進行服務消費SpringCloudREST
- Spring Cloud Alibaba 使用Feign進行服務消費SpringCloud
- 如何使用 API 的方式給 SAP service cloud Registered product 上傳圖片APICloud
- 使用 Recipe 安裝 SAP Commerce CloudCloud
- SAP Commerce Cloud SmartEdit 的安裝Cloud
- SAP Commerce Cloud 的 Security 策略概述Cloud
- 部署在SAP Cloud Platform CloudFoundry環境的應用如何消費SAP Leonardo機器學習APICloudPlatform機器學習API
- 如何使用程式碼的方式刪除 SAP CRM 訂單 Text 資料
- SAP Commerce Cloud UI 的使用者會話管理CloudUI會話
- SAP Commerce Cloud 如何為 Storefront 配置新的應用Cloud
- Spring Cloud Alibaba基礎教程:支援的幾種服務消費方式(RestTemplate、WebClient、Feign)SpringCloudRESTWebclient
- 什麼是 SAP Commerce Cloud 的 catalogCloud
- Spring Cloud Alibaba 使用 feign 和 rebion 進行服務消費SpringCloud
- SAP Commerce(原Hybris)的訂單處理框架和SAP CRM One Order框架框架
- 如何用 SAP Commerce Cloud CMS API 批次返回多個 CMS Component 資料CloudAPI
- SAP 訂單模型的編排方式概述模型
- 如何構建和部署 SAP Commerce Cloud 專案Cloud
- 如何用SAP Cloud for Customer的手機App建立銷售訂單CloudAPP
- 如何使用 SAP Kyma 控制檯手動傳送 SAP Commerce Cloud Mock 應用暴露的事件CloudMock事件
- 使用SAP WebIDE消費API Portal裡建立的API時的錯誤訊息WebIDEAPI
- 使用Java程式消費SAP Leonardo的機器學習APIJava機器學習API
- 如何通過 Excel import 的方式匯入測試資料到 SAP Commerce Cloud 伺服器ExcelImportCloud伺服器
- SAP Commerce Cloud 的 Product Carousel Component 介紹Cloud
- SAP Commerce Cloud Product Review 的新增邏輯CloudView
- SAP Commerce Cloud 裡的 Media 概念簡述Cloud
- 如何在 SAP Commerce Cloud Portal 構建和部署 SAP Spartacus StorefrontCloud