Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Recently Jerry is working on an integration project about creating orders in Wechat platform by consuming SAP Commerce Cloud Restful API.

Consultants who didn‘t touch SAP Commerce before(such as Jerry ) might get confused once they saw the search result by key word "commerce" in https://help.sap.com:

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Several products with similar name are listed in search result.

  • SAP Commerce:SAP commerce solution based on On-Premises deployment approach

  • SAP Commerce Cloud on SAP Infrastructure & SAP Commerce Cloud on Public Cloud: as their names give a very clear hint: both are SAP Commerce solution based on cloud, and differentiated by the underlying cloud infrastructure the solution are running. SAP Commerce Cloud on SAP Infrastructure are sometimes called Commerce Cloud Version One and CCV1 for short, while the latter called CCV2.

There is a nice blog Two clouds in practice: a comparison of SAP Commerce Cloud v1 and v2in medium comparing both.

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Back to my task, it‘s helpful if we play around in Commerce Cloud storefront UI to create a order manually to get ourselves familar with the process.

Log in to storefront and browse the site:
Step by Step to create orders by consuming SAP Commerce Cloud Restful API

And identify a favourite product and add it to cart by pressing button "ADD TO CART":

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Press CHECK OUT to proceed:

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Now we get a cart ID:

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Maintain shipping address:

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Maintain payment details:

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Once Place Order button is clicked, the order is successfully created with an automatically populated order ID:

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

In summary, the process of order manual creation in SAP Commerce Cloud consists of five steps:

(1) create a Shopping Cart

(2) add products into the cart

(3) maintain shipping address to the cart

(4) maintain payment details to the cart

(5) execution place order action on the cart to get order created

Now we should figure out for each step, what exactly APIs should be called.

Go to https://api.sap.com, search by keyword "Commerce Cloud", and it‘s easy to find the supported API list there.

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Jerry has written a simple nodejs application to demonstrate how to consume such APIs to create orders in SAP Commerce Cloud. The whole source code is uploaded to my github.

Execute the application, and we can observe the successflly created order with its ID in callback function in line 20:

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Search the ID in Commerce Cloud backoffice UI to check the details of created order.

Step by Step to create orders by consuming SAP Commerce Cloud Restful API
Step by Step to create orders by consuming SAP Commerce Cloud Restful API

As introduced before, it‘s necessary to go through five steps to have an order generated. And in Jerry‘s project there are totally seven "step.js" implementation files, why?

For the additional two step.js, one is for access token retrieve and the other for cart delivery mode set operation. Access token will be appended to the header fields of all the subsequent API calls for authorization purpose. And the cart delivery mode will be set implicitly if performed in storefront UI via browser whereas an explicit API call is necessary in our case. As a result totally seven HTTP roundtrip is needed in API consumption case.

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

The access token fetch is implemented by following OAuth protocol: send the OAuth Client ID and secret to SAP Commerce Cloud OAuth endpoint to get the issued access token.

First we have to create a new OAuth Client in SAP Commerce Cloud backoffice:

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Then in file "step1_get_token.js", send a HTTP POST to Commerce Cloud Authentication endpoint to request access token:

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

For privacy reason I didn‘t upload urlconfig.js to github which contains the dedicated url of my own Commerce Cloud API endpoint. Instead I upload the template file: urlconfigTemplate.js. Just replace the place holder marked with "<>" with your actual value there, rename the template file back to urlconfig.js. After that you can create orders in your own Commerce Cloud tenant.

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
Step by Step to create orders by consuming SAP Commerce Cloud Restful API

Step by Step to create orders by consuming SAP Commerce Cloud Restful API

上一篇:内核发送uevent的API,用户空间解析uevent(转)


下一篇:Windows系统+ELK+Logback 搭建日志收集服务器