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
Anchor link to section titled "Breaking changes"These changes require special attention. If your app uses these API resources, and you don’t adjust your usage of the resources according to the following instructions, then your app might break when you update to this API version.
Allocation method for discounts
Anchor link to section titled "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
Anchor link to section titled "Product variant resource"The deprecated images
value was removed from object type ProductVariant
.
GraphQL Admin API changes
Anchor link to section titled "GraphQL Admin API changes"Below are all the changes currently introduced in the 2020-07 version of the GraphQL Admin API.
Allocation method for explicit discounts
Removed field
ONE
value was removed from enum DiscountApplicationAllocationMethod. ACROSS
is returned in its place as the meaning is the same for explicit discounts.
Product variant update
The following changes were made to the ProductVariant resource:
Removed field
images
value was removed from object typeProductVariant
Improved access errors in GraphQL
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.
Localization extensions
The localizationExtensions
field was added to the order object. For more information, refer to Manage country fields using localization extensions.
New fields
localizationExtensions
was added to object typeOrder
totalTipReceived
was added to object typeOrder
New types
LocalizationExtension
was addedLocalizationExtensionPurpose
enum was added
Bulk operations
A new field was added to the BulkOperation resource.
New fields
rootObjectCount
was added to object typeBulkOperation
Customer multipass
A new field was added to the Customer resource.
New fields
multipassIdentifier
was added to object typeCustomer
Draft order
A new field was added to the DraftOrder resource.
New fields
ready
was added to object typeDraftOrder
Annual billing
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 typeAppRecurringPricingInput
Updated types
ANNUAL
value was added to enumAppPricingInterval
Localized domains
You can now query a shop's localized domains and subscribe to domain event webhooks.
New fields
localization
was added to object typeDomain
domains
was added to object typeShop
New types
DomainLocalization
was added
Updated types
DOMAINS_UPDATE
value was added to enumWebhookSubscriptionTopic
DOMAINS_DESTROY
value was added to enumWebhookSubscriptionTopic
DOMAINS_CREATE
value was added to enumWebhookSubscriptionTopic
Localization extensions
New fields
localizationExtensions
was added to object typeOrder
New types
LocalizationExtensionEdge
was addedLocalizationExtension
was addedHasLocalizationExtensions
was addedLocalizationExtensionPurpose
was addedLocalizationExtensionConnection
was added
Webhook subscriptions
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.
New fields
endpoint
was added to object typeWebhookSubscription
New types
WebhookSubscriptionEndpoint
was addedWebhookEventBridgeEndpoint
was addedWebhookHttpEndpoint
was addedEventBridgeWebhookSubscriptionUpdatePayload
was addedEventBridgeWebhookSubscriptionInput
was addedEventBridgeWebhookSubscriptionCreatePayload
was addedARN
was added
New mutations
EventBridgeWebhookSubscriptionCreate
was addedEventBridgeWebhookSubscriptionUpdate
was added
REST Admin API changes
Anchor link to section titled "REST Admin API changes"Below are all the changes currently introduced in the 2020-07 version of the REST Admin API.
Allocation method for explicit discounts
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.
Domain event webhooks
You can now subscribe to domain event webhooks.
New topics
The following changes have been made to the Webhook resource.
domains/create
was added as part of accessing additional data on domains in the GraphQL Admin API.domains/update
was added as part of accessing additional data on domains in the GraphQL Admin API.domains/destroy
was added as part of accessing additional data on domains in the GraphQL Admin API.
Webhook subscriptions
The Webhook
resource was updated to support EventBridge webhook subscriptions.
Updated properties
address
property was updated to accept a URI or an EventBridge event source ARN.
Storefront API changes
Anchor link to section titled "Storefront API changes"Below are all the changes introduced in the 2020-07 version of the Storefront API.
New error code for checkout
A new error code was added to CheckoutErrorCode.
Updated types
DISCOUNT_ALREADY_APPLIED
was added to enumCheckoutErrorCode
Improved access errors in GraphQL
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.