Skip to main content

Shopify Migration Guide

Upgrading to 2.1.0

This version implements Shopify GraphQL BULK Operations to speed up the following streams:

  • Products
  • Product Images
  • Product Variants
  • In the Products stream, the published_scope property is no longer available.
  • In the Products stream, the images property now contains only the id of the image. Refer to the Product Images stream instead.
  • In the Products stream, the variants property now contains only the id of the variant. Refer to the Product Variants stream instead.
  • In the Products stream, the position property is no longer available.
  • The Product Variants stream now has the cursor field updated_at instead of id.
  • In the Product Variants stream, the date-time fields, such as created_at and updated_at, now use UTC format without a timezone component.
  • In the Product Variants stream, the presentment_prices.compare_at_price property has changed from a number to an object of strings. This field was not populated in the REST API stream version, but it is correctly covered in the GraphQL stream version.
  • The Product Variants stream's inventory_policy and inventory_management properties now contain uppercase string values, instead of lowercase.
  • In the Product Images stream, the date-time fields, such as created_at and updated_at, now use UTC format without a timezone component.
  • In the Product Images stream, the variant_ids and position properties are no longer available. Refer to the Product variants stream instead.
  • Retrieving the deleted records for Products, Product Images and Product Variants streams are no longer available, due to the GraphQL limitations.

Action items required for 2.1.0

  • Refresh Schema + Reset is required for this stream after the upgrade from previous version.

Upgrading to 2.0.0

This version implements Shopify GraphQL BULK Operations to speed up the following streams:

  • Collections
  • Customer Address
  • Discount Codes
  • Fulfillment Orders
  • Inventory Items
  • Inventory Levels
  • Metafield Collections
  • Metafield Customers
  • Metafield Draft_orders
  • Metafield Locations
  • Metafield Orders
  • Metafield Product Images
  • Metafield Product Variants
  • Transactions Graphql (duplicated Transactions stream to provide faster fetch)

Increased the performance for the following streams:

  • Fulfillments
  • Order Refunds
  • Product Images
  • Product Variants

Other bug fixes and improvements, more info: https://github.com/airbytehq/airbyte/pull/32345

Action items required for 2.0.0

  • The Fulfillments stream now has the cursor field updated_at, instead of the id.

  • The Order Refunds stream, now has the schema refund_line_items.line_item.properties to array of strings, instead of object with properties.

  • The Fulfillment Orders stream now has the supported_actions schema as array of objects instead of array of strings.

  • The Collections stream now requires additional api scope read_publications to fetch the published_at field with GraphQL BULK Operations.

    • if API_PASSWORD is used for authentication:
      • BEFORE UPDATING to the 2.0.0: update your Private Developer Application scopes with read_publications and save the changes, in your Shopify Account.
    • if OAuth2.0 is used for authentication:
      • re-auth in order to obtain new scope automatically, after the upgrade.
    • Refresh Schema + Reset is required for these streams after the upgrade from previous version.

Upgrading to 1.0.0

This version uses Shopify API version 2023-07 which brings changes to the following streams:

  • removed gateway, payment_details, processing_method properties from Order stream, they are no longer supplied.
  • added company, confirmation_number, current_total_additional_fees_set, original_total_additional_fees_set, tax_exempt, po_number properties to Orders stream
  • added total_unsettled_set, payment_id to Transactions stream
  • added return property to Order Refund stream
  • added created_at, updated_at to Fulfillment Order stream

Action items required for 1.0.0

  • The reset and full-refresh for Orders stream is required after upgrading to this version.