How to create a product
This guide will walk you through the process of creating and publishing a product, from gathering required metadata to submitting it via the "Upsert Product" endpoint.
Determine available countries and locales
Use the List countries
endpoint to get the countries and locales your merchant account has been linked to.
Countries determine:
Where the product will be published.
Which prices must be defined.
Locales determine:
Which languages are available for product descriptions.
Determine product metadata
Before creating a product, gather the necessary information and identifiers from the API.
Find the product category
Use the List Categories
endpoint to search available product categories and retrieve the category ID.
Get the required attributes
Once the category is selected:
Call
List Attribute Groups
with thecategory_id
to get:Required attributes
Available colors
Sizes
Brands
Material groups (e.g. "Lining", "Shell") and materials
Creating the product
Drafting the product
Now that you've gathered all the necessary metadata, you're ready to draft your product.
Material compositions
Depending on the product category, you'll need to provide either a textile or non-textile material composition.
The composition is a mapping of:
Cluster (e.g.,
Lining
,Shell
) frommaterial_group
→ to Materials (e.g.,
Cotton
,Leather
) frommaterial
Textile materials require a
fraction
field for each component.
Example: Lining made of Cotton, Material made of Leather
[
{
"cluster_id": 164593, // Lining
"components": [
{
"material_id": 293177, // Cotton
"fraction": 100
}
]
},
{
"cluster_id": 164588, // Material
"components": [
{
"material_id": 186717, // Leather
"fraction": 100
}
]
},
]
Putting everything together
Use the Upsert Product
endpoint to create or update your product.
Example Payload
{
"items": [
{
"style_key": "<your_style_key>",
"sku": "<your_sku>",
"ean": "<your_ean>",
"hs_code": "<your_hs_code>",
"name": "<your_product_name>",
"descriptions": {
"<locale_1>": "<description_in_locale_1>",
"<locale_2>": "<description_in_locale_2>"
},
"color": <color_id>,
"size": <size_id>,
"second_size": <second_size_id>|null,
"brand": <brand_id>,
"category": <category_id>,
"quantity": <your_product_quantity>,
"weight": <product_weight>,
"countries": [
"<country_code_1>", "<country_code_2>"
],
"country_of_origin": "<country_of_origin_code>",
"attributes": [
<attribute_ids>
],
"material_composition_textile": [
{
"cluster_id": <material_group_1_id>,
"components": [
{
"material_id": <material_1_id>,
"fraction": <material_1_fraction>
}
]
}
],
"prices": [
{
"country_code": "<country_code_1>",
"retail_price": <your_retail_price>,
"sale_price": <your_sale_price>
},
{
"country_code": "<country_code_2>",
"retail_price": <your_retail_price>,
"sale_price": <your_sale_price>
}
],
"images": ["<your_product_image_urls>"]
}
]
}
Publishing the draft product
After creation and updates of the draft product, it can be published using the Update Product Status
.
Example Payload
{
"items": [
{
"style_key": "<product_style_key>",
"status": "published"
}
]
}
Last updated
Was this helpful?