Add many products to a list
Add many products to a List. (Many products to a single list)
swat.addProductsToList
Add many Products to a List with the given lid
.
Definition
swat.addProductsToList(lid, products, onSuccess, onError)
Example
Here's an example of how you can use this API to add many Products into a List called black friday list
:
// Define the list id of the list
let lid = "59179e9f-139d-4857-bcdd-3ad88a38b47d" // List ID
// Define the products array with 2 products.
let products = [{
du: "https://demo.swym.it/products/1300mm-ceiling-fan",
empi: 7096402444486,
epi: 41255088488646,
}, {
du: "https://demo.swym.it/products/1200-mm-48-inch-high-speed-ceiling-fan-white",
empi: 7096259772614,
epi: 41254731120838
}]
// Define success callback
let onSuccess = function (response){
// Successfully added many list items
// Response will contain the list items added to the list
console.log(`Successfully added many Products to the List ${lid}`, response);
}
// Define error callback
let onError = function (error){
// Error is an xhrObj
console.log("Error while adding many Products to the List", error);
}
// `addProductsToList` call
swat.addProductsToList(lid, products, onSuccess, onError);
Things to Consider
- This API is useful when you want to add many products to a List on a single network request..
- You can add upto 10 products in a single request.
- You cannot add invalid products.
API Parameters
Argument | Type | Description |
---|---|---|
lid | guid | Unique id of the List to fetch contents |
products | array | Array of Products Array length - Max 10 at a time as it affects response times |
onSuccess | function | Called when the Products are successfully added. |
onError | function | Called when there is an error while adding many Products to the List. |
Success Response
[{
"di": "fb283019-487b-4447-99e6-133178f6477e",
"bt": "Swym Marketing",
"dt": "1300mm Ceiling Fan",
"cts": 1679659226185,
"empi": 7096402444486,
"sku": "35",
"lid": "b62abea5-370a-4111-aed7-4d7752ff87b7",
"du": "https://demo.swym.it/products/1300mm-ceiling-fan",
"pid": "KABSbuGyYCuM6/IV7e7cGxT1978LieU1jRdMt6XhYfo=",
"epi": 41255088488646,
"uts": 1679659226185,
"_pkey": "fb283019",
"iu": "https://cdn.shopify.com/s/files/1/0534/3635/0662/products/1300mmCeilingFan_620x620.jpg?v=1637592943",
"_t": 2,
"pr": 800.0
}, {
"di": "fb283019-487b-4447-99e6-133178f6477e",
"bt": "Swym Marketing",
"dt": "1200 mm (48 inch) High Speed Ceiling Fan (White)",
"cts": 1679659226233,
"empi": 7096259772614,
"sku": "35",
"lid": "b62abea5-370a-4111-aed7-4d7752ff87b7",
"du": "https://demo.swym.it/products/1200-mm-48-inch-high-speed-ceiling-fan-white",
"pid": "KABSbuGyYCuM6/IV7e7cGxT1978LieU1jRdMt6XhYfo=",
"epi": 41254731120838,
"uts": 1679659226233,
"_pkey": "fb283019",
"iu": "https://cdn.shopify.com/s/files/1/0534/3635/0662/products/1200mm_48inch_DecorativeCeilingFanwithLights_620x620.jpg?v=1637589184",
"_t": 2,
"pr": 800.0
}]
Other References
Product
An object containing params required for creating, updating or deleting list items
let product = {
epi: epi, // unique variant id of the product
empi: empi, // master id of the product
du: du, // product url
qty: qty, // optional
note: note, //optional
cprops: {} // Optional custom attributes
};
--data-urlencode 'epi: {{epi}}' \ # One unique list item (empi+epi) per listid
--data-urlencode 'empi: {{empi}}' \
--data-urlencode 'du: {{du}}' \
--data-urlencode 'qty: {{qty}}' \
--data-urlencode 'note: {{note}}' \
--data-urlencode 'cprops: {{JSON stringified cprops}}' \ # Optional custom attributes
Property Name | Data Type | Required | Description |
---|---|---|---|
product.epi | int/string | Yes | Variant id of the product to be added |
product.empi | int/string | Yes | Product id of the product to be added |
product.du | string | Yes | Canonical uri of the product to be added |
product.qty | int | optional | Defaults to 1. Quantity included for the add action |
product.note | string | optional | Optional note |
product.cprops | object | optional | Map of custom fields |
product.lbls | array | optional | Array of strings indicating labels, rooms, etc. for HTC. Only one value supported in array. eg: ["Room1"] |
product._av | bool | optional | true if the list action was done without user explicitly picking a variant. Can be used by Wishlist UX to require user to pick variant before adding to cart |
Updated over 1 year ago