Skip to main content

Upgrading From 3.16 To 3.17

info

To follow the zero-downtime strategy when upgrading to 3.17, It is recommended to first migrate to at least 3.16.2 and turn on the Celery worker to process all data migrations asynchronously. Otherwise, you will need to downtime your solution to ensure correct data migration.

Migrating from NOTIFY_USER

Starting from Saleor 3.16, the NOTIFY_USER webhook event will be deprecated. If your app uses this webhook, you should migrate to dedicated webhook events. The following is a list of webhook events that replace specific notifications. All webhook events that replace NOTIFY_USER support subscription queries, which allow you to define the payload you want to receive for your notifications.

The table below shows sub-types of NOTIFY_USER events (represented as the notify_event field in the legacy payloads), their GraphQL subscription replacements, and the Saleor version in which they were or will be introduced.

NOTIFY_USER eventSubscriptionSaleor version
ACCOUNT_CHANGE_EMAIL_CONFIRMAccountEmailChanged3.15
ACCOUNT_CHANGE_EMAIL_REQUESTAccountChangeEmailRequested3.15
ACCOUNT_CONFIRMATIONAccountConfirmationRequested3.15
ACCOUNT_DELETEAccountDeleteRequested3.15
ACCOUNT_PASSWORD_RESETAccountSetPasswordRequested3.15
ACCOUNT_SET_CUSTOMER_PASSWORDAccountSetPasswordRequested3.15
ACCOUNT_SET_STAFF_PASSWORDStaffSetPasswordRequested3.15
ACCOUNT_STAFF_RESET_PASSWORDStaffSetPasswordRequested3.15
CSV_EXPORT_FAILEDProductExportCompleted, GiftCardExportCompleted3.16
CSV_EXPORT_SUCCESSProductExportCompleted, GiftCardExportCompleted3.16
INVOICE_READYInvoiceSent3.2
ORDER_CANCELEDOrderCancelled3.2
ORDER_CONFIRMATIONOrderCreated3.2
ORDER_CONFIRMEDOrderConfirmed3.2
ORDER_FULFILLMENT_CONFIRMATIONFulfillmentCreated3.4
ORDER_FULFILLMENT_UPDATEFulfillmentTrackingNumberUpdated3.16
ORDER_PAYMENT_CONFIRMATIONOrderFullyPaid3.2
ORDER_REFUND_CONFIRMATIONOrderRefunded3.14
SEND_GIFT_CARDGiftCardSent3.13
STAFF_ORDER_CONFIRMATIONOrderCreated3.2

To migrate to new events, you need to create new webhooks in Saleor and provide subscription queries for the events you want to receive.

Payload changes

Some fields that were available in the NOTIFY_USER payload are not available in subscription payloads of the new events:

  • domain - the domain of the Saleor instance, can be fetched from the API using the shop query.
  • site_name - same as above.
  • logo_url - if needed, apps should handle providing the logo URL themselves.

Deprecation of the externalNotificationTrigger mutation

Starting from Saleor 3.16, the externalNotificationTrigger mutation will be deprecated. Apps that send custom notifications should implement their own logic for this purpose.