Marketplace Ease is a program in which merchants provide product supply prices, platform sales and order fulfilments by themselves. Orders payment are settled based on the product supply price, without any additional commissions or fees except during Mega Campaigns.
Feature Description |
API Name |
API Path |
Listing |
CreateProduct |
/product/create |
Update Product |
UpdateProduct |
/product/update |
Update Inventories |
AdjustSellableQuantity |
/product/stock/sellable/adjust |
UpdateSellableQuantity |
/product/stock/sellable/update |
|
UpdatePriceQuantity |
/product/price_quantity/update |
|
Brand |
GetBrandByPages |
/category/brands/query |
Get Product Information |
GetProductItem/GetProducts |
/product/item/get /products/get |
Upload Images |
UploadImage |
/image/upload |
MigrateImage |
/image/migrate |
|
MigrateImages |
/images/migrate |
|
GetResponse |
/image/response/get |
|
Delete/Deactive Products |
DeactivateProduct |
/product/deactivate |
RemoveSku |
/product/sku/remove |
|
RemoveProduct |
/product/remove |
|
Category |
GetCategoryTree |
/category/tree/get |
GetCategoryAttributes |
/category/attributes/get |
|
GetCategorySuggestion/GetCategorySuggestionInBulk |
/product/category/suggestion/get /product/category/suggestion/get/batch |
|
GetQCAlertProducts |
/product/qc/alert/list |
|
SizeChart |
GetSizeChartTemplate |
/size/chart/template/get |
BatchUpdateSizeChart |
/size/chart/batch/update |
|
Order |
GetMultipleOrderItems |
/orders/items/get |
GetOrderItems |
/order/items/get |
|
GetOrder |
/order/get |
|
GetOrders |
/orders/get |
|
GetDocument |
/order/document/get |
|
SetInvoiceNumber |
/order/invoice_number/set |
|
Fulfillment/Logistics |
GetOrderTrace |
/logistic/order/trace |
Pack |
/order/fulfill/pack |
|
ReadyToShip |
/order/package/rts |
|
PrintAWB |
/order/package/document/get |
|
RecreatePackage |
/order/package/repack |
|
GetShipmentProvider |
/order/shipment/providers/get |
|
Seller |
GetSeller |
/seller/get |
GetWarehouseBySellerId |
/rc/warehouse/get |
|
QueryWarehouseDetailInfoBySellerId |
/rc/warehouse/detail/get |
|
IM |
GetMessages |
/im/message/list |
GetSessionDetail |
/im/session/get |
|
GetSessionList |
/im/session/list |
|
MessageRecall |
/im/message/recall |
|
OpenSession |
/im/session/open |
|
ReadSession |
/im/session/read |
|
SendMessage |
/im/message/send |
|
Finance |
GetPayoutStatus |
/finance/payout/status/get |
QueryTransactionDetails |
/finance/transaction/details/get |
|
QueryAccountTransactions |
/finance/transaction/accountTransactions/query |
|
QueryLogisticsFeeDetail |
/lbs/slb/queryLogisticsFeeDetail |
Other than the above APIs, all other OpenAPI interfaces report errors when called.
Before creating and updating items, you need to know which category your item belongs to and what attributes are available in that category.
Before creating a product, developers need to call the GetCategoryTree API to get Lazada's full category tree first.
Field |
Description |
children |
Lazada's categories are tree-structured, and if there are children in the current category, they will be displayed in the "children" field of the current category. |
name |
Category Name. |
leaf |
Enum: true/false. Used to check if the current category name is a leaf category, only leaf categories (leaf = true) can be used when creating a product or updating a product. |
category_id |
The ID of the current category, you need to use this ID to declare to Lazada the category to which the current item belongs when you create or update the item. |
"data": [ { "children": [ { "var": false, "name": "Smartphones", "leaf": true, "category_id": 3 }, { "var": false, "name": "Tablets", "leaf": true, "category_id": 7 }, { "var": false, "name": "Landline Phones", "leaf": true, "category_id": 49 }, { "var": false, "name": "Feature Phones", "leaf": true, "category_id": 42006401 } ], "var": false, "name": "Mobiles & Tablets", "leaf": false, "category_id": 2 } ...... ] }
Note:Category tree and category IDs may be different in different countries.
In order to create or update a product, the developer needs to request the GetCategoryAttributes API based on the category ID queried in the previous step to query the complete list of category attributes in order to display editable attributes to sellers.
Field |
Description |
is_key_prop |
When the value of this field is 1, it means that the current attribute is a key attribute of an item and filling it in will increase the rating of the item. Enum: 0/1 |
is_sale_prop |
If the value of this field is 1, this means that the current attribute is a variant attribute, which is used to differentiate between SKUs when creating items with variants such as specification or color. ENUM: 0/1 |
name |
Attribute name. When name appears as an attribute name it must be English. When name appears as the options attribute enumeration, the corresponding language is displayed according to the language_code set at the time of the request. |
input_type |
This field determines the input restrictions for the current attribute, enumerated below: 1: singleselect: single-select is not customizable; 2: multiselect: multiselect is not customizable (commas are used to separate multiple options); 3: enuminput: both single-select and customizable inputs; 4: multienuminput: can be both multi-selected and customized; 5: text: only text input is supported; 6: numeric: Supports only numeric input; 7: date: only supports date input; 8: richText: support input rich text, such as HTML format; 9: img: only supports inputting Lazada image link. |
options |
When the attribute's input_type is singleselect, multiselect, enuminput, multienuminput, the field will display all optional enumerations as an array. |
en_name |
The name of the enumeration in the options attribute will be displayed in English regardless of the language_code setting at the time of the request. |
is_mandatory |
Indicates whether the current attribute is required or not, when it is 1, it is a required attribute, if you don't fill in the attribute when creating the product, it will report an error. Enum: 0/1 |
attribute_type |
Used to describe whether the current attribute is SKU level or SPU level. When the value is normal, it means this attribute is SPU level, no matter how many SKUs the current product has, it only needs to be set once. When the value is sku, it means this attribute is SKU level, if the current product has more than one SKU, then each SKU needs to be set once. Enum:normal/sku |
label |
The name of the attribute that the front-end displays to the seller cannot be used as a parameter in the request. |
{ "data": [ ...... { "advanced": { "is_key_prop": 0 }, "is_sale_prop": 0, "name": "quantity", "input_type": "numeric", "is_mandatory": 0, "attribute_type": "sku", "label": "Bundle Size", "id": 21 }, { "advanced": { "is_key_prop": 0 }, "is_sale_prop": 0, "name": "price", "input_type": "numeric", "is_mandatory": 1, "attribute_type": "sku", "label": "Price", "id": 30106 }, { "advanced": { "is_key_prop": 0 }, "is_sale_prop": 0, "name": "special_price", "input_type": "numeric", "is_mandatory": 0, "attribute_type": "sku", "label": "Special Price", "id": 30047 }, { "advanced": { "is_key_prop": 0 }, "is_sale_prop": 0, "name": "description_en", "input_type": "richText", "is_mandatory": 0, "attribute_type": "normal", "label": "English Long Description (optional)", "id": 40036 }, { "advanced": { "is_key_prop": 0 }, "is_sale_prop": 0, "name": "name_en", "input_type": "text", "is_mandatory": 0, "attribute_type": "normal", "label": "Name in English language", "id": 40039 } ], "code": "0", "request_id": "21222aec17066029964048645" }
Note
All images used in Lazada products must be Lazada inlinks, so before creating and updating products, developers need to convert sellers' local images or external image links to Lazada inlinks using the API. Please refer to this document for more details.
According to the previous steps, we get the necessary information needed to create a product, combine all the necessary information into a JSON payload and request the Createproduct API successfully to complete the creation of a product.
{ "Request": { "Product": { "PrimaryCategory": "10002019", "Images": { "Image": [ "https://my-live-02.slatic.net/p/47b6cb07bd8f80aa3cc34b180b902f3e.jpg" ] }, "Attributes": { "name": "test 2022 02", "description": "TEST", "brand": "No Brand", //If the product does not have a brand, please fill in No Brand. //If you want to use a brand, please call GetBrandByPages API first to check whether the corresponding brand exists in Lazada brand library. "model": "test", "warranty_type": "Local seller warranty", "warranty": "1 Month", "short_description": "cm x 1efgtecm<br /><brfwefgtek", "Hazmat": "None", }, "Skus": { "Sku": [ { "SellerSku": "test2022 02", "saleProp":{ "color_family":"Green", "size":"10" }, "quantity": "3", "supply_price": "35", "package_height": "10", "package_length": "10", "package_width": "10", "package_weight": "0.5", "package_content": "laptop bag", "Status": "active", "Images": { "Image": [ "https://my-live-02.slatic.net/p/47b6cb07bd8f80aa3cc34b180b902f3e.jpg" ] } } ] } } } }
{ "data": { "item_id": 3069252927, "sku_list": [ { "shop_sku": "3069252927_MY-15298395971", "seller_sku": "test2022 02", "sku_id": 15298395971 } ] }, "code": "0", "request_id": "2101554016564826049331260" }
Field |
Mandatory |
Description |
Images |
Optional |
Used to upload the main image of the product and SKU images. The Image field must be added under the Images field and the value must be of string array type. Adding Images field to Sku parameter will add SKU image for current SKU. Adding Images field to Product parameter will add main image for current product. Only eight images can be passed into each Images field, and they cannot be duplicated. |
name |
Mandatory |
Trade Name. A maximum of 255 characters can be entered. |
description |
Optional |
Maximum input of 25000 characters. Supports rich text in HTML format. Only Lazada internal links are supported, no other external links are allowed. |
short_description |
Optional |
Only text and <ul> <li> and <ol> <li> tags are supported. Other HTML tags are not allowed and will be ignored. |
brand |
Brand_id is optional if this field is used. |
The brand name of the product, which can be queried by calling the GetBrandByPages API. |
brand_id |
If this field is used, the brand field is optional. |
The product brand corresponds to the ID of the Lazada brand library, which can be queried by calling the GetBrandByPages API. |
SellerSku |
Mandatory |
Seller's customized SKU code cannot be repeated for different SKUs of the same item. The following special characters are prohibited: \"*^~<>/|\ |
supply_price |
Mandatory |
Product supply price. |
package_height |
Mandatory |
Maximum support for three decimal places. Unit:cm |
package_length |
Mandatory |
Maximum support for three decimal places. Unit:cm |
package_width |
Mandatory |
Maximum support for three decimal places. Unit:cm |
package_weight |
Mandatory |
Maximum support for three decimal places. Unit:kg |
package_content |
Optional |
Package Contents |
saleProp |
Optional |
A collection of variant attributes for SKUs. If an item needs to have more than one SKU, then variant attributes must be defined or customized in this field based on the queried class attributes. If no variant attribute is defined, then only one SKU is allowed for an item. |
color_family |
Optional |
This is an example of a standard variant attribute, but not a generic variant attribute. Different categories may have different variant attributes. If the current category does not have a standard variant attribute or does not have a standard variant attribute that you want to use, then you can use a custom variant attribute, please refer to this document for details. |
To update a product, you need to call UpdateProduct API, the parameters of the API are the same as the 1.3 part of the Payload for creating a product, but most of the product attributes are changed to non-required, not filled in and not updated. When updating a product, you need to fill in the sku id of the target product.
{ "Request": { "Product": { "Attributes": { "name": "test 2022 02", }, "Skus": { "Sku": [ { "SkuId": "15298395971", "quantity": "3", "package_content": "laptop bag", "Status": "active", } ] } } } }
Before updating your inventory, it is recommended to read this document to understand Lazada's inventory logic and the types of inventory.
(No other APIs can update the inventory of a Market Ease Model seller except the two in the example)
{ "Request": { "Product": { "Attributes": {}, "Skus": { "Sku": [ { "SkuId": "2351235125", "quantity": "3" } ] } } } }
<Request> <Product> <Skus> <Sku> <SkuId>234</SkuId> <SellableQuantity>20</SellableQuantity> </Sku> <Sku> <SkuId>234</SkuId> <SellableQuantity>-20</SellableQuantity> </Sku> </Skus> </Product> </Request>
Please refer to this document.