This section covers all product-related entities, including physical products, events, and bookable services. The unified Product Object allows you to manage inventory, pricing, and availability across different product types. This object encapsulates essential information such as pricing, inventory tracking, availability, and variant configurations.
Inheritance Logic
Variants may override certain fields like
price
, status
, or track_stock
. If these fields are not explicitly provided, the variant will inherit them from the main product definition.This allows flexibility in configuring individual variant behaviors while minimizing data repetition.
The Product Object ensures all necessary data for e-commerce, inventory, and service listings is structured in a unified format that can support dynamic interfaces like search, booking, or purchase workflows.
Product Object
Field | Type | Required | Description |
id | String | Yes | Unique identifier for the product. |
name | String | Yes | Product name. |
description | String | Optional | Description of the product. |
price | Number | Yes | Base price of the product. |
compare_at_price | Number | Optional | Original price for comparison (e.g., discount). |
cost | Number | Optional | Cost of the product. |
category | String | Yes | Product category (e.g., product, booking, event). |
status | String | Yes | Product status. 'A' = Active. |
app_id | String | Yes | App identifier the product belongs to. |
business_channel_id | String | Yes | Business Channel that owns the product. |
track_stock | Boolean | Optional | Indicates if stock is tracked. |
in_stock | Boolean | Optional | Indicates if the product is in stock. |
is_taxable | Boolean | Optional | Indicates if the product is taxable. |
shipping_required | Boolean | Optional | Indicates if shipping is required. |
timezone | String | Optional | Product's timezone (if applicable). |
version | String | Optional | Version of the product record. |
tag | Array of Strings | Optional | Tags assigned to the product. |
image | Array of Objects | Optional | Images of the product. |
collection | Array of Objects | Optional | Collections the product belongs to. |
option | Array of Objects | Optional | Variant options for the product (e.g., Size, Color). |
variant | Array of Objects | Optional | List of product variants. |
created_date | String | Yes | Creation timestamp. |
updated_date | String | Optional | Last updated timestamp. |
Variant Object (Array of Variants)
Field | Type | Required | Description |
id | String | Yes | Unique ID for the variant. |
parent_id | String | Yes | Parent product ID. |
option1 | String | Optional | First variant option value (e.g., "Large"). |
price | Number | Yes | Variant price. |
compare_at_price | Number | Optional | Variant compare price (for discounts). |
track_stock | Boolean | Optional | Whether this variant tracks inventory. |
in_stock | Boolean | Optional | Indicates if variant is in stock. |
is_taxable | Boolean | Optional | Indicates if taxable. |
shipping_required | Boolean | Optional | If shipping is required. |
type | Number | Optional | Type indicator for the variant. |
category | String | Optional | Variant category (e.g., product). |
status | String | Optional | Variant status. 'A' = Active. |
app_id | String | Yes | App the variant belongs to. |
business_channel_id | String | Yes | Channel/group for the variant. |
Option Object (Array of Options)
Field | Type | Required | Description |
id | String | Yes | ID of the option (e.g., option1 ). |
name | String | Yes | Name of the option (e.g., "Size"). |
values | Array of Strings | Yes | Available values (e.g., ["S", "M", "L"] ). |
Image Object (Array of Images)
Field | Type | Required | Description |
url | String | Yes | Image URL. |
width | Number | Optional | Image width in pixels. |
height | Number | Optional | Image height in pixels. |
Collection Object (Array of Collections)
Field | Type | Required | Description |
id | String | Yes | Collection ID. |
name | String | Yes | Name of the collection. |
image | Array | Optional | Optional image(s) for the collection. |
Object
json{ "id": "5121419845126176", "app_id": 90090684293000559, "business_channel_id": 90090684293000559, "name": "Black T-shirt", "description": "Cotton T-shirt for Men", "price": 50.0, "cost": 0, "timezone": "America/Toronto", "track_stock": false, "in_stock": null, "is_taxable": false, "shipping_required": false, "tag": [], "version": "L0hmcA", "created_date": "2025-04-02 13:56:34", "updated_date": "2025-04-02 14:15:17", "category": "product", "status": "A", "image": [ { "width": 235, "url": "https://m1.nandbox.ca/v1/AUTH_137b624a8e434c4e88e9be30fa5e7bed/g/90090684293000559_b7010f02ed0d2a57ace1df2607986f0fa2a9ed3fff30caedcba7fa9c21a6451c.jpg?temp_url_sig=c5c3d17d11b1e5093552242cc62d1ff95c068cea&temp_url_expires=2059844191", "height": 275 } ], "compare_at_price": 0.0, "variant": [ { "compare_at_price": 0, "business_channel_id": 90090684293000559, "price": 50, "parent_id": "5121419845126176", "option1": "Large", "track_stock": false, "in_stock": null, "is_taxable": false, "shipping_required": false, "id": "5121792017126173", "type": 2, "category": "product", "app_id": 90090684293000559, "status": "A" }, { "compare_at_price": 0, "business_channel_id": 90090684293000559, "price": 50, "parent_id": "5121419845126176", "option1": "Medium", "track_stock": false, "in_stock": null, "is_taxable": false, "shipping_required": false, "id": "5121362976126174", "type": 2, "category": "product", "app_id": 90090684293000559, "status": "A" }, { "compare_at_price": 0, "business_channel_id": 90090684293000559, "price": 50, "parent_id": "5121419845126176", "option1": "Small", "track_stock": false, "in_stock": null, "is_taxable": false, "shipping_required": false, "id": "5121705203126175", "type": 2, "category": "product", "app_id": 90090684293000559, "status": "A" } ], "collection": [ { "image": [ { "width": 720, "url": "https://m1.nandbox.ca/v1/AUTH_137b624a8e434c4e88e9be30fa5e7bed/g/null073734a35fbf6f2374c2cfe1080a2c3eb28a64f8c75fc7ba0ef6d7b7fe3520af.jpg?temp_url_sig=3d864d3723b85e6ebce8c99231419781818ebbc1&temp_url_expires=2059203944", "height": 340 } ], "name": "New Collection", "id": "5121960361126208" } ], "option": [ { "values": [ "Large", "Medium", "Small" ], "name": "Size", "id": "option1" } ] }