CData Python Connector for Shopify

Build 25.0.9454

ProductVariants

Stores variant-level data for products, including SKU, option values, price, and inventory management fields.

Table-Specific Information

Select

The connector uses the Shopify API to process WHERE clause conditions built with the following columns and operators. The connector processes other filters client-side within the connector.

  • Id supports the '=, IN' comparison operators.
  • ProductId supports the '=, !=' comparison operators.
  • Barcode supports the '=, !=' comparison operators.
  • Sku supports the '=, !=' comparison operators.
  • Title supports the '=, !=' comparison operators.
  • UpdatedAt supports the '=, !=, <, >, >=, <=' comparison operators.
  • Taxable supports the '=, !=' comparison operators.
  • DeliveryProfileId supports the '=, !=' comparison operators.
  • LocationInventoryQuantity supports the '=, <, >, >=, <=' comparison operators.

For example, the following queries are processed server-side:

  SELECT * FROM ProductVariants WHERE Id = 'Val1'
  SELECT * FROM ProductVariants WHERE ProductId = 'Val1'
  SELECT * FROM ProductVariants WHERE Barcode = 'Val1'
  SELECT * FROM ProductVariants WHERE Sku = 'Val1'
  SELECT * FROM ProductVariants WHERE Title = 'Val1'
  SELECT * FROM ProductVariants WHERE UpdatedAt = '2023-01-01 11:10:00'
  SELECT * FROM ProductVariants WHERE Taxable = true
  SELECT * FROM ProductVariants WHERE DeliveryProfileId = 'Val1'
  SELECT * FROM ProductVariants WHERE LocationInventoryQuantity = 123

Insert

The following columns can be used to create a new record:

ProductId, Barcode, Price, CompareAtPrice, TaxCode, Taxable, InventoryPolicy, InventoryItemUnitCostAmount, InventoryItemHarmonizedSystemCode, InventoryItemMeasurementWeightValue, InventoryItemMeasurementWeightUnit, InventoryItemRequiresShipping, InventoryItemTracked

The following pseudo-columns can be used to create a new record:

MediaId, MediaSrc, InventoryQuantities (references InventoryItemInventoryLevelQuantities), OptionValues (references ProductOptionValues), Metafields (references Metafields), Strategy

InventoryItemInventoryLevelQuantities Temporary Table Columns

Column NameTypeDescription
InventoryLevelLocationIdStringA globally-unique ID.
QuantityIntThe quantity for the quantity name.

ProductOptionValues Temporary Table Columns

Column NameTypeDescription
ProductOptionIdStringA globally-unique ID.
ProductOptionNameStringThe product option's name.
IdStringA globally-unique ID.
NameStringValue associated with an option.
LinkedMetafieldValueStringMetafield value associated with an option.

Metafields Temporary Table Columns

Column NameTypeDescription
IdStringThe unique ID of the metafield.
NamespaceStringA container for a set of metafields. You need to define a custom namespace for your metafields to distinguish them from the metafields used by other apps.
KeyStringThe name of the metafield.
ValueStringThe information to be stored as metadata.
TypeStringThe metafield's information type.

Update

The following columns can be updated:

ProductId, Barcode, Price, CompareAtPrice, TaxCode, Taxable, InventoryPolicy, InventoryItemUnitCostAmount, InventoryItemHarmonizedSystemCode, InventoryItemMeasurementWeightValue, InventoryItemMeasurementWeightUnit, InventoryItemRequiresShipping, InventoryItemTracked

The following pseudo-columns can be used to update a record:

MediaId, MediaSrc, OptionValues (references ProductOptionValues), Metafields (references Metafields), AllowPartialUpdates

ProductOptionValues Temporary Table Columns

Column NameTypeDescription
ProductOptionIdStringA globally-unique ID.
ProductOptionNameStringThe product option's name.
IdStringA globally-unique ID.
NameStringValue associated with an option.
LinkedMetafieldValueStringMetafield value associated with an option.

Metafields Temporary Table Columns

Column NameTypeDescription
IdStringThe unique ID of the metafield.
NamespaceStringA container for a set of metafields. You need to define a custom namespace for your metafields to distinguish them from the metafields used by other apps.
KeyStringThe name of the metafield.
ValueStringThe information to be stored as metadata.
TypeStringThe metafield's information type.

Delete

You can delete entries by specifying the following columns:

Id, ProductId

Columns

Name Type ReadOnly References Description
Id [KEY] String True

A globally unique identifier for the product variant record.

LegacyResourceId Long True

The numeric identifier of the corresponding resource in the REST Admin API, used for backward compatibility.

ProductId String False

Products.Id

The globally unique identifier of the parent product associated with this variant.

Position Int True

The position of the variant in the product's variant list. The first position is numbered 1.

DisplayName String True

The display name of the variant, typically combining the product title with the variant's option values.

Barcode String False

The barcode, UPC, or ISBN value assigned to the product variant for identification and scanning purposes.

Sku String True

The stock keeping unit (SKU) that uniquely identifies the variant in the shop and fulfillment systems. Required for integration with fulfillment services.

Title String True

The title of the product variant, usually representing its distinguishing option values, such as 'Red / Large'.

RequiresComponents Bool True

Indicates whether this variant requires bundle components. If true, the variant can only be purchased as part of a bundle and is excluded from sales channels that don't support bundles.

UpdatedAt Datetime True

The timestamp of the most recent update made to the product variant.

CreatedAt Datetime True

The timestamp indicating when the variant was created in Shopify.

SelectedOptions String True

A list of the product option names and values that define this variant, such as 'Size: Medium, Color: Blue'.

AvailableForSale Bool True

Indicates whether the variant is currently available for sale on any channel.

Price Decimal False

The price of the product variant in the shop's base currency.

CompareAtPrice Decimal False

The original or reference price of the variant, displayed as a compare-at price to indicate a discount.

TaxCode String False

The tax classification code applied to the product variant for compliance and reporting.

Taxable Bool False

Indicates whether sales tax is charged when the product variant is sold.

SellableOnlineQuantity Int True

The total quantity of the variant available for online sales. This does not always represent total stock across all locations.

SellingPlanGroupsCount Int True

The number of selling plan groups (such as subscription plans) associated with this variant.

SellingPlanGroupsCountPrecision String True

Indicates the accuracy of the selling plan group count, such as 'exact' or 'estimated'.

DeliveryProfileId String True

The globally unique identifier of the delivery profile that defines how this variant is shipped.

InventoryPolicy String False

Specifies whether customers can purchase the variant when it is out of stock, following policies like 'deny' or 'continue'.

InventoryQuantity Int True

The total quantity of this variant available for sale across all managed locations.

InventoryItemId String True

The globally unique identifier of the inventory item linked to this variant.

InventoryItemUnitCostAmount Decimal False

The unit cost of the inventory item, representing the merchant's cost price.

InventoryItemUnitCostCurrencyCode String True

The ISO 4217 currency code for the inventory item's unit cost, such as USD or EUR.

InventoryItemHarmonizedSystemCode String False

The harmonized system (HS) code used for international customs classification of the item.

InventoryItemMeasurementWeightValue Double False

The numeric weight value of the item, based on the specified measurement unit.

InventoryItemMeasurementWeightUnit String False

The unit of measurement used for the weight value, such as 'kg' or 'oz'.

InventoryItemRequiresShipping Bool False

Indicates whether the inventory item requires shipping. Digital goods typically return false.

InventoryItemTracked Bool False

Indicates whether inventory tracking is enabled for this item. When true, stock levels are monitored by Shopify.

ImageId String True

The globally unique identifier of the image associated with this variant.

ImageAltText String True

Alternative text describing the content or purpose of the variant image for accessibility or SEO.

ImageHeight Int True

The height of the variant image in pixels. Returns null if the image is not hosted by Shopify.

ImageWidth Int True

The width of the variant image in pixels. Returns null if the image is not hosted by Shopify.

ImageUrl String True

The URL where the variant image is hosted and accessible.

UnitPriceMeasurementMeasuredType String True

Specifies the type of measurement used for unit pricing, such as 'volume' or 'weight'.

UnitPriceMeasurementQuantityUnit String True

Defines the quantity unit for unit price measurement, such as 'ml', 'g', or 'oz'.

UnitPriceMeasurementQuantityValue Double True

The numeric value representing the measured quantity for the unit price calculation.

UnitPriceMeasurementReferenceUnit String True

The reference unit used to calculate the standardized unit price, such as '100ml' or '1kg'.

UnitPriceMeasurementReferenceValue Int True

The numeric value representing the reference amount for the unit price measurement.

LocationInventoryQuantity Int True

Filters or reports the available inventory quantity for the variant at specific locations.

Pseudo-Columns

Pseudo-columns are fields that can only be used in the types of statements under which they are explicitly listed. They are not standard columns but instead provide additional functionality for specific operations.

Name Type Description
MediaId String

The identifier of the media file (such as an image or video) to associate with this variant.

MediaSrc String

The URL of the media file associated with this variant.

InventoryQuantities String

A list of inventory quantities for this variant at each stocked location. The list size is limited by the merchant's plan.

OptionValues String

A list of option values defining this variant, representing the specific selections of the parent product's options.

Metafields String

Holds custom metadata fields used to extend the variant with additional attributes or integration data.

Strategy String

Defines how variant behavior is handled when new variants are created. 'DEFAULT' retains the single default variant; 'REMOVE_STANDALONE_VARIANT' deletes the default variant when new variants are generated.

The allowed values are DEFAULT, REMOVE_STANDALONE_VARIANT.

AllowPartialUpdates Bool

Determines whether valid variant updates are saved when some variants fail validation. If true, successful updates are applied while invalid ones are skipped; if false, all updates are rolled back on error.

Copyright (c) 2025 CData Software, Inc. - All rights reserved.
Build 25.0.9454