2022-07 release notes
Release date | Date version is no longer supported |
---|---|
July 1, 2022 | July 1, 2023 |
The 2022-07 version of Shopify's APIs includes new ways to manage deferred purchase options and app discount types. This release also includes new ways to create and manage discounts with Function APIs.
What's new in 2022-07
The following features were added in version 2022-07 of Shopify's APIs.
GraphQL Admin API changes:
- Use Shopify Functions to build a discounts experience.
- Set deadlines for fulfillment orders.
- Create discount combinations in your app.
- Create and manage deferred purchase options.
- Create a delegate access token.
- Permit a SKU to be stocked at multiple fulfillment services or merchant-managed locations.
- Specify the Multipurpose Internet Mail Extensions (MIME) type of generic files being created, updated, or deleted.
- Manage dispute evidence.
- Use a customer's payment mandate to trigger a payment for the remaining balance on an order or create a payment schedule.
- Confirm that the phone field of a delivery address for a subscription is properly formatted in the
subscriptionContractCreate
andsubscriptionDraftUpdate
mutations. - Specify a fixed cutoff day in subscription apps.
- Extend the trial of an app subscription with the AppSubscriptionTrialExtend mutation.
- Subscribe to the
app_subscriptions/approaching_capped_amount
webhook topic to get notified when the balance used on an app subscription crosses 90% of the capped amount. - Set the replacement behavior for a merchant with an existing subscription by using the
replacementBehavior
argument that was added to theappSubscriptionCreate
mutation.
GraphQL Storefront API changes:
- Query the
Cart
object to retrieve the total number of items in a cart (totalQuantity
) as well as theCartLineEstimatedCost
object. HasMetafields
now accepts a list of metafield namespaces and keys, and returns a list of associated metafields that match the given namespaces and keys.HasMetafields.metafields
paginated connection is deprecated.- Set checkout charges for deferred purchase options to secure customers' commitments to orders before the orders are fulfilled.
- Query the
urlRedirect
object to retrieve information about a URL redirect on an online store.
GraphQL Function API changes:
- Create an order discount that's applied to all merchandise in the cart.
- Create a product discount that's applied to a particular product or product variant in the cart.
- Create a shipping discount that's applied to one or more shipping rates at checkout.
REST Admin API changes:
- Use the
/set_fulfillment_orders_deadline
endpoint to set the latest date and time by which fulfillment orders need to be fulfilled. - Use the Rest Admin API to manage dispute evidence.
- Use the Rest Admin API to permit a SKU to be stocked at multiple fulfillment services or merchant-managed locations.
- The REST Admin API no longer supports XML-format responses and payloads. If you're using XML for REST Admin API requests and payloads, then you need to switch to using JSON format.
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.
As of API version 2022-07, the estimatedCost
field on the Cart
and CartLine
objects in the Storefront API has been deprecated. Use cost
instead to determine the estimated cost that the buyer will pay at checkout.
The 2022-07 version of the Storefront API also changes how discountAllocations
on the Cart
and CartLine
objects are returned:
Cart.discountAllocations
now returns discount allocations that are applied to the entireCart
.CartLine.discountAllocations
now only returns discount allocations that are applied to the specificCartLine
.CartLine.total
now reflects the line total with only line-level discounts applied. It doesn't include discounts applied to the entireCart
.
Deprecated properties on the Order
resource in the REST Admin API
Anchor link to section titled "Deprecated properties on the Order resource in the REST Admin API"As of API version 2022-07, the following customer
object properties on the REST Admin API's Order
resource have been deprecated:
last_order_id
last_order_name
orders_count
total_spent
Use the Customer
resource instead to access these properties.
Enhancements
Anchor link to section titled "Enhancements"As of API version 2022-07 all GraphQL schemas will start using the @deprecated
directive for input fields and arguments which have been deprecated. API versions 2022-04 and below will continue to use the description for deprecation warnings. You should use a GraphQL client that supports deprecated input fields and arguments when using GraphQL API versions 2022-07 or higher.
Fulfillment endpoints removed from the REST Admin API
Anchor link to section titled "Fulfillment endpoints removed from the REST Admin API"As of API version 2022-07, the following endpoints have been removed from the Fulfillment
resource in the REST Admin API:
/orders/{order_id}/fulfillments.json
/orders/{order_id}/fulfillments/{fulfillment_id}.json
/orders/{order_id}/fulfillments/{fulfillment_id}/complete.json
/orders/{order_id}/fulfillments/{fulfillment_id}/open.json
/orders/{order_id}/fulfillments/{fulfillment_id}/cancel.json
Use the FulfillmentOrder
resource instead.
Fulfillment types and mutations removed from the GraphQL Admin API
Anchor link to section titled "Fulfillment types and mutations removed from the GraphQL Admin API"As of API version 2022-07, the following types and mutations have been removed from the GraphQL Admin API:
Removed types
DraftFulfillment
: UseFulfillmentOrder
instead.
Removed mutations
fulfillmentCreate
: UsefulfillmentCreateV2
instead.fulfillmentTrackingInfoUpdate
: UsefulfillmentTrackingInfoUpdateV2
instead.
As of API version 2022-07, the HasMetafields.metafields
paginated connection in the Storefront API is deprecated. Previously, this connection enabled you to paginate over all visible metafields in a given resource.
HasMetafields.metafields
now accepts a list of metafield namespaces and keys, and returns a list of associated metafields that match the given namespaces and keys.
For more information, refer to the HasMetafields
interface.
Removed checkout mutations
Anchor link to section titled "Removed checkout mutations"As of API version 2022-07, the following mutations have been removed from the Storefront API:
checkoutGiftCardApply
: Use checkoutGiftCardAppend instead.checkoutGiftCardRemove
: Use checkoutGiftCardRemoveV2 instead.checkoutEmailUpdate
: Use checkoutEmailUpdateV2 instead.checkoutDiscountCodeApply
: Use checkoutDiscountCodeApplyV2 instead.checkoutCustomerAssociate
: Use checkoutCustomerAssociateV2 instead.checkoutCustomerDisassociate
: Use checkoutCustomerDisassociateV2 instead.checkoutCompleteWithTokenizedPayment
: Use checkoutCompleteWithTokenizedPaymentV3 instead.checkoutCompleteWithTokenizedPaymentV2
: Use checkoutCompleteWithTokenizedPaymentV3 instead.checkoutShippingAddressUpdate
: Use checkoutShippingAddressUpdateV2 instead.checkoutCompleteWithCreditCard
: Use checkoutCompleteWithCreditCardV2 instead.checkoutAttributesUpdate
: Use checkoutAttributesUpdateV2 instead.
Removed support for XML-format responses and payloads
Anchor link to section titled "Removed support for XML-format responses and payloads"The REST Admin API no longer supports XML-format responses and payloads. Requests that expect an XML response will result in a 404
error. Requests that send an XML payload will result in a 415
error.
If you're using XML for REST Admin API requests and payloads, then you need to switch to using JSON format.
Shipping and fulfillment
Anchor link to section titled "Shipping and fulfillment"As of API version 2022-07, the permitsSkuSharing
field was added to the GraphQL Admin API and REST Admin API. If you set permitsSkuSharing
to true
, then a fulfillment service can stock inventory at multiple fulfillment services or merchant-managed locations.
However, setting permitsSkuSharing
to true
causes some behavior to break. As a result, the following fields have been deprecated:
Field | Behavior | What to use instead |
---|---|---|
fulfillmentService on ProductVariant |
If you set fulfillmentService as manual , then it no longer means that a product variant is strictly stocked at a self-managed location. As a result, apps can't use the fulfillmentService alone to determine whether the item is stocked at a third-party location or not. |
|
fulfillmentService on LineItem |
When an order is created for a product variant that's stocked at a third-party service that has opted into SKU sharing, then the LineItem.fulfillmentService handle is set to the third-party service.This is different from ProductVariant.fulfillmentService , where the handle is set to manual .Shopify only assigns a given line item to a single location at checkout. As a result, for all orders, lineItem.fulfillmentService will be accurate upon order creation, but it can become inaccurate post-checkout if the merchant takes certain actions. |
|
fulfillmentServiceId on ProductVariantInput |
If a merchant updates a product variant’s fulfillmentService to a handle that belongs to a third-party service that has opted into SKU sharing, then the request succeeds but the fulfillmentService is set to manual .As a result, the handle is no longer set to the third-party service's handle. |
Not applicable |
Validation on subscription mutations
Anchor link to section titled "Validation on subscription mutations"As of API version 2022-07, the phone
field of the delivery address for a subscription is validated on the subscriptionContractCreate
and subscriptionDraftUpdate
mutations in the GraphQL Admin API.
The validation enables you to confirm that a phone number is properly formatted and prevents errors that might occur when processing subscription payments with invalid data.
GraphQL Admin API changes
Anchor link to section titled "GraphQL Admin API changes"The following are all the changes currently introduced in the 2022-07 version of the GraphQL Admin API.
App discount types
As of API version 2022-07, you use the GraphQL Admin API to create a new discount type in your app. Learn how.
New types
AppDiscountType
object was addedAppDiscountTypes
object was addedDiscountAutomaticApp
object was addedDiscountAutomaticAppInput
input object was addedDiscountCodeApp
object was addedDiscountCodeAppInput
input object was addedHasMetafields
interface was added toDiscountAutomaticNode
objectHasMetafields
interface was added toDiscountCodeNode
objectHasMetafields
interface was added toDiscountNode
objectHasMetafieldDefinitions
interface was added toDiscountAutomaticNode
objectHasMetafieldDefinitions
interface was added toDiscountCodeNode
objectHasMetafieldDefinitions
interface was added toDiscountNode
objectDISCOUNT
value was added toMetafieldOwnerType
enum
New mutations
DiscountCodeAppCreate
mutation was addedDiscountCodeAppUpdate
mutation was addedDiscountAutomaticAppCreate
mutation was addedDiscountAutomaticAppUpdate
mutation was added
App discount combinations
As of API version 2022-07, you can use the GraphQL Admin API to create discount combinations in your app.
New types
AppDiscountType
object was addedAppDiscountTypes
object was addedDiscountAutomaticApp
object was addedDiscountAutomaticAppInput
input object was addedDiscountCombinesWith
object was addedDiscountCombinesWithInput
input object was addedDiscountClass
enum was addedDiscountNode
object was addedDiscountNodeConnection
connection was addedDiscountNodeEdge
object was addedDiscountSortKeys
enum was addedMerchandiseDiscountClass
enum was addedShippingDiscountClass
enum was added
New fields
combinesWith
and discountClass
fields were added to the following objects:
DiscountAutomaticBasic
DiscountAutomaticBxgy
DiscountCodeBasic
DiscountCodeBxgy
DiscountCodeFreeShipping
PriceRule
New mutations
discountAutomaticAppCreate
mutation was addeddiscountAutomaticAppUpdate
mutation was added
Braintree as a legacy subscription payment gateway
As of API version 2022-07, you can connect Braintree as a legacy subscription payment gateway and migrate each pay-as-you-go contract to Shopify. After the migration, you'll use Shopify Payments as the primary payment gateway. For more information, refer to Migrating existing subscription contracts to Shopify.
New types
CustomerPaymentMethodRemoteInput
input object was added
New error codes
braintree_not_enabled_for_subscriptions
error code was added toCustomerPaymentMethodRemoteUserErrorCode
enum
Checkout charges for deferred purchase options
As of API version 2022-07, you can set checkout charges for deferred purchase options to secure customers' commitments to orders before the orders are fulfilled. The remaining balance amount is charged at a later date.
New fields
checkoutCharge
field was added toSellingPlan
objectcheckoutChargeAmount
field was added toCartEstimatedCost
objectcheckoutChargeAmount
field was added toSellingPlanAllocation
objectremainingBalanceChargeAmount
field was added toSellingPlanAllocation
object
New types
SellingPlanCheckoutCharge
object was addedSellingPlanCheckoutChargeValue
union was addedSellingPlanCheckoutChargeType
enum was added
Customer statistics
As of API version 2022-07, you can use the GraphQL Admin API to query customer statistics like predicted spend.
New types
CustomerStatistics
object was addedCustomerPredictedSpendTier
enum was added toCustomerStatistics
object
New fields
predictedSpendTier
field was added toCustomerStatistics
objectstatistics
field was added toCustomer
object
Deadlines for fulfillment orders
As of API version 2022-07, you can use the GraphQL Admin API to set the latest date and time by which fulfillment orders need to be fulfilled.
New types
FulfillmentOrdersSetFulfillmentDeadlinePayload
payload was addedFulfillmentOrdersSetFulfillmentDeadlineUserErrorCode
enum was added
New mutation
fulfillmentOrdersSetFulfillmentDeadline
mutation was added
New error code
FULFILLMENT_ORDERS_NOT_FOUND
error code was added toFulfillmentOrdersSetFulfillmentDeadlineUserErrorCode
enum
Deferred purchase options: Pre-order and try before you buy
As of API version 2022-07, you can use the GraphQL Admin API to create and manage deferred purchase options to provide merchants and customers with various ways to sell and buy products, beyond the "buy now, pay now, and ship now" experience and subscriptions. Shopify supports pre-orders and try before you buys as use cases for deferred purchase options.
There's no single API to create a specific deferred purchase option. Instead, a deferred purchase option has configurations for pricing, delivery, inventory, and billing policies. For more information, refer to Deferred purchase options.
New fields
category
field was added toSellingPlan
objectinventoryPolicy
field was added toSellingPlan
objectfixed
field was added toSellingPlanBillingPolicyInput
objectfixed
field was added toSellingPlanDeliveryPolicyInput
object
New types
SellingPlanCheckoutCharge
object was addedSellingPlanCheckoutChargePercentageValue
object was addedSellingPlanFixedBillingPolicy
object was addedSellingPlanFixedBillingPolicyInput
input object was addedSellingPlanFixedDeliveryPolicy
object was addedSellingPlanFixedDeliveryPolicyInput
input object was addedSellingPlanInventoryPolicyInput
input object was addedSellingPlanCheckoutChargeInput
input object was addedSellingPlanCheckoutChargeValueInput
input object was addedSellingPlanCheckoutChargeType
enum was addedSellingPlanCheckoutChargeValue
union was addedSellingPlanCategory
enum was addedSellingPlanRemainingBalanceChargeTrigger
enum was addedSellingPlanFulfillmentTrigger
enum was addedSellingPlanFixedDeliveryPolicyIntent
enum was addedSellingPlanFixedDeliveryPolicyPreAnchorBehavior
enum was addedSellingPlanReserve
enum was added
New error codes
BILLING_AND_DELIVERY_POLICY_TYPES_MUST_BE_THE_SAME
error code was added toSellingPlanGroupUserErrorCode
enumCHECKOUT_CHARGE_VALUE_AND_TYPE_MUST_MATCH
error code was added toSellingPlanGroupUserErrorCode
enumFULFILLMENT_EXACT_TIME_NOT_ALLOWED
error code was added toSellingPlanGroupUserErrorCode
enumINCLUSION
error code was added toSellingPlanGroupUserErrorCode
enumNOT_FOUND
error code was added toSellingPlanGroupUserErrorCode
enumONLY_NEED_ONE_BILLING_POLICY_TYPE
error code was added toSellingPlanGroupUserErrorCode
enumFULFILLMENT_EXACT_TIME_REQUIRED
error code was added toSellingPlanGroupUserErrorCode
enumONLY_NEED_ONE_CHECKOUT_CHARGE_VALUE
error code was added toSellingPlanGroupUserErrorCode
enumONLY_NEED_ONE_DELIVERY_POLICY_TYPE
error code was added toSellingPlanGroupUserErrorCode
enumONLY_ONE_OF_FIXED_OR_RECURRING_BILLING
error code was added toSellingPlanGroupUserErrorCode
enumONLY_ONE_OF_FIXED_OR_RECURRING_DELIVERY
error code was added toSellingPlanGroupUserErrorCode
enumREMAINING_BALANCE_CHARGE_EXACT_TIME_NOT_ALLOWED
error code was added toSellingPlanGroupUserErrorCode
enumREMAINING_BALANCE_CHARGE_EXACT_TIME_REQUIRED
error code was added toSellingPlanGroupUserErrorCode
enumREMAINING_BALANCE_CHARGE_TIME_AFTER_CHECKOUT_MUST_BE_GREATER_THAN_ZERO
error code was added toSellingPlanGroupUserErrorCode
enumREMAINING_BALANCE_CHARGE_TRIGGER_NO_REMAINING_BALANCE_ON_PARTIAL_PERCENTAGE_CHECKOUT_CHARGE
error code was added toSellingPlanGroupUserErrorCode
enumREMAINING_BALANCE_CHARGE_TRIGGER_NO_REMAINING_BALANCE_ON_PRICE_CHECKOUT_CHARGE
error code was added toSellingPlanGroupUserErrorCode
enumREMAINING_BALANCE_CHARGE_TRIGGER_ON_FULL_CHECKOUT
error code was added toSellingPlanGroupUserErrorCode
enumSELLING_PLAN_ANCHORS_NOT_ALLOWED
error code was added toSellingPlanGroupUserErrorCode
enumSELLING_PLAN_ANCHORS_REQUIRED
error code was added toSellingPlanGroupUserErrorCode
enumSELLING_PLAN_FIXED_PRICING_POLICIES_LIMIT
error code was added toSellingPlanGroupUserErrorCode
enumTOO_BIG
error code was added toSellingPlanGroupUserErrorCode
enumWRONG_LENGTH
error code was added toSellingPlanGroupUserErrorCode
enum
Delegate access tokens
As of API version 2022-07, you can use the GraphQL Admin API to create a delegate access token. A delegate access token is an access token with a subset of the total permissions of an app.
For more information, refer to Delegate OAuth access tokens to subsystems.
New mutation
delegateAccessTokenCreate
mutation was added
Hold automations
%
As of API version 2022-07, you can use the GraphQL Admin API to hold fulfillments on unvalidated mailing addresses and ensure merchants check prior to requesting fulfillment.
Improved Rejections
As of API version 2022-07, you can use the GraphQL Admin API fulfillmentOrderRejectFulfillmentRequest
mutation has improved rejections with optional arguments.
For more information, refer to the changelog post.
New fields
warnings
field was added toFulfillmentOrderLineItem
object
New arguments
reason
argument was added tofulfillmentOrderRejectFulfillmentRequest
mutationlineItems
argument was added tofulfillmentOrderRejectFulfillmentRequest
mutation
MIME type for generic files
Use the GraphQL Admin API to specify the Multipurpose Internet Mail Extensions (MIME) type of generic files being created, updated, or deleted. Response bodies return either nil
or the MIME type of the generic file, such as model/usd
or application/pdf
.
New field
mimeType
was added toGenericFile
object
Payment mandates
A payment mandate is the payment method and permission that a customer gives to the merchant to debit money. As of API version 2022-07, you can use the GraphQL Admin API to use a customer's payment mandate to trigger a payment for the remaining balance on an order or create a payment schedule. For more information, refer to Charging the remaining balance.
Payments dispute evidences API
As of API version 2022-07, you can use the GraphQL Admin API to manage dispute evidence.
New fields
dispute
field was added toQueryRoot
disputeEvidence
field was added toQueryRoot
New types
ShopifyPaymentsDisputeEvidence
object was addedShopifyPaymentsDisputeFileUpload
object was addedShopifyPaymentsDisputeFulfillment
object was addedShopifyPaymentsDisputeEvidenceUpdateInput
input object was addedShopifyPaymentsDisputeFileUploadUpdateInput
input object was addedShopifyPaymentsDisputeEvidenceFileType
enum was added
New mutations
disputeEvidenceUpdate
mutation was added
Removed fulfillment types and mutations
As of API version 2022-07, the following types and mutations have been removed from the GraphQL Admin API:
Removed types
DraftFulfillment
: UseFulfillmentOrder
instead.
Removed mutations
fulfillmentCreate
: UsefulfillmentCreateV2
instead.fulfillmentTrackingInfoUpdate
: UsefulfillmentTrackingInfoUpdateV2
instead.
Selling plan anchor
As of API version 2022-07, you can use the GraphQL Admin API to specify a fixed cutoff day in subscription apps.
New fields
cutoffDay
field was added toSellingPlanAnchorInput
input objectcutoffDay
field was added toSellingPlanAnchor
object
SKU at multiple fulfillment services or merchant-managed locations
As of API version 2022-07, you can use the GraphQL Admin API to permit a Stock Keeping Unit (SKU) to be stocked at multiple fulfillment services or merchant-managed locations.
New fields
permitsSkuSharing
field was added toFulfillmentService
object
New arguments
permitsSkuSharing
argument was added tofulfillmentServiceCreate
mutationpermitsSkuSharing
argument was added tofulfillmentServiceUpdate
mutation
Validation on subscription mutations
As of API version 2022-07, the phone
field of the delivery address for a subscription is validated on the subscriptionContractCreate
and subscriptionDraftUpdate
mutations.
The validation enables you to confirm that a phone number is properly formatted and prevents errors that might occur when processing subscription payments with invalid data.
GraphQL Storefront API changes
Anchor link to section titled "GraphQL Storefront API changes"The following are all the changes currently introduced in the 2022-07 version of the GraphQL Storefront API.
App subscriptions
As of API version 2022-07, you can extend the trial of an app subscription with the AppSubscriptionTrialExtend mutation.
For usage-based app subscriptions, you can now subscribe to the app_subscriptions/approaching_capped_amount
webhook topic to get notified when the balance used on an app subscription crosses 90% of the capped amount.
API version 2022-07 enables you to set the replacement behavior for a merchant with an existing subscription by using the replacementBehavior
argument that was added to the appSubscriptionCreate
mutation. For example you can set the behavior to immediately cancel the merchant's current app subscription and replace it with the newly created app subscription.
New argument
replacementBehavior
argument was added toappSubscriptionCreate
mutation
New type
AppSubscriptionReplacementBehavior
enum was added
New mutation
AppSubscriptionTrialExtend
mutation was added
Cart
As of API version 2022-07, you can query the Cart
object to retrieve the total number of items in a cart (totalQuantity
).
You can also query the CartLineEstimatedCost
object to retrieve the unit price (amount
) and the unit price comparisons with other sellers (compareAtAmount
) of a merchandise line in a cart. For more information, refer to Support international pricing on storefronts.
Additionally, you can query the attribute
field on the Cart
and CartLine
objects to retrieve attributes associated with the entire cart, or with a cart line.
Breaking changes
The estimatedCost
field on the Cart
and CartLine
objects has been deprecated. Use cost
insteed to determine the estimated cost that the buyer will pay at checkout.
The 2022-07 version of the Storefront API also changes how discountAllocations
on the Cart
and CartLine
objects are returned:
Cart.discountAllocations
now returns discount allocations that are applied to the entireCart
.CartLine.discountAllocations
now only returns discount allocations that are applied to the specificCartLine
.CartLine.total
now reflects the line total with only line-level discounts applied. It doesn't include discounts applied to the entireCart
.
New fields
attribute
field was added toCart
objectattribute
field was added toCartLine
objectdiscountAllocations
field was added toCart
objectcost
field was added toCart
objectcost
field was added toCartLine
objecttotalQuantity
field was added toCart
objectamount
field was added toCartLineEstimatedCost
objectcompareAtAmount
field was added toCartLineEstimatedCost
object
Deprecated fields
estimatedCost
field has been deprecated on theCart
objectestimatedCost
field has been deprecated on theCartLine
object
Metafields
As of API version 2022-07, the HasMetafields.metafields
paginated connection is deprecated. Previously, this connection enabled you to paginate over all visible metafields in a given resource.
HasMetafields.metafields
now accepts a list of metafield namespaces and keys, and returns a list of associated metafields that match the given namespaces and keys.
For more information, refer to the HasMetafields
interface.
Removed checkout mutations
As of API version 2022-07, the following mutations have been removed from the Storefront API:
checkoutGiftCardApply
: Use checkoutGiftCardAppend instead.checkoutGiftCardRemove
: Use checkoutGiftCardRemoveV2 instead.checkoutEmailUpdate
: Use checkoutEmailUpdateV2 instead.checkoutDiscountCodeApply
: Use checkoutDiscountCodeApplyV2 instead.checkoutCustomerAssociate
: Use checkoutCustomerAssociateV2 instead.checkoutCustomerDisassociate
: Use checkoutCustomerDisassociateV2 instead.checkoutCompleteWithTokenizedPayment
: Use checkoutCompleteWithTokenizedPaymentV3 instead.checkoutCompleteWithTokenizedPaymentV2
: Use checkoutCompleteWithTokenizedPaymentV3 instead.checkoutShippingAddressUpdate
: Use checkoutShippingAddressUpdateV2 instead.checkoutCompleteWithCreditCard
: Use checkoutCompleteWithCreditCardV2 instead.checkoutAttributesUpdate
: Use checkoutAttributesUpdateV2 instead.
URL redirects
As of API version 2022-07, you can query the urlRedirect
object to retrieve information about a URL redirect on an online store. For example, you can query both the URL that users are redirected from and the URL where users will be redirected to.
New type
UrlRedirect
object was added
New connection
urlRedirects
connection was added toQueryRoot
GraphQL Function APIs changes
Anchor link to section titled "GraphQL Function APIs changes"Shopify Functions allow developers to customize the backend logic that powers parts of Shopify. Function APIs are new APIs that are available as of the 2022-07 release. Function APIs let you extend your app code into Shopify. For example, you can use Function APIs to customize many aspects of the checkout experience.
Function APIs for discounts
As of API version 2022-07, the following Function APIs for discounts are available:
- Order Discount API: Create a new type of discount that's applied to all merchandise in the cart.
- Product Discount API: Create a new type of discount that's applied to a particular product or product variant in the cart.
- Shipping Discount API: Create a new type of discount that's applied to one or more shipping rates at checkout.
Learn how to use a Function API to create a new discount type for merchants.
REST Admin API changes
Anchor link to section titled "REST Admin API changes"The following are all the changes currently introduced in the 2022-07 version of the REST Admin API.
Deadlines for fulfillment orders
As of API version 2022-07, the /set_fulfillment_orders_deadline
endpoint has been added to the FulfillmentOrder resource. You can use this endpoint to set the latest date and time by which fulfillment orders need to be fulfilled.
Deprecated properties on the Order resource
Payments dispute evidences API
As of API version 2022-07, you can use the Rest Admin API to manage dispute evidence.
New resources
dispute_evidences
resource was addeddispute_file_uploads
resource was added
New endpoints
show
endpoint was added todispute_evidences
resourceupdate
endpoint was added todispute_evidences
resourcecreate
endpoint was added todispute_file_uploads
resourcedestroy
endpoint was added todispute_file_uploads
resource
Removed endpoints on the Fulfillment resource
As of API version 2022-07, the following endpoints have been removed from the Fulfillment
resource in the REST Admin API:
POST /orders/{order_id}/fulfillments.json
PUT/PATCH /orders/{order_id}/fulfillments/{fulfillment_id}.json
POST /orders/{order_id}/fulfillments/{fulfillment_id}/complete.json
POST /orders/{order_id}/fulfillments/{fulfillment_id}/open.json
POST /orders/{order_id}/fulfillments/{fulfillment_id}/cancel.json
Use the FulfillmentOrder
resource instead.
SKU at multiple fulfillment services or merchant-managed locations
As of API version 2022-07, you can use the REST Admin API to permit a Stock Keeping Unit (SKU) to be stocked at multiple fulfillment services or merchant-managed locations.
New properties
permits_sku_sharing
property was added toFulfillmentService
resource
XML responses and payloads
The REST Admin API no longer supports XML-format responses and payloads. Requests that expect an XML response will result in a 404
error. Requests that send an XML payload will result in a 415
error.
If you're using XML for REST Admin API requests and payloads, then you need to switch to using JSON format.