Product Upload

Shopify API

https://help.shopify.com/en/api/reference/products/product#update-2019-10

Description

Allows you to create new products or update existing ones.

It is important to note that every product within Shopify has at least a single variant. This (default) variant stores values such as price, SKU, inventory management policy & vendor information.

The Product Upload supports:

  • The ability to create a simple product i.e. a product with its default variant.
  • A product with variants i.e. colours, sizes. The product upload supports single and multiple variants i.e. multiple dimensions.

Update Mode

Insert or Update

Writeback Fields

  • id
    • The Shopify assigned product id.
  • variant_id
    • The Shopify assigned to the default variant.

Simple Product Handling

To create a simple product i.e. a product with a default/single variant simply map its fields. The fields listed after the variant_id field are the default variant fields.

To update an existing product both the product id and variant_id fields must both be specified otherwise a new variant will be created.

Products With Variants

To create/update products with more than the multiple variants, it is necessary to have each variant as a child to the primary product.

Each variant is discriminated by mapping a distinct value to the option1 field.

The variants are listed in the Variants section of the Shopify product setup.

Update Handling

To update products with variants it is necessary to map the 'id' field on the product, and each variant record must map the 'variant_id' field. If the 'variant_id' is empty a new variant record will be added to the product.

Multiple Variant/Matrix Handling

For products with two or three dimensions i.e. a product with both colour and size it is necessary to also map the 'Options' child. The Options child specifies each dimension's name and possible values.

The screenshot below shows a product with multiple 'Option' records.

The first Option specifies the Colour and the second Option is the size. Each variant record would map the option1 and option2 fields.