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]/api/admin/rest/reference/events/webhook) 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.

GraphQL Admin API changes

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

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

Access errors in GraphQL now reference the denied resource, rather than returning a generic access denied error. Responses 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.

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_CRE