About the eCommerce Orders API

The eCommerce Orders API allows apps or site owners to customize management of the order lifecycle, including viewing, updating, and canceling. In the dashboard, business staff can create new orders, view and edit existing orders, track fulfillment, and manage the payments cycle.

An order holds information about purchased items, price and tax summaries, shipping and billing information, any applied discounts, and the status of payment and fulfillment.

With the eCommerce Orders API you can:

Before you begin

If you are migrating from the Stores Orders API, please refer to the following conversion tables:

Was this helpful?
Yes
No

eCommerce Orders: Sample Use Cases and Flows

This article shares some possible use cases your app could support, as well as a sample flow that could support each use case. This can be a helpful jumping off point as you plan your app's implementation.

Using an order ID across different eCommerce APIs

Some eCommerce functionality is accessible by using an order's ID and passing it to other eCommerce APIs. Here are a few examples:

Record an external order

When an order is made on an external system, you may want to record it and its payment details on your app.

To record an external order:

  1. Call Create Order and pass all the details of the external order.
  2. Save the order id from the Create Order API's response.
  3. Pass the order id, along with the external order's payments details, to Add Payments. This will add a record of the payment associated with the order.
Was this helpful?
Yes
No

Orders: Supported Filters and Sorting

The following table shows field support for filters and sorting for the Order object:

FieldSupported FilteringSortable
id$eq, $ne, $in, $nin
number$eq, $ne, $gt, $lt, $gte, $lteSortable
status$eq, $ne, $in, $ninSortable
archived$eq, $ne, $in, $exists, $startsWith
createdDate$eq, $ne, $lt, $lte, $gte, $gt, $ninSortable
updatedDate$eq, $ne, $gt, $lt, $gte, $lteSortable
lineItems.productName.original$eq, $ne, $in, $nin, $hasSome, $hasAll
lineItems.catalogReference.appId$eq, $ne, $in, $nin, $hasSome, $hasAll
lineItems.catalogReference.catalogItemId$eq, $ne, $in, $nin, $hasSome, $hasAll
subscriptionInfo.id$eq, $ne, $in, $nin
buyerInfo.email$eq, $ne, $in, $exists, $startsWithSortable
buyerInfo.contactId$eq, $ne, $in, $nin
buyerInfo.memberId$eq, $ne, $in, $nin
paymentStatus$eq, $ne, $in, $ninSortable
fulfillmentStatus$eq, $ne, $in, $ninSortable
priceSummary.total.amount$eq, $ne, $gt, $lt, $gte, $lte
billingInfo.contactDetails.fullName$eq, $ne, $in, $exists, $startsWith
shippingInfo.title$eq, $ne, $in, $nin
shippingInfo.logistics.deliveryTime$eq, $ne, $in, $exists, $startsWith
shippingInfo.region.name$eq, $ne, $in, $nin
deliveryTimeSlotFromDate (See notes)$eq, $ne, $in, $exists, $startsWith
deliveryTimeSlotToDate (See notes)$eq, $ne, $in, $exists, $startsWith
createdBy.userId$eq, $ne, $in, $nin
channelInfo.type$eq, $ne, $in, $nin
channelInfo.externalOrderId$eq, $ne, $in, $nin
seenByAHuman$eq, $ne, $in, $exists, $startsWith
checkoutId$eq, $ne, $in, $nin
paymentMethods (See notes)$eq, $ne, $in, $nin, $hasSome, $hasAll
fulfillmentStatuses (See notes)$eq, $ne, $in, $nin, $hasSome, $hasAll

Notes:

  • deliveryTimeSlotFromDate - shorthand for the shippingInfo.logistics.deliveryTimeSlot.from field.
  • deliveryTimeSlotToDate - shorthand for the shippingInfo.logistics.deliveryTimeSlot.to field.
  • paymentMethods - aggregate of the orderTransactions.payments.regularPaymentDetails.paymentMethod field from the Order Transactions API.
  • fulfillmentStatuses - shorthand for the fulfillmentStatusesAggregate field.

Related content: API Query Language, Search Orders

Was this helpful?
Yes
No

Stores to eCommerce Order Object Conversion

To help with migration to the eCommerce Orders API, refer to the table below for field changes between the Stores order object and the eCommerce order object.

Note that some fields are accessible via other eCommerce APIs like Order Transactions or Order Fulfillments. In these cases, the way to access the info is described in the third column.

The address object used in the eCommerce APIs is slightly different to the one used in the Stores APIs. For more details, refer to the address object conversion table.

The eCommerce Order Updated event fires when a Stores order and/or an eCommerce order is updated. For more details on webhooks, refer to the Webhook Conversion Table below.

Fields marked with an asterisk (*) signify little to no change in semantics or access.

Order Object Conversion Table

Stores Order ObjecteCommerce Order ObjectNotes
id*id
number*number
dateCreatedcreatedDate
buyerInfo.idbuyerInfo.contactId & buyerInfo.memberId
buyerInfo.id and buyerInfo.identityType: "MEMBER"buyerInfo.memberId
buyerInfo.id and buyerInfo.identityType: "CONTACT"buyerInfo.contactId
buyerInfo.firstNamebillingInfo.contactDetails.firstName
buyerInfo.lastNamebillingInfo.contactDetails.lastName
buyerInfo.phonebillingInfo.contactDetails.phone
buyerInfo.email*buyerInfo.email
currency*currency
weightUnit*weightUnit
totals.subtotalpriceSummary.subtotal.amount
totals.shippingpriceSummary.shipping.amount
totals.taxpriceSummary.tax.amount
totals.discountpriceSummary.discount.amount
totals.totalpriceSummary.total.amount
totals.weightAn order's total weight is equal to (lineItems[0].physicalProperties.weight X lineItems[0].quantity) + (lineItems[1].physicalProperties.weight X lineItems[1].quantity) and so on.
totals.quantityAn order's total line item quantity is equal to lineItems[0].quantity + lineItems[1].quantity + lineItems[2].quantity and so on.
totals.refundAvailable via the Order Transactions API.Pass the order ID to the List Transactions For Single Order endpoint to retrieve this info.
totals.giftCardAvailable via the Order Transactions API.Pass the order ID to the List Transactions For Single Order endpoint to retrieve this info.
billingInfo.paymentMethodAvailable via the Order Transactions API.Pass the order ID to the List Transactions For Single Order endpoint to retrieve this info.
billingInfo.paymentProviderTransactionIdAvailable via the Order Transactions API.Pass the order ID to the List Transactions For Single Order endpoint to retrieve this info.
billingInfo.paymentGatewayTransactionIdAvailable via the Order Transactions API.Pass the order ID to the List Transactions For Single Order endpoint to retrieve this info.
billingInfo.paidDateAvailable via the Order Transactions API.Pass the order ID to the List Transactions For Single Order endpoint to retrieve this info.
billingInfo.refundableByPaymentProviderAvailable via the Order Transactions API.Pass the order ID to the List Transactions For Single Order endpoint to retrieve this info.
billingInfo.address*billingInfo.addressAddress object conversion table.
shippingInfo.code*shippingInfo.code
shippingInfo.deliverByDateshippingInfo.logistics.deliverByDate
shippingInfo.deliveryOptionshippingInfo.title
shippingInfo.shippingRegionshippingInfo.region.name
shippingInfo.shippingDetails.addressshippingInfo.logistics.shippingDestination.addressAddress object conversion table.
shippingInfo.shipmentDetails.discountshippingInfo.cost.discount.amount
shippingInfo.shipmentDetails.taxshippingInfo.cost.taxDetails.totalTax.amount
shippingInfo.shipmentDetails.priceData.taxIncludedInPricetaxIncludedInPrices
shippingInfo.shipmentDetails.priceData.priceshippingInfo.cost.totalPriceAfterTax.amount
shippingInfo.pickupDetails.pickupAddressshippingInfo.logistics.pickupDetails.addressAddress object conversion table.
shippingInfo.pickupDetails.pickupInstructionsshippingInfo.logistics.instructions
shippingInfo.estimatedDeliveryTimeshippingInfo.logistics.deliveryTime
buyerNote*buyerNote
archived*archived
paymentStatus*paymentStatus
paymentStatus: PENDINGstatus: INITIALIZED
fulfillmentStatus*fulfillmentStatusFor more info, pass an order ID to the List Fulfillments For Single Order endpoint.
fulfillmentStatus: CANCELEDstatus: CANCELED
lineItems[i].indexlineItems[i].idWhile the lineItems[i].index in Stores Orders was an int32 type, the eCommerce Order's lineItems[i].id field is of type GUID.
lineItems[i].quantity*lineItems[i].quantity
lineItems[i].namelineItems[i].productName.original
lineItems[i].translatedNamelineItems[i].productName.translated
lineItems[i].productIdlineItems[i].catalogReference.catalogItemIdThe catalogReference object links between eCommerce APIs and catalogs like Wix Stores. Learn more about eCommerce integration for Wix Stores.
lineItems[i].lineItemType: "PHYSICAL"lineItems[i].itemType.preset: "PHYSICAL"
lineItems[i].lineItemType: "DIGITAL"lineItems[i].itemType.preset: "DIGITAL"
lineItems[i].lineItemType: "CUSTOM_AMOUNT_ITEM"lineItems[i].itemType.custom and lineItems[i].catalogReference is empty.
lineItems[i].optionslineItems[i].descriptionLines
lineItems[i].customTextFieldslineItems[i].catalogReference.optionsWithin the catalogReference.options look for the customTextFields key.
lineItems[i].weightlineItems[i].physicalProperties.weight
lineItems[i].mediaItem.urllineItems[i].image.url
lineItems[i].mediaItem.heightlineItems[i].image.height
lineItems[i].mediaItem.widthlineItems[i].image.width
lineItems[i].mediaItem.idlineItems[i].image.id
lineItems[i].mediaItem.altTextlineItems[i].image.altText
lineItems[i].skulineItems[i].physicalProperties.sku
lineItems[i].noteslineItems[i].descriptionLines[i].plainText.original
lineItems[i].variantIdlineItems[i].catalogReference.optionsThe catalogReference object links between eCommerce APIs and catalogs like Wix Stores. Learn more about eCommerce integration for Wix Stores.
lineItems[i].fulfillerId*lineItems[i].fulfillerId
lineItems[i].discountlineItems[i].totalDiscount.amount
lineItems[i].taxlineItems[i].taxDetails.totalTax.amount
lineItems[i].priceData.taxIncludedInPricetaxIncludedInPrices
lineItems[i].priceData.pricelineItems[i].price.amount
lineItems[i].priceData.totalPricelineItems[i].totalPriceAfterTax.amount
activities[i].type*activities[i].type
activities[i].TRACKING_LINK_WAS_SETactivities[i].TRACKING_LINK_SET
activities[i].INVOICE_WAS_SETactivities[i].INVOICE_ADDED
activities[i].INVOICE_WAS_SENTactivities[i].INVOICE_SENT
activities[i].authoractivities[i].authorEmail
activities[i].messageactivities[i].merchantComment.messageIf activities.type = "MERCHANT_COMMENT"
activities[i].timestampactivities[i].createdDate
invoiceInfoNot available in eCommerce order object.Currently, this information is held in the Stores order object.
fulfillmentsNot available in eCommerce order object.For more info, pass an order ID to the List Fulfillments For Single Order endpoint.
discount.appliedCoupon.couponIdappliedDiscounts[i].coupon.idSearch the appliedDiscounts array for the coupon field; couponId is coupon.id
discount.appliedCoupon.nameappliedDiscounts[i].coupon.nameSearch the appliedDiscounts array for the coupon field; name is coupon.name
discount.appliedCoupon.codeappliedDiscounts[i].coupon.codeSearch the appliedDiscounts array for the coupon field; code is coupon.code
customField.valuecustomFields[i].value.stringValueNote: customFields is an array
customField.titlecustomFields[i].title
customField.translatedTitlecustomFields[i].translatedTitle
cartIdNot returned in the eCommerce order object.Replaced by checkoutId
buyerLanguage*buyerLanguage
channelInfo.type*channelInfo.type
channelInfo.externalOrderId*channelInfo.externalOrderId
channelInfo.externalOrderUrl*channelInfo.externalOrderUrl
enteredBy.id and enteredBy.identityType: "MEMBER"createdBy.memberId
enteredBy.id and enteredBy.identityType: "USER"createdBy.userId
enteredBy.id and enteredBy.identityType: "APP"createdBy.appId
enteredBy.id and enteredBy.identityType: "CONTACT"createdBy.visitorIdPreviously, for a buyer that is not logged in, CONTACT type and ID were returned. in the eCommerce API, visitorId is returned. Note: the ID itself will also be different.
lastUpdatedupdatedDate
numericId-Removed due to added cursor paging functionality
refundsNot available in eCommerce order object.Pass the order ID to the List Transactions For Single Order endpoint to retrieve this info.

*Fields marked with an asterisk signify little to no change in semantics or access.

Webhook Conversion Table

The following table shows Stores Orders webhooks and their equivalents in the eCommerce Orders API that are triggered at the same time:

Stores Orders APIeCommerce Orders API
Order Paid WebhookPayment Status Updated Webhook sent with order.paymentStatus = PAID
Order Created WebhookOrder Approved Webhook
Order Canceled WebhookOrder Canceled Webhook
Order Refunded WebhookOrder Transactions Updated Webhook

We've also updated the structure of the webhook/event payload. The event's order ID is now provided both at the top level as entityId and as order.id within the payload itself. The table below describes where to find the order ID or order entity in the new webhook payloads:

Stores WebhookseCommerce Webhooks
Order ID - order.id / orderIdAll order webhook payloads - entityId
Order Created - the payload itself is the orderOrder Approved - actionEvent.body.order
Order Paid/Canceled/Refunded - orderOrder Canceled/Approved - actionEvent.body.order
-Order Updated - updatedEvent.currentEntity
Was this helpful?
Yes
No

Address Object Conversion Table

The eCommerce APIs use a different address object. Notably, fields related to contact information have been moved to an adjacent contactDetails object (for example, in order.shippingInfo).

To help with conversion and migration, refer to the table below to check which fields have changed and how.

Note: in the eCommerce API, the buyer's email is only held in the buyerInfo field in the eCommerce Order object.

Previous Address ObjecteCommerce Address Field LocationChange
address.cityaddress.city
address.emailbuyerInfo.email
address.zipCodeaddress.postalCodeField name
address.countryaddress.country
address.addressLine1address.addressLineField name
address.addressLine2address.addressLine2
address.streetaddress.streetAddressField name
address.subdivisionaddress.subdivision
address.fullName.firstNamecontactDetails.firstNameMoved to contactDetails object
address.fullName.lastNamecontactDetails.lastNameMoved to contactDetails object
address.phonecontactDetails.phoneMoved to contactDetails object
address.companycontactDetails.companyMoved to contactDetails object
address.vatIdcontactDetails.vatIdMoved to contactDetails object
Was this helpful?
Yes
No

Edit Order/Draft Orders API Migration Guide

Notes:

  • This migration is relevant for all apps that currently use the Stores Orders API.
  • The Stores Orders API will soon be deprecated in favor of the eCommerce Orders API.

We’re introducing a new Wix eCommerce Orders API that enables business owners to meet new customer needs and provide better customer service. This will eventually replace the existing Stores Orders API. This quick guide will help you to make sure your app is ready for the migration.

New object and webhook structures

The structure of the eCommerce Order object is different from the Stores Order object. You can learn more about these structural changes here.

The webhook payload structure has also changed. To facilitate your move to these webhooks, have a look at the webhook conversion table.

Users can now edit orders

Customers occasionally make mistakes when placing an order, or they might simply want to make a change to an existing order. This could include adding items, updating prices, revising customer details, and more.

The new eCommerce service includes functionality that lets users edit existing orders. This will be known as Draft Orders when using our REST APIs, and as Edit Order in the dashboard.

When an existing order is edited, the Order Updated Webhook is triggered. This webhook returns the whole order object in the eCommerce order structure, but you can still pass the edited order’s ID to the Stores Orders endpoints if you’d like to fetch the order in the Stores structure.

Impact examples

If a Wix user edits an existing order, depending on your app type you might need your app to be aware of the change. Here are some examples:

  • A user changes the quantity of a product item in an existing order. As a result, the number of items to be shipped has changed.
  • A user changes the shipping address in an existing order.
  • A user adds a new item to an existing order. As a result, the amount to be paid changes.
  • A user changes the price of an item in an existing order. As a result, the total payable amount of the order, as well as the payment status can change.

How to add the new Order Updated webhook

  1. Go to your app in the Wix Developers Center.
  2. Go to the Webhooks tab in the side menu.
  3. Click + Add Webhook.
  4. Select an API Category > Wix eCommerce
  5. Find and select the Order Updated Webhook
  6. Add a Callback URL.
  7. Click Save.

How to test the impact on your app

Edit Order is not yet available publicly, but if you’d like to test the feature yourself and understand any implications it may have for your app, follow these steps:

  1. Install the EditThisCookie Chrome extension.
  2. Click + to add a new cookie, select petri-ovr and fill out the following fields:
  • Value: specs.stores.OrderEditPageComponent#true
  • Domain: .wix.com
  • Secure: Check the box
  • HttpOnly: Check the box

  1. Create a new Wix website with Wix Stores installed (testing this change only works on new sites).
  2. Refresh the Orders page.
  3. Navigate to an unfulfilled order in the dashboard.
  4. Click on the More Actions button in the top right corner.
  5. Click on Edit Order.

Note:

All orders, including changes committed by Edit Order, are still available in the Stores Orders APIs and webhooks. However, we highly recommend planning your transition to eCommerce Orders and Edit Order/Draft Orders, as the Stores Orders API will be deprecated in the coming months.

Was this helpful?
Yes
No

Order Object

Create and manage eCommerce orders

Properties
idstringRead-onlyformat GUID
Order ID.

numbernumberRead-only
Order number displayed in the site owner's dashboard (auto-generated).

createdDatestringRead-onlyformat date-time
Date and time the order was created in ISO-8601 format.

updatedDatestringRead-onlyformat date-time
Date and time the order was last updated in ISO-8601 format.

lineItemsArray <OrderLineItem>Read-onlyminItems 1maxItems 300
Order line items.

buyerInfoobject
Buyer information.

paymentStatusstring
7 enum supported values:
UNSPECIFIEDNOT_PAIDPAIDPARTIALLY_REFUNDEDFULLY_REFUNDEDPENDINGPARTIALLY_PAID
Order payment status.
  • NOT_PAID - This can be an order made online, but not yet paid. In such cases order.status will be INITIALIZED.
  • This status also applies when an offline order needs to be manually marked as paid. In such cases order.status will be APPROVED.
  • PAID - All payments associated with this order are paid. For online payments: payment.regularPaymentDetails.status: APPROVED. For gift cards: payment.giftCardPaymentDetails.voided: false.
  • PARTIALLY_REFUNDED - Order was refunded, but refund amount is less than order total price.
  • FULLY_REFUNDED - Order fully refunded. Refund amount equals total price.
  • PENDING - Payments received but not yet confirmed by the payment provider.
  • PARTIALLY_PAID - At least one payment was received and approved, covering less than total price amount.

fulfillmentStatusstringRead-only
3 enum supported values:
NOT_FULFILLEDFULFILLEDPARTIALLY_FULFILLED
Order fulfillment status.

buyerLanguagestring
Language for communication with the buyer. Defaults to the site language. For a site that supports multiple languages, this is the language the buyer selected.

weightUnitstring
3 enum supported values:
UNSPECIFIED_WEIGHT_UNITKGLB
Weight measurement unit - defaults to site's weight unit.

currencystringformat CURRENCY
Currency used for the pricing of this order in ISO-4217 format.

taxIncludedInPricesboolean
Whether tax is included in line item prices.

siteLanguagestringRead-only
Site language in which original values are shown.

priceSummaryobjectRead-only
Order price summary.

billingInfoobject
Billing address and contact details.

shippingInfoobject
Shipping info and selected shipping option details.

buyerNotestringmaxLength 1000
Buyer note left by the customer.

statusstring
3 enum supported values:
INITIALIZEDAPPROVEDCANCELED
Order status.
  • INITIALIZED - Order was created, but not yet approved or declined.
  • APPROVED - Order was approved. This happens when either the online payment succeeded or the order is an offline order. Once an order is approved, many side effects are triggered. For example, holding of stock in the inventory and sending of notification emails.
  • CANCELED - Order was canceled by the user.

archivedboolean
Whether order is archived.

taxSummaryobject
Tax summary.

appliedDiscountsArray <AppliedDiscount>
Applied discounts.

activitiesArray <Activity>Read-onlymaxItems 1000
Order activities.

attributionSourcestring
2 enum supported values:
UNSPECIFIEDFACEBOOK_ADS
Order attribution source.

createdByobjectRead-only
ID of the order's initiator.

channelInfoobject
Information about the sales channel that submitted this order.

seenByAHumanboolean
Whether a human has seen the order. Set when an order is clicked on in the dashboard.

checkoutIdstringformat GUID
Checkout ID.

customFieldsArray <CustomField>
Custom fields.

balanceSummaryobjectRead-only
Balance summary.

additionalFeesArray <AdditionalFee>maxItems 100
Additional fees applied to the order.

extendedFieldsobject
Custom field data for the order object. Extended fields must be configured in the Wix Dev Center before they can be accessed with API calls.

purchaseFlowIdstringformat GUID
Persistent ID that correlates between the various eCommerce elements: cart, checkout, and order.

recipientInfoobject
Order recipient address and contact details. This field may differ from the address in shippingInfo.logistics when:
  • The chosen shipping option is pickup point or store pickup.
  • No shipping option is selected.
Was this helpful?
Yes
No

GetGet Order

Retrieves an order with the provided ID.

To retrieve an order's payment and refund details, including amounts, payment methods, and payment statuses, pass the order ID to List Transactions For Single Order.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Read eCommerce - all read permissions
Read Orders
Read Stores - all read permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Endpoint
GET
https://www.wixapis.com/ecom/v1/orders/{id}

Was this helpful?
Yes
No

PostSearch Orders

Retrieves a list of orders, given the provided paging, filtering, and sorting.

Search Orders runs with these defaults, which you can override:

  • createdDate is sorted in DESC order
  • cursorPaging.limit is 100
  • filter: {"status": {"$ne": "INITIALIZED"}} - other order statuses can be queried, but orders with status: "INITIALIZED" are never returned

For field support for filters and sorting, see Orders: Supported Filters and Sorting.

To learn about working with Search endpoints, see API Query Language, and Sorting and Paging.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Read eCommerce - all read permissions
Read Orders
Read Stores - all read permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Endpoint
POST
https://www.wixapis.com/ecom/v1/orders/search

Was this helpful?
Yes
No

PostCreate Order

Creates an order.

Notes:

  • If an item is digital - lineItems[i].itemType.preset: DIGITAL - then lineItems[i].digitalFile must be provided.
  • If lineItems[i].id is passed, it must be either a valid GUID, or empty.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Endpoint
POST
https://www.wixapis.com/ecom/v1/orders

Event TriggersThis method triggers the following events:
Was this helpful?
Yes
No

PatchUpdate Order

Updates an order's properties.

Currently, the following fields can be updated:

  • order.buyerInfo.email
  • order.recipientInfo.address
  • order.recipientInfo.contactDetails
  • order.shippingInfo.logistics.shippingDestination.address
  • order.shippingInfo.logistics.shippingDestination.contactDetails

To update a field's value, include the new value in the order object in the body params. To remove a field's value, pass null.

Note: Removing buyerInfo or contactDetails results in an error.

To update an order's payment status, use Update Payment Status.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Endpoint
PATCH
https://www.wixapis.com/ecom/v1/orders/{order.id}

Event TriggersThis method triggers the following events:
Was this helpful?
Yes
No

PostCancel Order

Cancels an order. The order.status field changes to CANCELED.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Endpoint
POST
https://www.wixapis.com/ecom/v1/orders/{id}/cancel

Event TriggersThis method triggers the following events:
Was this helpful?
Yes
No

Payment Status Updated

Triggered when an order's payment status is updated to "PAID".

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Read eCommerce - all read permissions
Read Orders
Read Stores - all read permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring
Unique event ID. Allows clients to ignore duplicate webhooks.

entityFqdnstring
Fully qualified domain name of the entity associated with the event. Expected wix.ecom.v1.order.

slugstring
Event name. Expected payment_status_updated.

entityIdstring
ID of the entity associated with the event.

eventTimestringformat date-time
Event timestamp.

triggeredByAnonymizeRequestboolean
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).

originatedFromstring
If present, indicates the action that triggered the event.

actionEventobject
Event information.
Was this helpful?
Yes
No

Order Updated

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Read eCommerce - all read permissions
Read Orders
Read Stores - all read permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring
Unique event ID. Allows clients to ignore duplicate webhooks.

entityFqdnstring
Fully qualified domain name of the entity associated with the event. Expected wix.ecom.v1.order.

slugstring
Event name. Expected updated.

entityIdstring
ID of the entity associated with the event.

eventTimestringformat date-time
Event timestamp.

triggeredByAnonymizeRequestboolean
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).

originatedFromstring
If present, indicates the action that triggered the event.

updatedEventobject
Event information.
Was this helpful?
Yes
No

Order Created

Triggered when an order is created. Learn more about webhook payload structure.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Read eCommerce - all read permissions
Read Orders
Read Stores - all read permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring
Unique event ID. Allows clients to ignore duplicate webhooks.

entityFqdnstring
Fully qualified domain name of the entity associated with the event. Expected wix.ecom.v1.order.

slugstring
Event name. Expected created.

entityIdstring
ID of the entity associated with the event.

eventTimestringformat date-time
Event timestamp.

triggeredByAnonymizeRequestboolean
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).

originatedFromstring
If present, indicates the action that triggered the event.

createdEventobject
Event information.
Was this helpful?
Yes
No

Order Canceled

Triggered when an order is canceled. Learn more about eCommerce webhook payload structure.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Read eCommerce - all read permissions
Read Orders
Read Stores - all read permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring
Unique event ID. Allows clients to ignore duplicate webhooks.

entityFqdnstring
Fully qualified domain name of the entity associated with the event. Expected wix.ecom.v1.order.

slugstring
Event name. Expected canceled.

entityIdstring
ID of the entity associated with the event.

eventTimestringformat date-time
Event timestamp.

triggeredByAnonymizeRequestboolean
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).

originatedFromstring
If present, indicates the action that triggered the event.

actionEventobject
Event information.
Was this helpful?
Yes
No

Order Approved

Triggered when an order is created and its status is updated to "APPROVED". Learn more about eCommerce webhook payload structure.

Permission Scopes

For app development, you must have one of the following permission scopes:
Manage Stores - all permissions
Read eCommerce - all read permissions
Read Orders
Read Stores - all read permissions
Manage eCommerce - all permissions
Manage Orders
Learn more about permission scopes.
Event BodyEvent Body Event data is received as a JSON Web Token (JWT). It may be delayed. Be sure to verify the data was sent by Wix.
Event Data
idstring
Unique event ID. Allows clients to ignore duplicate webhooks.

entityFqdnstring
Fully qualified domain name of the entity associated with the event. Expected wix.ecom.v1.order.

slugstring
Event name. Expected approved.

entityIdstring
ID of the entity associated with the event.

eventTimestringformat date-time
Event timestamp.

triggeredByAnonymizeRequestboolean
Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).

originatedFromstring
If present, indicates the action that triggered the event.

actionEventobject
Event information.
Was this helpful?
Yes
No