Documentation
Table of Contents
CartsService
Carts Micro Service API SDK
Parameters
-
url
string service url -
token
(string | null) user access tocken if available (optional, defaultnull
)
addNewCart
Add new cart
Parameters
-
currency
string (required) Currency code iso3 -
attributes
object List of predefined attributes to be stored with cart
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
const cart = await cartsService.addNewCart('USD', { affiliate: 'colorlib' });
})();
Returns object object with new cart properties
cloneCart
Clone cart
Parameters
-
id
string (required) cart id for cone
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/', 'hfkjasdhfljkadhflkajdshflkadjhald');
const cart = await cartsService.cloneCart(111);
})();
Returns object object with new cart properties
getCartById
Get cart by id
Parameters
-
id
string (required) Cart id
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.getCartById(111);
})();
Returns object object with cart properties
getCartCalculatedById
Get cart calculated by id
Parameters
-
id
string (required) Cart id
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.getCartCalculatedById(111);
})();
Returns object object with cart properties
getMyCarts
Get my carts
Parameters
-
typeSort
string type of sorting products in cart
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.getMyCarts();
})();
Returns array array with objects cart properties
linkItemToCart
Link item to cart
Parameters
-
productServiceLink
string (required) link to product in service products -
cartId
string (required) cart id -
itemType
string (required) type of product (products | services | discounts | link-discounts) -
data
object (required) params for link product to cart
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.linkItemToCart('http://service-products.dev/api/v1/products/en/55555', 111, 'products', {
license: 50,
});
})();
Returns object object cart properties
linkItemToItem
Link item to item
Parameters
-
productServiceLink
string (required) link to product in service products -
cartId
string (required) cart id -
itemId
number (required) item id -
data
object (required) params for link product to cart -
typeLink
string type of link to item
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.linkItemToItem('http://service-services.dev/api/v1/services/en/1', 111, 222, {
channel: 'tm-cart'
}, 'bundles');
})();
Returns object object cart properties
linkServiceToBundle
Link service to bundle
Parameters
-
productServiceLinks
string (required) link to service in service products -
cartId
string (required) cart id -
itemId
number (required) item id -
data
object (required) params for link product to cart-
data.channel
string (required) channel for service
-
-
bundleId
string bundle's id
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.linkItemToItem('http://service-services.dev/api/v1/services/en/1', 111, 222, {
channel: 'tm-cart'
}, 'qwerty123');
})();
Returns object object cart properties
unlinkServiceFromBundle
Unlink service from bundle
Parameters
-
productServiceLinks
string (required) link to service in service products -
cartId
string (required) cart id -
itemId
number (required) item id -
bundleId
string bundle's id
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.unlinkServiceFromBundle('http://service-services.dev/api/v1/services/en/1', 111, 222, 'qwerty123');
})();
Returns object object cart properties
mergeCarts
Merge carts
Parameters
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
const cart = await cartsService.mergeCarts(111, 333);
})();
Returns object object with new cart properties
unLinkItemFromCart
Unlink item from cart
Parameters
-
productServiceLink
string (required) link to product in service products -
cartId
string (required) cart id -
itemType
string (required) type of product (products | services | discounts | link-discounts)
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.unLinkItemFromCart('http://service-products.dev/api/v1/products/en/55555', 111, 'products');
})();
Returns object object cart properties
unLinkItemFromItem
Unlink item from item
Parameters
-
productServiceLink
string (required) link to product in service products -
cartId
string (required) cart id -
itemTypeTarget
string (required) item type target -
itemId
number (required) item id -
itemTypeSource
string (required) item type source
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.unLinkItemFromItem('http://service-services.dev/api/v1/services/en/1', 111, 'services', 222, 'services');
})();
Returns object object cart properties
updateCart
update cart
Parameters
-
id
string (required) cart id for cone -
currecy
string currency for shopping cart (iso3) -
attributes
object list of predefined attributes to be stored with cart
Returns object object with new cart properties
reassignCart
Reassign cart
Parameters
Examples
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
const cart = await cartsService.reassignCart('123');
})();
Returns object object with new cart properties
getToken
Get token for centrifuge
Parameters
-
options
object
Examples
<caption>Get token for centrifuge<caption>
import Config from 'Config';
import CartsService from '@plasma-platform/tm-service-carts';
import TMCentrifuge from '@plasma-platform/tm-centrifuge';
(async () => {
const cartsService = new CartsService('//socket.templatemonster.com/', 'ZW7NJyKVEtjyGCjPBXOZyQrjNZ5aOjIcJD7SAFNm');
const timestamp = Math.round(new Date().getTime() / 1000);
const [ cart ] = await cartsService.getMyCarts('-created_at&per-page=1');
const token = await cartsService.getToken({
id: cart.id,
timestamp,
});
const centrifuge = TMCentrifuge({
url: Config.centrifugeCartUrl,
timestamp,
});
centrifuge.subscribe('update', (message)=>{…});
})();
- Throws any ErrorBadRequest
Returns object object with new cart properties
defaultAutoTrim
Object with class service messages