@plasma-platform/tm-service-carts
v4.3.0
Published
Carts service SDK
Downloads
53
Readme
Documentation
Table of Contents
CartsService
Carts Micro Service API SDK
Parameters
url
string service urltoken
(string | null) user access tocken if available (optional, defaultnull
)
addNewCart
Add new cart
Parameters
currency
string (required) Currency code iso3attributes
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 productscartId
string (required) cart iditemType
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 productscartId
string (required) cart iditemId
number (required) item iddata
object (required) params for link product to carttypeLink
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 productscartId
string (required) cart iditemId
number (required) item iddata
object (required) params for link product to cartdata.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 productscartId
string (required) cart iditemId
number (required) item idbundleId
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 productscartId
string (required) cart iditemType
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 productscartId
string (required) cart iditemTypeTarget
string (required) item type targetitemId
number (required) item iditemTypeSource
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 conecurrecy
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