Migrate to catalogs
The Catalog
object connects product publications with buyer contexts. This resource enables apps to create product catalogs that can be targeted to specific markets or business-to-business (B2B) company locations. In the future, the Catalog
object will be used to contextualize more aspects of merchandising, such as B2B quantity rules, volume pricing, and discounts.
In this guide, you'll learn how to migrate your app to use catalogs instead of context rules.
Requirements
Anchor link to section titled "Requirements"- You've built an app that creates and manages price lists.
- Your app is on API version 2023-01 or earlier, and uses the
PriceList.contextRule
field to determine a customer's price list eligibility, instead of theCatalog
resource.
Considerations
Anchor link to section titled "Considerations"- To be eligible to use market catalogs, merchants must be using Shopify Markets. Merchants on legacy country price lists aren't eligible to use market catalogs.
- To be eligible for B2B catalogs, merchants must be on the Shopify Plus plan.
Step 1: Update price list mutations
Anchor link to section titled "Step 1: Update price list mutations"Previously, price lists were associated with markets and countries through the contextRule
field to provide international pricing. In API version 2023-04, an international price list needs to be associated with the catalog that's associated with a market or set of countries. Because of this change, you need to update the priceListCreate
and priceListUpdate
mutations to accept inputs for a catalog ID instead of the contextRule
field.
The following example shows how to use these mutations to associate a price list with a catalog:
Step 2: Update price list queries
Anchor link to section titled "Step 2: Update price list queries"Previously, you could query a price list's eligible markets and countries through the contextRule
field. In API version 2023-04, you need to query the eligible markets and countries through the catalog
field instead. Because of this, you need to update the priceList
and priceLists
queries to retrieve information through the catalog
field instead of the contextRule
field.
The following example shows how to use these queries to retrieve market information through the catalog: