@plasma-platform/cart
v3.3.2
Published
Scripts for carts
Downloads
48
Readme
Full documentation
install:npm i @plasma-platform/cart -S
Short documentation
Table of Contents
- ActionsServiceCarts
- ActionsServiceDiscounts
- ActionsServiceLicenses
- ActionsServiceProducts
- ActionsServiceServices
- ActionsServiceSupport
- Main
- SelectorsServiceCarts
- getCartInfo
- getMyCartId
- getCarts
- getRecalculateCart
- fetchingCart
- cartServicePopupInfo
- getCartByIdInfo
- getCartCount
- getCartPrice
- isCartCalculated
- getCartFinalPrice
- getLastOpenedCart
- getCartItems
- getCartItemsIds
- getCartDiscounts
- cartAddedOnCartServices
- getIsFirstAddedItemToCart
- getSubscriptionCart
- getUpdateCartIsFetching
- SelectorsServiceDiscounts
- SelectorsServiceItems
- SelectorsServiceLicenses
- SelectorsServiceProducts
- SelectorsServiceServices
- getAllServicesEntities
- getProductIdsOnCartBannerService
- getFetchingLocaleOnCartBannerService
- getProductIdsOnCartSuggestionServices
- getFetchingLocaleOnCartSuggestionServices
- getFetchingLocaleServices
- getProductIsInitializedOnCartSuggestionServices
- getProductIsInitializedOnCartBannerService
- getCartPreviewServicesByTemplateId
- getFetchingLocaleServicesByProductId
- getAddedCartServices
- getAddedCartServicesByTemplatesId
- isFetchingServices
- isFetchingOnCartSuggestionServices
- getOnCartBannerServiceIds
- getOnCartSuggestionServicesIds
- getOnCartBannerService
- getOnCartSuggestionServices
- SelectorsServiceSupport
ActionsServiceCarts
addToCartProductsWithServices
Adds a product to the cart and services to the product. if there is no cartId and no cookies(cart_id) a new cart is automatically created, adds products and services, and subscribe to the centrifuge
Parameters
cartId
string user cart idtemplateId
number product id (isRequired)orderId
string order idservices
Array ids service listsupport
Array ids support listlocale
String current localedata
Object data.license for products | data.channel for services (isRequired)itemType
String product type(services or products) (isRequired)attributes
Object List of predefined attributes to be stored with cart(affiliate, operator, description, channel)currency
String Currency code iso3channel
String current channelcustomAdd
boolean custom create cart with item
deleteItemFromCart
UnLink Item(services|product) From Cart
Parameters
link
string product link (product link get from cart item: service - https://api.templatemonsterdev.com/services/v1/services/en/362, product - https://api.templatemonsterdev.com/products/v2/products/en/67167 discounts - https://api.templatemonsterdev.com/discounts/v2/discounts/w7lw6o4eswgudt9sfkol05lon ) (isRequired)cartId
string cart id (isRequired)type
string type of item (products/services/discounts) (isRequired)
deleteItemFromItem
UnLink item(services|product) from item
Parameters
productLink
string product link (product link get from cart item: https://api.templatemonsterdev.com/services/v1/en/services/en/362) (isRequired)cartId
string cart id (isRequired)typeTarget
string Item or discount type (products/services/promocodes/link-discounts) (isRequired)typeSource
string Item or discount type (products/services/promocodes/link-discounts) (isRequired)itemId
number item id (isRequired)
Examples
deleteItemFromItem({
productLink: 'https://api.templatemonsterdev.com/services/v1/services/en/362',
cartId: 'asd3253464oidfgds',
typeTarget: 'products',
typeSource: 'services',
itemId: 55555,
});
getCart
get current user or anonymous cart. takes authorized user cart or anonymous cart from cookies(cart_id)
Parameters
getInfoItemsInCart
get products info items from cart
Parameters
cartItems
Array array items from cart (use selector getCartItemsSelector) (isRequired)locale
Selector current locale
linkItemToCart
link item(services|product) in user cart
Parameters
productId
Number product id (isRequired)cartId
String user cart id (isRequired)itemType
String products type (isRequired)data
Object data.license for products | data.channel for services (isRequired)orderId
String order id
linkItemToItem
link item(services) in product
Parameters
serviceId
Number service id (isRequired)productId
Number products id (isRequired)cartId
String user cart id (isRequired)channel
String service channel (isRequired)multiLink
Boolean true - if need add several services then field 'linkServices'(isRequired).linkServices
String services links. (https://api.templatemonsterdev.com/services/v1/services/362, https://api.templatemonsterdev.com/services/v1/services/966) (isRequired if field 'multiLink' = true)itemType
String type of item (services, support)locale
String localecurrency
String current locale currency
postCart
create new cart
Parameters
attributes
Object List of predefined attributes to be stored with cart(affiliate, operator, description, channel)currency
String Currency code iso3locale
String cart locale
reassignCart
reassign anonymous cart to user (cookies(access_token) isRequired)
Parameters
locale
String current localecartId
String anonymous cart id (isRequired)userId
String user profile id (isRequired)
showServicePopup
show services popup
Parameters
show
Boolean show or hide popup (isRequired)templateId
Number product id (isRequired)serviceId
Number service id (isRequired)
subscriptionCentrifuge
subscription centrifuge
Parameters
cartId
String user cart id (isRequired)currentLocale
String current localetemplateId
Number template id. if need add products after subscription centrifugeservicesProduct
Array services ids. if need add services in product after subscription centrifugesupport
Array support ids. if need add support to product after subscription centrifugedata
Object data.license for products | data.channel for servicesaddItemAfterSubscribe
Boolean if need add products after subscription centrifugeitemType
String item typechannel
String current channelanonymousCartId
String anonymous cart id if need merge carts
updateCart
Update cart, authorization is optional, if cart belongs to user then only that user can update the cart, but anonymous cart can be updated by anyone.
Parameters
cartId
String cart id (isRequired)attributes
Object List of predefined attributes to be stored with cart(affiliate, operator, description, channel)currency
String Currency code iso3locale
String Locale in db format
ActionsServiceDiscounts
getDiscountApplicability
Check on valid promocode, link or unlink promocode
Parameters
promocode
string current promocode. (isRequired)cartId
string id of current cart. (isRequired)addPromocode
boolean add or remove promocode (isRequired)
ActionsServiceLicenses
getLicensesByIds
Get licenses info by ids
Parameters
Returns array
ActionsServiceProducts
getProductsByIds
Get product in the user cart
Parameters
Returns array
ActionsServiceServices
getCartBannerServices
get onCart service with video
Parameters
products
Array products in cart(full info products from service products) (The products must have fields: templateId, package_id, propertyValues) (isRequired)productIds
Array product ids by which you need to find services (isRequired)locale
string current locale
getCartServices
get recommended product services
Parameters
product
Object full info product from service products(The product must have fields: templateId, package_id, propertyValues * ) (isRequired)locale
String current locale
getCartSuggestionServices
get onCart services by channel suggestions
Parameters
products
Array products in cart(full info products from service products) (The products must have fields: templateId, package_id, propertyValues) (isRequired)productIds
Array product ids by which you need to find services (isRequired)locale
string current locale
getServiceByIds
get services info
Parameters
ActionsServiceSupport
getSupportByIds
get support info
Parameters
getSupportByProductIds
get support info
Parameters
Main
Start
npm i @plasma-platform/cart
in app.jsx: 1. import { CookiesProvider, Cookies } from 'react-cookie'; 2. const cookies = new Cookies(document.cookie); 3. add to main render 4. import { setCartConfig } from '@plasma-platform/cart'; 5. call setCartConfig({...}) with parameters
in your project's store: 1. import { Cookies } from 'react-cookie'; 2. compose(applyMiddleware(thunkMiddleware.withExtraArgument(cookies)))
in your project's reducers: 1. import { cartReducer } from '@plasma-platform/cart'; 2. connect cartReducer (cart: cartReducer)
import and use needed Actions or Selectors in your project(Actions example: getCart -> getCartAction, Selectors example: getMyCartId -> getMyCartIdSelector)
cartReducer
cart reducers
setCartConfig
set init config for cart actions
Parameters
params
Object services URLs
Examples
setCartConfig({
sessionStorage: true,
cookiesRoot: '.templatemonsterdev.com',
centrifugeCartURL: '//centrifugo.templatemonsterdev.com/',
services: {
carts: '//api.templatemonsterdev.com/carts/v2/',
products: '//api.templatemonsterdev.com/products/v2/',
services: '//api.templatemonsterdev.com/services/v1/',
support: '//api.templatemonsterdev.com/support/v1/',
discounts: '//api.templatemonsterdev.com/discounts/v2/',
users: '//api.templatemonsterdev.com/users/v1/',
licenses: '//api.templatemonsterdev.com/licenses/v1/',
},
serviceChannels: {
cart: 'tm2-cart',
cartBanner: 'plasma-cart-banner',
cartSuggestions: 'plasma-oncart-suggestion',
},
dataSessionStorage: true || false,
});
SelectorsServiceCarts
getCartInfo
return general information from cart
Parameters
state
Object current store
Returns Object
getMyCartId
return current cart id from store
Parameters
state
Object current store
Returns String
getCarts
return all store carts
Parameters
state
Object current store
Returns Object
getRecalculateCart
return sign that the cart is recalculate
Parameters
state
Object current store
Returns Boolean
fetchingCart
return sign that the cart is fetching
Parameters
state
Object current store
Returns Boolean
cartServicePopupInfo
return service info for popup
Parameters
state
Object current store
Returns Object
getCartByIdInfo
return cart info by id
Parameters
Returns Object
getCartCount
return number of items in the cart
Parameters
state
Object current store
Returns Number
getCartPrice
return price in cart
Parameters
state
Object current store
Returns Number
isCartCalculated
return sign if cart calculated
Parameters
state
Object current store
Returns Boolean
getCartFinalPrice
return final price in cart
Parameters
state
Object current store
Returns Number
getLastOpenedCart
return last opened cart
Parameters
state
Object current store
Returns Object
getCartItems
return items in cart
Parameters
state
Object current store
Returns Array
getCartItemsIds
return id items in cart
Parameters
state
Object current store
Returns Array
getCartDiscounts
return discounts in cart
Parameters
state
Object current store
Returns Array
cartAddedOnCartServices
return added id services in cart
Parameters
state
Object current store
Returns Array
getIsFirstAddedItemToCart
return sign that firs added item to cart
Parameters
state
Object current store
Returns Boolean
getSubscriptionCart
return sign that cart is subscription centrifuge
Parameters
state
Object current store
Returns Boolean
getUpdateCartIsFetching
return sign that the cart update is fetching
Parameters
state
Object current store
Returns Boolean
SelectorsServiceDiscounts
getDiscountsInfo
return current applicability discount info
Parameters
state
Object current store
Returns Object
SelectorsServiceItems
SelectorsServiceLicenses
getLicensesEntities
return all licenses in store
Parameters
state
Object current store
Returns Object
getLicensesIds
return all licenses ids in store
Parameters
state
Object current store
Returns Array
isFetchingLicenses
return sign that licenses is fetching
Parameters
state
Object current store
Returns Boolean
getCurrentLicensesLocale
return current licenses locale
Parameters
state
Object current store
Returns String
getLicensesInfoByIds
return full info lisenses by ids
Parameters
Returns Array
SelectorsServiceProducts
getProductsEntities
return all products in store
Parameters
state
Object current store
Returns Object
getFetchingLocaleProducts
return sign that current products locale
Parameters
state
Object current store
Returns String
isProductsFetching
return sign that products is fetching
Parameters
state
Object current store
Returns Boolean
getProductById
return current product info from store
Parameters
state
Object current storeid
Returns Object
getLicensesIdsByTemplateId
return licenses ids by template id
Parameters
state
Object current storeid
Returns Array
SelectorsServiceServices
getAllServicesEntities
return all services in store
Parameters
state
Object current store
Returns Object
getProductIdsOnCartBannerService
return id on Cart Banner Services
Parameters
state
Object current store
Returns Array
getFetchingLocaleOnCartBannerService
return sign that current on Cart Banner Service locale
Parameters
state
Object current store
Returns String
getProductIdsOnCartSuggestionServices
return id on CartSuggestion Services
Parameters
state
Object current store
Returns Array
getFetchingLocaleOnCartSuggestionServices
return sign that current on CartSuggestion Services locale
Parameters
state
Object current store
Returns String
getFetchingLocaleServices
return sign that current services locale
Parameters
state
Object current store
Returns String
getProductIsInitializedOnCartSuggestionServices
return sign that on Cart Suggestion Services is initialized
Parameters
state
Object current store
Returns Boolean
getProductIsInitializedOnCartBannerService
return sign that on Cart Banner Service is initialized
Parameters
state
Object current store
Returns Boolean
getCartPreviewServicesByTemplateId
return recommended services info by product id
Parameters
Returns Array
getFetchingLocaleServicesByProductId
return sing that current locale services by product id
Parameters
Returns String
getAddedCartServices
return template ids with added service ids
Parameters
state
Object current store
Returns Object
getAddedCartServicesByTemplatesId
return added services by product id
Parameters
Returns Array
isFetchingServices
return sing that services is fetching
Parameters
state
Object current store
Returns Boolean
isFetchingOnCartSuggestionServices
return sing that on Cart Suggestion Services is fetching
Parameters
state
Object current store
Returns Boolean
getOnCartBannerServiceIds
return on Cart Banner Service ids
Parameters
state
Object current store
Returns Array
getOnCartSuggestionServicesIds
return on Cart Suggestion Services ids
Parameters
state
Object current store
Returns Array
getOnCartBannerService
return on Cart Banner Service info
Parameters
state
Object current store
Returns Object
getOnCartSuggestionServices
return on Cart Suggestion Services info
Parameters
state
Object current store
Returns Array
SelectorsServiceSupport
getSupportEntities
return all support in store
Parameters
state
Object current store
Returns Object
getFetchingLocaleSupport
return sign that current support locale
Parameters
state
Object current store
Returns String
isFetchingSupport
return sing that support is fetching
Parameters
state
Object current store
Returns Boolean
getSupportById
return support by id from list
Parameters
state
Object current storeid
Returns Boolean