Carts service SDK
!version
!nextVersion
!downloads
!license
!dependency
*
Full documentation
install: npm i @plasma-platform/service-carts -S
- CartsService
- Parameters
- addNewCart
- Parameters
- Examples
- cloneCart
- Parameters
- Examples
- getCartById
- Parameters
- Examples
- getCartCalculatedById
- Parameters
- Examples
- getMyCarts
- Parameters
- Examples
- linkItemToCart
- Parameters
- Examples
- linkItemToItem
- Parameters
- Examples
- linkServiceToBundle
- Parameters
- Examples
- unlinkServiceFromBundle
- Parameters
- Examples
- mergeCarts
- Parameters
- Examples
- unLinkItemFromCart
- Parameters
- Examples
- unLinkItemFromItem
- Parameters
- Examples
- updateCart
- Parameters
- reassignCart
- Parameters
- Examples
- getToken
- Parameters
- Examples
- defaultAutoTrim
- See:
Carts Micro Service API SDK
- url string service url
- token (string | null) user access tocken if available (optional, default null)
Add new cart
#### Parameters
- currency string (required) Currency code iso3
- locale string cart locale
- attributes object List of predefined attributes to be stored with cart
- attributes.affiliate string Affiliate name
- attributes.affiliateAuthor string AffiliateAuthor name
- attributes.operator string Operator name
- attributes.description string Description for cart
- attributes.channel string Channel name (create_cart)
- attributes.trackers object Analytics trackers
- attributes.trackers string [ga] - Google Analytics tracker
- attributes.trackers string [ad] - Google Adwords tracker
- attributes.trackers string [sc] - Soft Cube tracker
#### Examples
``javascript`
(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
Clone cart
#### Parameters
- id string (required) cart id for cone
#### Examples
`javascript`
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/', 'hfkjasdhfljkadhflkajdshflkadjhald');
const cart = await cartsService.cloneCart(111);
})();
Returns object object with new cart properties
Get cart by id
#### Parameters
- id string (required) Cart id
#### Examples
`javascript`
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.getCartById(111);
})();
Returns object object with cart properties
Get cart calculated by id
#### Parameters
- id string (required) Cart id
#### Examples
`javascript`
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.getCartCalculatedById(111);
})();
Returns object object with cart properties
Get my carts
#### Parameters
- typeSort string type of sorting products in cart
#### Examples
`javascript`
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/');
const cart = await cartsService.getMyCarts();
})();
Returns array array with objects cart properties
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 | externalProducts)data
- object (required) params for link product to cartdata.license
- number license iddata.channel
- string channel for service (required if itemType is services)data.locale
- string users localedata.position
- number position for servicedata.presentation_id
- string presentation id for service
#### Examples
`javascript`
(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
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 cartdata.channel
- string (required) channel for servicedata.locale
- string users localedata.position
- number position for servicedata.presentation_id
- string presentation id for servicetypeLink
- string type of link to item
#### Examples
`javascript`
(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
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 servicebundleId
- string bundle's id
#### Examples
`javascript`
(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
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
`javascript`
(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
Merge carts
#### Parameters
- users_cart_id string (required) users cart idanonymous_cart_id
- string (required) anonymous cart id
#### Examples
`javascript`
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
const cart = await cartsService.mergeCarts(111, 333);
})();
Returns object object with new cart properties
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 | externalProducts)
#### Examples
`javascript`
(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
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
`javascript`
(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
update cart
#### Parameters
- id string (required) cart id for conecurrency
- string currency for shopping cart (iso3)locale
- string cart localeattributes
- object list of predefined attributes to be stored with cartattributes.affiliate
- string Affiliate nameattributes.affiliateAuthor
- string AffiliateAuthor nameattributes.operator
- string Operator nameattributes.description
- string Description for cartattributes.channel
- string Channel name (create_cart)attributes.trackers
- object Analytics trackersattributes.trackers
- string [ga] - Google Analytics trackerattributes.trackers
- string [ad] - Google Adwords trackerattributes.trackers
- string [sc] - Soft Cube tracker
Returns object object with new cart properties
Reassign cart
#### Parameters
- cardId string (required) cart Idlink
- string (required) link to user profile
#### Examples
`javascript`
(async () => {
const cartsService = new CartsService('https://jsonplaceholder.typicode.com/', 'dsugsahfdkljhafljkdfhajkldshfad');
const cart = await cartsService.reassignCart('123');
})();
Returns object object with new cart properties
Get token for centrifuge
#### Parameters
- options object options.id
- string (required) cart Idoptions.time
- number (required) timestamp for centrifuge
#### Examples
`javascript
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
Object with class service messages
Type: Object