2020-07 release notes

Release date Date version is no longer supported
July 2, 2020 July 2, 2021

The 2020-07 release contains changes to support AWS EventBridge integration, annual billing through the Shopify Billing API, and better errors in GraphQL. This release also offers more flexible explicit discounts, exposes tips on orders, and extends locale-specific support for collecting additional information at checkout.

What’s new in 2020-07

The following features were added in version 2020-07 of Shopify's APIs.

  • Apps now support integration with Amazon EventBridge to receive Shopify webhooks using an event bus. As a result, Webhooks now support ARN addresses.
  • Shopify's Billing API now offers annual billing in GraphQL.
  • Access errors in GraphQL now reference the denied resource, rather than returning a generic access denied error.
  • The CPF/CNPJ can now be collected at checkout for merchants in Brazil. This information is exposed through the API using a new localizationExtensions connection.
  • The total tip amount received on an order is now available via Order.totalTipReceived.
  • The API now offers additional data on domains associated with a given shop using the new shop.domains field and webhook events.

Breaking changes

These changes require special attention. If your app uses these API resources and you don’t upgrade to a more recent API version, then your app will break.

Allocation method for discounts

We updated the allocation method for discounts that have set the target_selection as explicit. Previously, Shopify applied these discounts to a single line item, which corresponded to an allocation method of one. With this change, the allocation methods will instead include each and across.

We've made this change to simplify the discount syntax, as one and across functionally both discount the final price by a set amount.

Product variant resource

The deprecated images value was removed from object type ProductVariant.

Improved access errors in GraphQL

As of 2020-07, we are refining the error messages for GraphQL documents if the app does not have the required access scope(s). Currently, if an app does not have the required access scope, the error message returned is “access denied”. From 2020-07, the message returned will be “Access denied for <field-name>. Required access: <access scope required> access scope”.

GraphQL Admin API changes

Below are all the changes currently introduced in the 2020-07 version of the GraphQL Admin API.

Access errors in GraphQL now reference the denied resource, rather than returning a generic access denied error. Responses will now also include Extensions, which consist of an error code, link to necessary documentation, and the name of the required access scope. Learn more about access scopes in our documentation.

Removed field

ONE value was removed from enum DiscountApplicationAllocationMethod. ACROSS is returned in its place as the meaning is the same for explicit discounts.

The following changes were made to the ProductVariant resource:

Removed field

  • images value was removed from object type ProductVariant

The localizationExtensions field was added to the order object. For more information, see Get a tax ID using localization extensions .

New fields

  • localizationExtensions was added to object type Order
  • totalTipReceived was added to object type Order

New types

  • LocalizationExtension was added
  • LocalizationExtensionPurpose enum was added

A new field was added to the BulkOperation resource.

New fields

  • rootObjectCount was added to object type BulkOperation

A new field was added to the Customer resource.

New fields

  • multipassIdentifier was added to object type Customer

A new field was added to the DraftOrder resource.

New fields

  • ready was added to object type DraftOrder

You can now create annual billing subscriptions for your apps. To learn more, refer to Create an annual subscription.

New fields

  • interval was added to input object type AppRecurringPricingInput

Updated types

  • ANNUAL value was added to enum AppPricingInterval

You can now query a shop's localized domains and subscribe to domain event webhooks.

New fields

  • localization was added to object type Domain
  • domains was added to object type Shop

New types

  • DomainLocalization was added

Updated types

  • DOMAINS_UPDATE value was added to enum WebhookSubscriptionTopic
  • DOMAINS_DESTROY value was added to enum WebhookSubscriptionTopic
  • DOMAINS_CREATE value was added to enum WebhookSubscriptionTopic

New fields

  • localizationExtensions was added to object type Order

New types

  • LocalizationExtensionEdge was added
  • LocalizationExtension was added
  • HasLocalizationExtensions was added
  • LocalizationExtensionPurpose was added
  • LocalizationExtensionConnection was added

The endpoint field of type WebhookSubscriptionEndpoint was added to the webhook subscription object. This replaces the callbackUrl field. New create and update mutations were added to support EventBridge webhook subscriptions. For more information, see Managing webhook events with AWS EventBridge.

New fields

  • endpoint was added to object type WebhookSubscription

New types

  • WebhookSubscriptionEndpoint was added
  • WebhookEventBridgeEndpoint was added
  • WebhookHttpEndpoint was added
  • EventBridgeWebhookSubscriptionUpdatePayload was added
  • EventBridgeWebhookSubscriptionInput was added
  • EventBridgeWebhookSubscriptionCreatePayload was added
  • ARN was added

New mutations

  • EventBridgeWebhookSubscriptionCreate was added
  • EventBridgeWebhookSubscriptionUpdate was added

REST Admin API changes

Below are all the changes currently introduced in the 2020-07 version of the REST Admin API.

Removed field

one value was removed from allocation_method in the Order resource. across is returned in its place as the meaning is the same for explicit discounts.

You can now subscribe to domain event webhooks.

New topics

The following changes have been made to the Webhook resource.

The Webhook resource was updated to support EventBridge webhook subscriptions. For more information, see Managing webhook events with AWS EventBridge.

Updated properties

  • address property was updated to accept a URI or an EventBridge event source ARN.

Storefront API changes

Below are all the changes introduced in the 2020-07 version of the Storefront API.

A new error code was added to CheckoutErrorCode.

Updated types

  • DISCOUNT_ALREADY_APPLIED was added to enum CheckoutErrorCode