hybris-occ2-nodejs-client
v0.1.2
Published
SAP Hybris OCC2 API
Downloads
10
Readme
Overview
The goal of this project is to provide a NodeJS client library to access to SAP Hybris OCC2.
Disclaimer
This development does not cover all OCC API but just the part I need for a personal project (to be able to place an order). If you want more, feel free to propose idea or to contribute. This is a personal project. SAP do not sponsor and do not provide any support.
Usage
- Create an OAuth Access Token with the Backoffice application
- Install the module via
npm
npm install hybris-occ2-nodejs-client
Code Examples
Get stock
In the example below, we retrieve the stock of PowerShot A480.
#!/usr/bin/env node
var Hybris = require('hybris-occ2-nodejs-client');
var hybris = new Hybris();
var hostname = "localhost";
var port = 9002;
var clientId = "mobile_android";
var clientSecret = "secret";
var username = "[email protected]";
var password = "hybris";
var productCode = '1934793'; //PowerShot A480
hybris.init(hostname, port, clientId, clientSecret, username, password);
hybris.product.getProduct(productCode)
.then((product) => { console.log("Stock: " + product.stock.stockLevel) })
Place an order
In this example, we add one PowerShot A480 to the cart and we place an order.
#!/usr/bin/env node
var Hybris = require('hybris-occ2-nodejs-client');
var hybris = new Hybris();
var hostname = "localhost";
var port = 9002;
var clientId = "mobile_android";
var clientSecret = "secret";
var username = "[email protected]";
var password = "hybris";
var productCode = '1934793'; //PowerShot A480
var quantity = 1;
var deliveryModeId = 'standard-gross';
hybris.init(hostname, port, clientId, clientSecret, username, password);
hybris.cart.createCart('current', 'current')
.then((data) => { hybris.cart.addToCart('current', 'current', productCode, quantity)
.then((data) => { hybris.user.getUser('current')
.then((user) => { hybris.cart.setAddress('current', 'current', user.defaultAddress.id)
.then((data) => { hybris.cart.setDeliveryMode('current', 'current', deliveryModeId)
.then((data) => { hybris.user.getPaymentInfos('current')
.then((paymentDetails) => { hybris.cart.setCreditCardPayment('current', 'current', paymentDetails.payments[0].id)
.then((data) => { hybris.order.placeOrder(username, 'current')
})
})
})
})
})
})
})