Product
Version 1.0
The Product Entity serves as the cornerstone of our platform, acting as the definitive source of truth for marketplaces. Designed to be the central hub for all product-related information, this entity empowers merchants with a robust and reliable foundation for managing their offerings across diverse channels. From fundamental details such as product descriptions, pricing, and inventory levels to more nuanced elements like variants and rich media assets, the Product Entity captures and organizes comprehensive data with precision. Its role extends beyond mere storage; it forms the backbone of a seamless and synchronized marketplace ecosystem, ensuring consistency and accuracy across all touchpoints. Merchants can confidently rely on the Product Entity to be the authoritative source, fostering trust and reliability in the marketplace and providing a solid foundation for successful e-commerce operations.
Product Entity
- Name
id
- Type
- string Required
- Description
Every product is assigned a unique identifier - an unsigned 64-bit integer known as the Product ID. This specific number is exclusive and distinct across the whole Qooly platform. Ensuring an unparalleled level of uniqueness, no two products.
- Name
brand_id
- Type
- foreignId
- Description
This serves as a unique, distinct identifier, specific to each brand in Qooly's system. As a distinct numerical value, the 'brand_id' provides a reliable reference to every individual brand, irrespective of the number of brands on the platform.
- Name
metadata_id
- Type
- foreignId
- Description
This serves as a unique, distinct identifier, specific to each metadata in Qooly's system. As a distinct numerical value, the 'metadata_id' provides a reliable reference to every individual metadata, irrespective of the number of metadata on the platform.
- Name
image_id
- Type
- foreignId Required
- Description
This serves as a unique, distinct identifier, specific to each image in Qooly's system. As a distinct numerical value, the 'image_id' provides a reliable reference to every individual image, irrespective of the number of images on the platform.
This is main image of the product
- Name
is_tangible
- Type
- boolean
- Description
This property indicates whether the product is physical or digital. If the product is physical, the value is true. If the product is digital, the value is false.
Default: TRUE
- Name
has_details
- Type
- boolean
- Description
This property indicates whether the product has details or not. If the product has details, the value is true. If the product has no details, the value is false.
Default: FALSE
- Name
has_pricing
- Type
- boolean
- Description
This property indicates whether the product has pricing options or not. If the product has pricing, the value is true. If the product has no pricing, the value is false.
Products with no pricing are not purchasable
Default: FALSE
- Name
is_organized
- Type
- boolean
- Description
This property indicates whether the product is organized or not. If the product is organized, the value is true. If the product is not organized, the value is false.
Default: FALSE
- Name
is_published
- Type
- boolean
- Description
This property indicates whether the product is published to the platforms or not. If the product is published, the value is true. If the product is not published, the value is false.
Products with
is_published
set tofalse
are not listed through channels
Default: FALSE
- Name
needs_review
- Type
- boolean
- Description
This property indicates whether the product needs review or not. If the product needs review, the value is true. If the product does not need review, the value is false.
Default: TRUE
- Name
out_of_sync
- Type
- boolean
- Description
This property indicates whether the product is out of sync or not. If the product is out of sync, the value is true. If the product is not out of sync, the value is false.
Default: FALSE
- Name
syncing_paused_at
- Type
- timestamp
- Description
This property indicates the time in ISO_8601 when the product was paused from syncing.
Default: NULL
- Name
status
- Type
- varchar(16)
- Description
This property indicates the status of the product.
Default: DRAFT
Draft
The product is in draft mode. This is the default status for new products. Enabled
The product is enabled. This means that the product is available for purchase through channels. Disabled
The product is disabled. This means that the product is not available for purchase through channels. Archived
The product is archived for future reference. - Name
name
- Type
- varchar(255) Required
- Description
This property indicates the name of the product.
- Name
model_type
- Type
- varchar(16) Required
- Description
This property indicates the model type of the product.
Simple
The product is a simple product. Variable
The product has variants Bundle
The product has multiple products bundled together Kit
The product is a kit - Name
product_code
- Type
- varchar(64)
- Description
This property indicates the product code of the product.
- Name
product_category
- Type
- varchar(255)
- Description
This property indicates the product category of the product.
- Name
product_type
- Type
- varchar(255)
- Description
This property indicates the product type of the product.
- Name
product_lifecycle_status
- Type
- varchar(64)
- Description
This property indicates the product lifecycle status of the product.
- Name
weight
- Type
- varchar(16)
- Description
This property indicates the weight of the product.
- Name
weight_unit
- Type
- varchar(8)
- Description
This property indicates the weight unit of the product.
- Name
size_unit
- Type
- varchar(8)
- Description
This property indicates the size unit of the product. This is used for
length
,width
, andheight
.
- Name
length
- Type
- varchar(16)
- Description
This property indicates the length of the product.
- Name
width
- Type
- varchar(16)
- Description
This property indicates the width of the product.
- Name
height
- Type
- varchar(16)
- Description
This property indicates the height of the product.
- Name
country_of_origin
- Type
- varchar(2)
- Description
This property indicates the country of origin of the product. This is a two-letter country code.
- Name
commodity_description
- Type
- varchar(255)
- Description
This property indicates the commodity description of the product.
- Name
taxable
- Type
- boolean
- Description
This property indicates whether the product is taxable or not. If the product is taxable, the value is true. If the product is not taxable, the value is false.
Default: FALSE
- Name
tax_code
- Type
- varchar(16)
- Description
This property indicates the tax code of the product.
- Name
created_at
- Type
- timestamp
- Description
This property indicates the time in ISO_8601 when the product was created.
- Name
updated_at
- Type
- timestamp
- Description
This property indicates the time in ISO_8601 when the product was last updated.
- Name
created_by
- Type
- foreignId
- Description
This property indicates the user who created the product.
- Name
updated_by
- Type
- foreignId
- Description
This property indicates the user who updated the product recently.
The Product resource
{
"id": "123456789",
"brand_id": "987654321",
"metadata_id": "456789012",
"image_id": "789012345",
"is_tangible": true,
"has_details": false,
"has_pricing": false,
"is_organized": true,
"is_published": false,
"needs_review": true,
"out_of_sync": false,
"syncing_paused_at": null,
"status": "DRAFT",
"name": "Sample Product",
"model_type": "Simple",
"product_code": "ABC123",
"product_category": "Electronics",
"product_type": "Gadget",
"product_lifecycle_status": "Active",
"weight": "1.5",
"weight_unit": "kg",
"size_unit": "cm",
"length": "10",
"width": "5",
"height": "15",
"country_of_origin": "US",
"commodity_description": "A high-quality electronic gadget.",
"taxable": false,
"tax_code": "TAX123",
"created_at": "2024-01-07T12:30:00Z",
"updated_at": "2024-01-07T14:45:00Z",
"created_by": "789012345",
"updated_by": "123456789"
}
Create a single product
This endpoint allows you to create a single product.
Required Fields
- Name
name
- Type
- varchar(16) Required
- Description
- Name
model_type
- Type
- varchar(16) Required
- Description
Simple
The product is a simple product. Variable
The product has variants Bundle
The product has multiple products bundled together Kit
The product is a kit
Examples
Create a single product
curl --request POST \
--url https://api.qooly.io/v1/products \
--header 'Content-Type: application/json' \
--data '{
"name": "Sample Product",
"model_type": "Simple",
"variants": [
{"option1": "Red", "option2": "Small"},
{"option1": "Blue", "option2": "Medium"}
]
}'
Create a single product
curl --request POST \
--url https://api.qooly.io/v1/products \
--header 'Content-Type: application/json' \
--data '{
"name": "Sample Product",
"model_type": "Simple",
"metafields": [
{"key": "m_1", "value": "Metafield1"},
{"key": "m_2", "value": "Metafield2"}
]
}'
Create a single product
curl --request POST \
--url https://api.qooly.io/v1/products \
--header 'Content-Type: application/json' \
--data '{
"name": "Sample Product",
"model_type": "Simple"
}'
{
"id": "123456789",
"status": "DRAFT",
"name": "Sample Product",
"model_type": "Simple",
"tax_code": "TAX123",
"created_at": "2024-01-07T12:30:00Z",
"created_by": "789012345",
}
Retrieve a single product
This endpoint allows you to retrieve a single product.
Required Parameters
- Name
id
- Type
- string Required
- Description
Examples
Retrieve a single product
curl --request GET \
--url https://api.qooly.io/v1/products/123456789
Retrieve a single product
curl --request GET \
--url https://api.qooly.io/v1/products/123456789
{
"id": "123456789",
"brand_id": "987654321",
"metadata_id": "456789012",
"image_id": "789012345",
"is_tangible": true,
"has_details": false,
"has_pricing": false,
"is_organized": true,
"is_published": false,
"needs_review": true,
"out_of_sync": false,
"syncing_paused_at": null,
"status": "DRAFT",
"name": "Sample Product",
"model_type": "Simple",
"product_code": "ABC123",
"product_category": "Electronics",
"product_type": "Gadget",
"product_lifecycle_status": "Active",
"weight": "1.5",
"weight_unit": "kg",
"size_unit": "cm",
"length": "10",
"width": "5",
"height": "15",
"country_of_origin": "US",
"commodity_description": "A high-quality electronic gadget.",
"taxable": false,
"tax_code": "TAX123",
"created_at": "2024-01-07T12:30:00Z",
"updated_at": "2024-01-07T14:45:00Z",
"created_by": "789012345",
"updated_by": "123456789"
}
Retrieve a count of products
This endpoint allows you to retrieve a count of products.
Examples
Retrieve a count of products
curl --request GET \
--url https://api.qooly.io/v1/products/count
Retrieve a count of products
curl --request GET \
--url https://api.qooly.io/v1/products/count
{
"count": 1
}
Update a single product
This endpoint allows you to update a single product.
Required Parameters
- Name
id
- Type
- string Required
- Description
Examples
Update a single product
curl --request PATCH \
--url https://api.qooly.io/v1/products/123456789 \
--header 'Content-Type: application/json' \
--data '{
"name": "New Name",
"model_type": "Simple"
}'
Update a single product
curl --request PATCH \
--url https://api.qooly.io/v1/products/123456789 \
--header 'Content-Type: application/json' \
--data '{
"name": "Sample Product",
"model_type": "Variable",
"variants": [
{"option1": "Red", "option2": "Small"},
{"option1": "Blue", "option2": "Medium"}
]
}'
Update a single product
curl --request PATCH \
--url https://api.qooly.io/v1/products/123456789 \
--header 'Content-Type: application/json' \
--data '{
"name": "New Name"
}'
{
"id": "123456789",
"status": "DRAFT",
"name": "New Name",
"model_type": "Variable",
"tax_code": "TAX123",
"created_at": "2024-01-07T12:30:00Z",
"created_by": "789012345",
}
Delete a single product
This endpoint allows you to delete a single product.
Required Parameters
- Name
id
- Type
- string Required
- Description
Examples
Delete a single product
curl --request DELETE \
--url https://api.qooly.io/v1/products/123456789
Delete a single product
curl --request DELETE \
--url https://api.qooly.io/v1/products/123456789
{}