Skip to content

About Product Variant

Access scope

Multiple access scopes needed — refer to each endpoint for access scope requirements.

Product Variants are different specifications or versions of the same product, often distinguished by attributes such as color and size.The Product Variants APIs provide a suite of RESTful interfaces for detailed management of these variants, including creation, retrieval, update, and deletion operations.

Core Features

  • Basic Operations: Create variant, update variant, delete variant.
  • Variant Information Query: List variants, get variant details, count variants.

Use Cases

  • SKU Management: Merchants can create and manage multiple variants of a product (such as different colors and sizes) through the API, enabling efficient multi-SKU product management and meeting diverse customer demands.
  • Inventory Management: Through the API, warehouse management systems can update inventory status based on variant information, ensuring accurate inventory data for each variant and facilitating inventory control.
  • Quick Product Updates: Merchants can rapidly update variant prices, inventory, and other information to adapt to market changes and maintain product information timeliness and competitiveness.

Endpoints

EVENT variants/inStock: Variant Connect Location

EVENT variants/outOfStock: Variant Disconnect Location

Product Variant Object

The product variant object.

Properties

productVariantobject
A variant represents a specific sellable version of a product, defined by a unique combination of options.
- Hide child properties
variantIdnumber
The unique numeric identifier for the product variant.
productIdnumber
The unique numeric identifier for the product.
skustring
A unique case-sensitive identifier for the product variant in the shop.
barcodestring
The barcode, UPC, or ISBN number for the product.
compareOfPricenumber
The original price of the item before an adjustment or a sale.
pricenumber
The price of the product variant.
costPricenumber
The cost price of product variant.
weightnumber
The weight of the product variant in the unit system specified with weightUnit.
weightUnitstring
The unit of measurement that applies to the product variant's weight. If you don't specify a value for weightUnit, then the shop's default unit of measurement is applied. Valid values: g, kg, oz, and lb.
isDisabledboolean
Whether the product variant is disabled.
inventoryManagementboolean
The fulfillment service that tracks the number of items in stock for the product variant.
optionsarray
The custom properties that a shop owner uses to define product variants.
+ Show child properties
inventoryQuantitiesarray
The inventory quantity information.
+ Show child properties
bash
{
  "productVariant": {
    "inventoryManagement": "true",
    "productId": "102744460756584",
    "costPrice": "3",
    "weight": "1",
    "compareOfPrice": "22",
    "inventoryQuantities": [
      {
        "locationId": "50002",
        "available": "666"
      }
    ],
    "price": "10",
    "options": [
      {
        "name": "size",
        "id": "10034623756584",
        "position": "1",
        "value": {
          "name": "L",
          "id": "10167791756584",
          "position": "1"
        }
      }
    ],
    "variantId": "107362030756584",
    "isDisabled": "false",
    "sku": "P001",
    "barcode": "AXOYX49XOPEX6",
    "weightUnit": "kg"
  }
}

EVENT Variant Connect Location

Occurs whenever an inventory is connected.

Access scope

Requires ANY of the following access scopes: write_products read_products

Topic

EVENT variants/inStock 

Event Data

inventoryobject
- Hide child properties
productIdnumber
The unique numeric identifier for the product.
locationIdnumber
The ID of the location that the product variant belongs to.
availablenumber
Available inventory.
variantIdnumber
The unique numeric identifier for the product variant.
json
{
  "inventory": {
    "productId": "102744589756584",
    "locationId": "54002",
    "available": "100",
    "variantId": "107362235756584"
  }
}

EVENT Variant Disconnect Location

Occurs whenever an inventory level is disconnected.

Access scope

Requires ANY of the following access scopes: write_products read_products

Topic

EVENT variants/outOfStock 

Event Data

inventoryobject
- Hide child properties
productIdnumber
The unique numeric identifier for the product.
locationIdnumber
The ID of the location that the product variant belongs to.
availablenumber
Available inventory.
variantIdnumber
The unique numeric identifier for the product variant.
json
{
  "inventory": {
    "productId": "102744589756584",
    "locationId": "54002",
    "available": "100",
    "variantId": "107362235756584"
  }
}