> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# Package: purchaseFlow

# Namespace: cartV2

# Webhook link: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/purchase-flow/cart-v2/cart-updated.md

# Webhook Permissions Scopes IDs:
Read Orders: SCOPE.DC-STORES.READ-ORDERS

## Introduction

Triggered when a cart is updated.

---

## REST API

### Schema

```
Webhook: Cart Updated
Description: Triggered when a cart is updated.
Event body:
 - name: id | type: string | description: Unique event ID. Allows clients to ignore duplicate events.
 - name: entityFqdn | type: string | description: Fully qualified domain name of the entity associated with the event.
 - name: slug | type: string | description: Event name.
 - name: entityId | type: string | description: ID of the entity associated with the event.
 - name: eventTime | type: string (date-time) | description: Event timestamp.
 - name: triggeredByAnonymizeRequest | type: boolean | description: Whether the event was triggered as a result of a privacy regulation application such as GDPR.
 - name: originatedFrom | type: string | description: If present, indicates the action that triggered the event.
 - name: updatedEvent | type: object | description: Updated event details.
    - name: currentEntity | type: Cart | description: The entity after the update.
        - name: id | type: string | description: Cart GUID.
        - name: createdDate | type: string | description: Date and time the Cart was created.
        - name: updatedDate | type: string | description: Date and time the Cart was last updated.
        - name: revision | type: string | description: Revision number, which increments by 1 each time the Cart is updated.
        - name: lineItems | type: array<LineItem> | description: Line items added to the Cart by the customer. This list may include in-stock items and invalid or out-of-stock items.
           - name: id | type: string | description: Unique identifier for the line item within the cart.
           - name: name | type: TranslatableString | description: Display name for the line item.
              - name: original | type: string | description: __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).  Min: 1 character. Max: 200 characters.
              - name: translated | type: string | description: String translated into the buyer's language.  Min: 1 character. Max: 400 characters. Default: Same as `original`.
           - name: quantityInfo | type: ItemQuantityInfo | description: Quantity details for the line item.
              - name: confirmedQuantity | type: integer | description: Confirmed quantity to purchase. The minimum of `requestedQuantity` and `availableQuantity`.
              - name: requestedQuantity | type: integer | description: Quantity the customer originally requested.
              - name: availableQuantity | type: integer | description: Maximum quantity available for purchase.
              - name: fixedQuantity | type: boolean | description: Whether the line item quantity is fixed and can't be changed.  Default: `false`
           - name: pricing | type: ItemPricingInfo | description: Pricing details for the line item.
              - name: unitPrice | type: ConvertedMoney | description: Final unit price after discounts. Includes tax when `taxInfo.pricesIncludeTax` is true.
                 - name: amount | type: string | description: Monetary amount in the original currency, as specified in `businessInfo.currencyCode`.
                 - name: convertedAmount | type: string | description: Monetary amount in the converted currency, as specified in `customerInfo.currencyCode`.  Default: `amount`.
              - name: totalPrice | type: ConvertedMoney | description: Final total price for this item (unit price × quantity). Includes tax when `taxInfo.pricesIncludeTax` is true.
              - name: priceDescription | type: PriceDescription | description: Additional price description. For example, when the price is `0` but you need more detail, such as "Starts at $67".
                 - name: original | type: string | description: __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                 - name: translated | type: string | description: Price description translated into the buyer's language.  Default: Same as `original`.
              - name: priceUndetermined | type: boolean | description: Whether the price isn't yet defined and will be updated after the order is created.
              - name: breakdown | type: ItemPriceBreakdown | description: Detailed breakdown of price components.
                 - name: fullPrice | type: ConvertedMoney | description: Full catalog price for a single item before discounts, including modifiers. Includes tax when `taxInfo.pricesIncludeTax` is true.
                 - name: salePrice | type: ConvertedMoney | description: Catalog sale price for a single item, including modifiers. Includes tax when `taxInfo.pricesIncludeTax` is true.
                 - name: totalModifiersPrice | type: ConvertedMoney | description: Total price of all modifiers for a single item. Includes tax when `taxInfo.pricesIncludeTax` is true.
           - name: source | type: ItemSource | description: Information about the line item's origin.
              - name: catalogReference | type: CatalogReference | description: Catalog and item reference: GUIDs for the item and catalog, plus optional details. Optional for custom line items, which don't trigger the Catalog service plugin.
                 - name: catalogItemId | type: string | description: GUID of the item within the catalog it belongs to.
                 - name: appId | type: string | description: GUID of the app providing the catalog.  You can get your app's GUID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  For items from Wix catalogs, the following values always apply: + Wix Stores: `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` + Wix Bookings: `"13d21c63-b5ec-5912-8397-c3a5ddb27a97"` + Wix Restaurants: `"9a5d83fd-8570-482e-81ab-cfa88942ee60"`
                 - name: options | type: object | description: Additional item details in `key:value` pairs.  Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.  For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration.md) or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration.md), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction.md).
              - name: catalogOverrideFields | type: CatalogOverrideFields | description: Overriding values for catalog item properties.
                 - name: name | type: TranslatableString | description: Display name for the line item.
                 - name: salePrice | type: string | description: Sale price for a single item after modifiers, before discounts.
                 - name: fullPrice | type: string | description: Full price for a single item after modifiers, before discounts.
                 - name: descriptionLines | type: array<DescriptionLine> | description: Description lines for the item. Shown when displaying the line item to buyers.
                    - ONE-OF:
                       - name: plainText | type: PlainTextValue | description: Description line plain text value.
                          - name: original | type: string | description: Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                          - name: translated | type: string | description: Description line plain text value translated into the buyer's language.  Default: Same as `original`.
                       - name: colorInfo | type: Color | description: Description line color value.
                          - name: original | type: string | description: Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                          - name: translated | type: string | description: Description line color name translated into the buyer's language.  Default: Same as `original`.
                          - name: code | type: string | description: HEX or RGB color code for display.
                    - name: name | type: DescriptionLineName | description: Description line name.
                       - name: original | type: string | description: Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                       - name: translated | type: string | description: Description line name translated into the buyer's language.  Default: Same as `original`.
                 - name: physicalProperties | type: PhysicalProperties | description: Physical properties of the item.
                    - name: weight | type: number | description: Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.
                    - name: sku | type: string | description: Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).
                    - name: shippable | type: boolean | description: Whether this line item is shippable.
                 - name: image | type: Image | description: Item image.
                    - name: id | type: string | description: WixMedia image GUID.
                    - name: url | type: string | description: Image URL, if exists.
                    - name: height | type: integer | description: Original image height.
                    - name: width | type: integer | description: Original image width.
                    - name: altText | type: string | description: Image alt text.
                    - name: filename | type: string | description: Image filename.
                 - name: paymentOption | type: PaymentOption | description: Selected payment option for the item.
                    - name: value | type: PaymentOptionType | description: Selected payment option type for this item.  Default: `FULL_PAYMENT_ONLINE`
                           - enum:
                           -     FULL_PAYMENT_ONLINE: The entire payment for this item happens as part of the checkout.
                           -     FULL_PAYMENT_OFFLINE: The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods.
                           -     MEMBERSHIP: Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online.
                           -     DEPOSIT_ONLINE: Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`.
                           -     MEMBERSHIP_OFFLINE: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.
                           -     MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER: Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.
                 - name: depositAmount | type: string | description: Partial payment due upfront during checkout. Only when `paymentOption.value` is `DEPOSIT_ONLINE`.
                 - name: savePaymentMethod | type: boolean | description: Whether to save the payment method on the order.  Default: `false`
                 - name: inventoryAppId | type: string | description: GUID of the app managing inventory.
              - name: rootCatalogItemId | type: string | description: When `catalogReference.catalogItemId` isn't the actual catalog item GUID, this field returns the true catalog item GUID. For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking GUID, so this value is the service GUID. In most cases, this matches `catalogReference.catalogItemId`. Used in membership validation.
              - name: inventoryAppId | type: string | description: GUID of the app managing the inventory.
           - name: attributes | type: ItemAttributes | description: Display details for the item.
              - name: descriptionLines | type: array<DescriptionLine> | description: Description lines for the item.
              - name: image | type: Image | description: Item image.
              - name: url | type: PageUrlV2 | description: URL of the item's page on the site.
                 - name: relativePath | type: string | description: The relative path for the page within the site. For example, `/product-page/a-product`.
                 - name: url | type: string | description: The page's full URL. For example, `https://mysite.com/product-page/a-product`.
              - name: policies | type: array<Policy> | description: Policies shown to the buyer on the checkout page.
                 - name: title | type: string | description: Policy title - should be translated
                 - name: content | type: string | description: Policy content - should be translated
              - name: itemType | type: ItemType | description: Item type: preset or custom.
                 - ONE-OF:
                    - name: preset | type: ItemTypePreset | description: Preset item type.
                           - enum: UNRECOGNISED, PHYSICAL, DIGITAL, GIFT_CARD, SERVICE
                    - name: custom | type: string | description: Custom item type. When none of the preset types are suitable, specifies the custom type.
              - name: physicalProperties | type: PhysicalProperties | description: Physical properties of the item. When relevant, includes SKU, weight, and shippability.
              - name: subscriptionInfo | type: SubscriptionOptionInfo | description: Subscription option details.
                 - name: subscriptionSettings | type: SubscriptionSettings | description: Subscription option settings.
                    - name: frequency | type: SubscriptionFrequency | description: Frequency of recurring payment.
                           - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
                    - name: interval | type: integer | description: Interval of recurring payment.  Default: `1`. If SubscriptionFrequency is Day the minimum interval is 7
                    - name: autoRenewal | type: boolean | description: Whether subscription is renewed automatically at the end of each period.
                    - name: billingCycles | type: integer | description: Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.
                    - name: enableCustomerCancellation | type: boolean | description: Whether to allow the customer to cancel the subscription..
                    - name: freeTrialPeriod | type: FreeTrialPeriod | description: Period until first cycle starts. If applied payNow will be 0 If None => no free trial
                       - name: frequency | type: SubscriptionFrequency | description: Frequency of period. Values: DAY, WEEK, MONTH, YEAR
                               - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
                       - name: interval | type: integer | description: Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.
                 - name: title | type: Title | description: Subscription option title.
                    - name: original | type: string | description: Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                    - name: translated | type: string | description: Subscription option name translated into the buyer's language.  Default: Same as `original`.
                 - name: description | type: Description | description: Subscription option description.
                    - name: original | type: string | description: Subscription option description.
                    - name: translated | type: string | description: Translated subscription option description.
              - name: serviceProperties | type: ServiceProperties | description: Service properties. When relevant, includes date and number of participants.
                 - name: scheduledDate | type: string | description: Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. For example, the start time of a class.
                 - name: numberOfParticipants | type: integer | description: The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.
              - name: membersOnly | type: boolean | description: Whether the item can only be purchased by site members.  Default: `false`
           - name: deliveryConfig | type: ItemDeliveryConfig | description: Delivery configuration for the line item.
              - name: deliveryProfileId | type: string | description: Delivery profile GUID.
              - name: fulfillerId | type: string | description: Optional custom fulfiller GUID.
           - name: taxConfig | type: ItemTaxConfig | description: Tax configuration for the line item.
              - name: taxableAddress | type: TaxableAddress | description: Address used for tax calculation.
                 - ONE-OF:
                    - name: addressType | type: TaxableAddressType | description: taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.
                           - enum: BUSINESS, BILLING, SHIPPING
              - name: taxGroupId | type: string | description: Tax group GUID for this line item.
           - name: paymentConfig | type: ItemPaymentConfig | description: Payment configuration for the line item.
              - name: savePaymentMethod | type: boolean | description: Whether to save the payment method on the order.  Default: `false`
              - name: consentRequiredPaymentPolicy | type: string | description: Item payment policy that requires buyer consent to complete the purchase. Displayed on the checkout page.
              - name: depositAmount | type: ConvertedMoney | description: Partial payment due upfront during checkout. Only when `paymentOption` is `DEPOSIT_ONLINE`.
              - name: paymentOption | type: PaymentOptionType | description: Selected payment option type for this item.  Default: `FULL_PAYMENT_ONLINE`
                   - enum:
                   -     FULL_PAYMENT_ONLINE: The entire payment for this item happens as part of the checkout.
                   -     FULL_PAYMENT_OFFLINE: The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods.
                   -     MEMBERSHIP: Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online.
                   -     DEPOSIT_ONLINE: Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`.
                   -     MEMBERSHIP_OFFLINE: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.
                   -     MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER: Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.
           - name: status | type: ItemStatus | description: Inventory availability status for the line item.
               - enum:
               -     IN_STOCK: Item is available in the requested quantity.
               -     PARTIALLY_IN_STOCK: Only part of the requested quantity is available.
               -     OUT_OF_STOCK: Item is out of stock.
               -     REMOVED_FROM_CATALOG: Item no longer exists in the catalog.
           - name: extendedFields | type: ExtendedFields | description: Custom extended fields for the line item object.  [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured using the Checkout & Orders - Line Items Schema Plugin in the app dashboard before they can be accessed with API calls.
              - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).
           - name: modifierGroups | type: array<ModifierGroup> | description: Modifier groups added to the item.
              - name: id | type: string | description: Modifier group GUID.
              - name: name | type: TranslatableString | description: Modifier group name.
              - name: modifiers | type: array<ItemModifier> | description: Modifiers in this group.
                 - name: id | type: string | description: Modifier GUID.
                 - name: quantity | type: integer | description: Modifier quantity.
                 - name: label | type: TranslatableString | description: Primary label for the modifier.
                 - name: details | type: TranslatableString | description: Extra modifier copy.
                 - name: price | type: ConvertedMoney | description: Modifier price.
           - name: discounts | type: array<ItemDiscount> | description: Discounts applied to this line item.
              - name: name | type: TranslatableString | description: Discount display name.
              - name: amountOff | type: ConvertedMoney | description: Total amount taken off the item's sale price for the full line item quantity.
              - name: source | type: DiscountSource | description: Discount source (for example, coupon or automatic discount) and related identifiers.
                 - name: sourceType | type: DiscountSourceType | description: Discount source type.
                       - enum:
                       -     AUTOMATIC_RULE: Discount applied automatically by a rule.
                       -     COUPON: Discount applied by a coupon code.
                 - name: couponCode | type: string | description: Coupon code that triggered the discount. Only relevant for coupon discounts.
           - name: customLineItem | type: boolean | description: Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.
        - name: subtotal | type: ConvertedMoney | description: The sum of all line item final prices.
        - name: note | type: string | description: Optional message left by the customer. Usually intended for the merchant and contains special instructions, requests, or clarifications related to the order.
        - name: coupons | type: array<Coupon> | description: List of coupons added to the Cart. Currently only one coupon code is supported.
           - name: id | type: string | description: Coupon GUID in the cart.
           - name: code | type: string | description: Coupon code entered at checkout.
        - name: source | type: CartSource | description: Information about the source of the Cart, detailing the origin or context in which the Cart was created.
           - name: channelType | type: ChannelType | description: Sales channel that created the cart.
               - enum:
               -     UNSPECIFIED: Unspecified sales channel. This value is not supported.
               -     WEB: A web client.
               -     POS: [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395).
               -     EBAY: [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop).
               -     AMAZON: [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop).
               -     OTHER_PLATFORM: Other sales platform.
               -     WIX_APP_STORE: [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview).
               -     WIX_INVOICES: Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings)
               -     BACKOFFICE_MERCHANT: Wix merchant backoffice.
               -     WISH: Wish sales channel.
               -     CLASS_PASS: [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass).
               -     GLOBAL_E: Global-E sales channel.
               -     FACEBOOK: [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops).
               -     ETSY: [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel).
               -     TIKTOK: [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel).
               -     FAIRE_COM: [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app).
               -     PAYPAL_AGENTIC_CHECKOUT: PayPal Agentic Checkout sales channel.
               -     STRIPE_AGENTIC_CHECKOUT: Stripe Agentic Checkout sales channel.
           - name: externalReferences | type: array<ExternalReference> | description: External app and resource references for this cart, used for integration and tracking across platforms.
              - name: appId | type: string | description: GUID of the app associated with the purchase flow. For example, the Wix Pay Links app GUID.
              - name: resourceId | type: string | description: Reference to an external resource GUID. Used to link the purchase flow to a specific entity in an external system. For example, a Wix Pay Link GUID.
           - name: createdBy | type: CreatedBy | description: Entity that created the cart.
              - ONE-OF:
                 - name: visitorId | type: string | description: Site visitor GUID when the visitor isn't a site member.
                 - name: memberId | type: string | description: Site member GUID.
                 - name: userId | type: string | description: Wix user GUID when the cart was created by a Wix user on behalf of a buyer (for example, POS).
                 - name: appId | type: string | description: App GUID when the cart was created by an external app or Wix service.
           - name: customContentReference | type: CustomContentReference | description: App and component GUIDs for the custom checkout page content provider.
              - name: appId | type: string | description: App GUID for the checkout content provider. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).
              - name: componentId | type: string | description: Component GUID within that app. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).
        - name: businessInfo | type: BusinessInfo | description: Information about the site from which the Cart's line items were added.
           - name: locationId | type: string | description: Business location GUID for the cart. See the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction.md).
           - name: languageCode | type: string | description: 2-letter language code in ISO 639-1 alpha-2 format. The business's default language.
           - name: currencyCode | type: string | description: Three-letter currency code in ISO-4217 alphabetic format. The site's base currency; it doesn't change when the [customer selects a different display currency](https://support.wix.com/en/article/multicurrency-an-overview).
        - name: customerInfo | type: CustomerInfo | description: Information about the customer that owns the Cart.
           - name: firstName | type: string | description: Customer's first name.
           - name: lastName | type: string | description: Customer's last name.
           - name: phone | type: string | description: Customer's phone number.
           - name: company | type: string | description: Company name.
           - name: vatId | type: VatId | description: Business VAT registration number.
              - name: id | type: string | description: Customer's tax GUID.
              - name: type | type: VatType | description: Tax type.  Supported values: + `CPF`: for individual tax payers + `CNPJ`: for corporations
                   - enum:
                   -     UNSPECIFIED: 
                   -     CPF: CPF - for individual tax payers.
                   -     CNPJ: CNPJ - for corporations
           - name: email | type: string | description: Customer's email address.
           - name: contactId | type: string | description: Customer's contact GUID. Created automatically if one doesn't exist yet. See the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).
           - name: languageCode | type: string | description: 2-letter language code in ISO 639-1 alpha-2 format. Resolved automatically from request metadata (`x-wix-linguist` header).
           - name: currencyCode | type: string | description: Three-letter currency code in ISO-4217 alphabetic format. [Currency the customer selects](https://support.wix.com/en/article/multicurrency-an-overview) during checkout; it's their preferred display currency and may differ from the site's default.
        - name: deliveryInfo | type: DeliveryInfo | description: Delivery-related information associated with the Cart.
           - name: address | type: Address | description: Delivery address.
              - name: country | type: string | description: Two-letter country code in [ISO-3166 alpha-2](https://www.iso.org/obp/ui/#search/code/) format.
              - name: subdivision | type: string | description: Code for a subdivision (such as state, prefecture, or province) in [ISO 3166-2](https://www.iso.org/standard/72483.html) format.
              - name: city | type: string | description: City name.
              - name: postalCode | type: string | description: Postal or zip code.
              - name: streetAddress | type: StreetAddress | description: Street address.
                 - name: number | type: string | description: Street number.
                 - name: name | type: string | description: Street name.
              - name: addressLine | type: string | description: Main address line (usually street name and number).
              - name: addressLine2 | type: string | description: Free text providing more detailed address info. Usually contains apt, suite, floor.
              - name: geocode | type: AddressLocation | description: Geocode object containing latitude and longitude coordinates.
                 - name: latitude | type: number | description: Address latitude.
                 - name: longitude | type: number | description: Address longitude.
              - name: countryFullname | type: string | description: Country's full name.
              - name: subdivisionFullname | type: string | description: Subdivision full-name.
           - name: method | type: DeliveryMethod | description: Delivery method selected by the customer.
              - name: code | type: string | description: Shipping rate code. Example: `"usps_std_overnight"`.
              - name: appId | type: string | description: Carrier app GUID.
              - name: title | type: TranslatableString | description: Delivery rate title. Examples: `"USPS Standard Overnight Delivery"`, `"Standard"`, `"First-Class Package International"`.
              - name: pickup | type: boolean | description: Whether this method is pickup.
           - name: weightUnit | type: WeightUnit | description: Weight unit used when shipping items (for example, kg or lb).
               - enum:
               -     UNSPECIFIED_WEIGHT_UNIT: Weight unit can't be classified due to an error.
               -     KG: Kilograms.
               -     LB: Pounds.
        - name: taxInfo | type: TaxInfo | description: Tax-related information associated with the Cart.
           - name: pricesIncludeTax | type: boolean | description: Whether tax is already included in prices (line items, delivery, additional fees).
           - name: taxExemptGroupId | type: string | description: Tax-exempt group GUID applied for tax exemptions.
        - name: paymentInfo | type: PaymentInfo | description: Payment-related information associated with the Cart.
           - name: giftCards | type: array<GiftCard> | description: Gift cards applied to the payment. Only one gift card is supported.
              - name: id | type: string | description: Unique identifier of the gift card within the cart.
              - name: obfuscatedCode | type: string | description: Partially masked gift card code.
              - name: appId | type: string | description: App GUID of the gift card provider.
              - name: externalId | type: string | description: External GUID in the gift card provider's system, used for integration and tracking across platforms.
              - name: requestedRedeemAmount | type: ConvertedMoney | description: Amount to redeem from this gift card.
           - name: currencyCode | type: string | description: Three-letter currency code in ISO-4217 alphabetic format. Currency used to process payment. Matches `customerInfo.currencyCode` when that currency is supported for payment, otherwise falls back to `businessInfo.currencyCode`.
           - name: billingAddress | type: Address | description: Billing address.
           - name: billingContact | type: FullAddressContactDetails | description: Billing contact details.
              - name: firstName | type: string | description: First name.
              - name: lastName | type: string | description: Last name.
              - name: phone | type: string | description: Phone number.
              - name: company | type: string | description: Company name.
              - name: vatId | type: VatId | description: Tax information (for Brazil only). If GUID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.
        - name: orderPlaced | type: boolean | description: Whether the Cart has been placed as an Order. Defaults to `false`.
        - name: orderId | type: string | description: Order GUID. Empty until the checkout process is completed.
        - name: purchaseFlowId | type: string | description: Persistent GUID that correlates the Cart with the created Order after checkout is completed.
        - name: settings | type: CartSettings | description: Additional cart settings.  Settings can only be configured at cart creation time and can't be changed afterwards.
           - name: lockGiftCard | type: boolean | description: Whether adding or removing a gift card from the cart is restricted.
           - name: lockCouponCode | type: boolean | description: Whether adding or removing a coupon code from the cart is restricted.
           - name: policyAgreementCheckboxDisabled | type: boolean | description: Whether the policy agreement checkbox is disabled on the checkout page.
           - name: manualPaymentDisabled | type: boolean | description: Whether the manual payment option is disabled on the checkout page.
        - name: customCheckoutUrl | type: string | description: Custom checkout URL to redirect the customer to a checkout page. By default, customers are redirected to the standard Wix checkout page. Clients can override this behavior by providing their own URL here. If the URL contains the placeholder `{checkout_id}`, it will be replaced with the actual Cart GUID.
        - name: extendedFields | type: ExtendedFields | description: Custom fields. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured in the app dashboard before they can be accessed with API calls.
        - name: currentCart | type: boolean | description: Whether this is the customer's current cart. The current cart can be accessed using the identity context (for example, `visitorId` from session cookies) without an explicit cart GUID.
        - name: demo | type: boolean | description: Whether this is a demo cart. Demo carts are created in the Wix editor for merchant preview and can't proceed to checkout.  Default: `false`
    - name: modifiedFields | type: Map<string,Value> | description: Fields that were updated and their values before the update.

```

---

## JavaScript SDK

### Schema

```
Webhook: onCartUpdated
Description: Triggered when a cart is updated.
Payload: CartUpdatedEnvelope
  - name: entity | type: Cart | description: none
     - name: _id | type: string | description: Cart GUID.
     - name: _createdDate | type: Date | description: Date and time the Cart was created.
     - name: _updatedDate | type: Date | description: Date and time the Cart was last updated.
     - name: revision | type: string | description: Revision number, which increments by 1 each time the Cart is updated.
     - name: lineItems | type: array<LineItem> | description: Line items added to the Cart by the customer. This list may include in-stock items and invalid or out-of-stock items.
        - name: _id | type: string | description: Unique identifier for the line item within the cart.
        - name: name | type: TranslatableString | description: Display name for the line item.
           - name: original | type: string | description: __Required.__ String in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).  Min: 1 character. Max: 200 characters.
           - name: translated | type: string | description: String translated into the buyer's language.  Min: 1 character. Max: 400 characters. Default: Same as `original`.
        - name: quantityInfo | type: ItemQuantityInfo | description: Quantity details for the line item.
           - name: confirmedQuantity | type: integer | description: Confirmed quantity to purchase. The minimum of `requestedQuantity` and `availableQuantity`.
           - name: requestedQuantity | type: integer | description: Quantity the customer originally requested.
           - name: availableQuantity | type: integer | description: Maximum quantity available for purchase.
           - name: fixedQuantity | type: boolean | description: Whether the line item quantity is fixed and can't be changed.  Default: `false`
        - name: pricing | type: ItemPricingInfo | description: Pricing details for the line item.
           - name: unitPrice | type: ConvertedMoney | description: Final unit price after discounts. Includes tax when `taxInfo.pricesIncludeTax` is true.
              - name: amount | type: string | description: Monetary amount in the original currency, as specified in `businessInfo.currencyCode`.
              - name: convertedAmount | type: string | description: Monetary amount in the converted currency, as specified in `customerInfo.currencyCode`.  Default: `amount`.
           - name: totalPrice | type: ConvertedMoney | description: Final total price for this item (unit price × quantity). Includes tax when `taxInfo.pricesIncludeTax` is true.
           - name: priceDescription | type: PriceDescription | description: Additional price description. For example, when the price is `0` but you need more detail, such as "Starts at $67".
              - name: original | type: string | description: __Required.__ Price description in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
              - name: translated | type: string | description: Price description translated into the buyer's language.  Default: Same as `original`.
           - name: priceUndetermined | type: boolean | description: Whether the price isn't yet defined and will be updated after the order is created.
           - name: breakdown | type: ItemPriceBreakdown | description: Detailed breakdown of price components.
              - name: fullPrice | type: ConvertedMoney | description: Full catalog price for a single item before discounts, including modifiers. Includes tax when `taxInfo.pricesIncludeTax` is true.
              - name: salePrice | type: ConvertedMoney | description: Catalog sale price for a single item, including modifiers. Includes tax when `taxInfo.pricesIncludeTax` is true.
              - name: totalModifiersPrice | type: ConvertedMoney | description: Total price of all modifiers for a single item. Includes tax when `taxInfo.pricesIncludeTax` is true.
        - name: source | type: ItemSource | description: Information about the line item's origin.
           - name: catalogReference | type: CatalogReference | description: Catalog and item reference: GUIDs for the item and catalog, plus optional details. Optional for custom line items, which don't trigger the Catalog service plugin.
              - name: catalogItemId | type: string | description: GUID of the item within the catalog it belongs to.
              - name: appId | type: string | description: GUID of the app providing the catalog.  You can get your app's GUID from its page in the [app dashboard](https://dev.wix.com/dc3/my-apps/).  For items from Wix catalogs, the following values always apply: + Wix Stores: `"215238eb-22a5-4c36-9e7b-e7c08025e04e"` + Wix Bookings: `"13d21c63-b5ec-5912-8397-c3a5ddb27a97"` + Wix Restaurants: `"9a5d83fd-8570-482e-81ab-cfa88942ee60"`
              - name: options | type: object | description: Additional item details in `key:value` pairs.  Use this optional field for more specificity with item selection. The values of the `options` field differ depending on which catalog is providing the items.  For Wix Stores products, learn more about integrating with [Catalog V3](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v3/e-commerce-integration.md) or [Catalog V1](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-v1/catalog/e-commerce-integration.md), depending on [the version the site uses](https://dev.wix.com/docs/api-reference/business-solutions/stores/catalog-versioning/introduction.md).
           - name: catalogOverrideFields | type: CatalogOverrideFields | description: Overriding values for catalog item properties.
              - name: name | type: TranslatableString | description: Display name for the line item.
              - name: salePrice | type: string | description: Sale price for a single item after modifiers, before discounts.
              - name: fullPrice | type: string | description: Full price for a single item after modifiers, before discounts.
              - name: descriptionLines | type: array<DescriptionLine> | description: Description lines for the item. Shown when displaying the line item to buyers.
                 - ONE-OF:
                    - name: plainText | type: PlainTextValue | description: Description line plain text value.
                       - name: original | type: string | description: Description line plain text value in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                       - name: translated | type: string | description: Description line plain text value translated into the buyer's language.  Default: Same as `original`.
                    - name: colorInfo | type: Color | description: Description line color value.
                       - name: original | type: string | description: Description line color name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                       - name: translated | type: string | description: Description line color name translated into the buyer's language.  Default: Same as `original`.
                       - name: code | type: string | description: HEX or RGB color code for display.
                 - name: name | type: DescriptionLineName | description: Description line name.
                    - name: original | type: string | description: Description line name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                    - name: translated | type: string | description: Description line name translated into the buyer's language.  Default: Same as `original`.
              - name: physicalProperties | type: PhysicalProperties | description: Physical properties of the item.
                 - name: weight | type: number | description: Line item weight. Measurement unit matches the weight unit specified in `weightUnit` in the request.
                 - name: sku | type: string | description: Stock-keeping unit. Learn more about [SKUs](https://www.wix.com/encyclopedia/definition/stock-keeping-unit-sku).
                 - name: shippable | type: boolean | description: Whether this line item is shippable.
              - name: image | type: string | description: Item image.
              - name: paymentOption | type: PaymentOption | description: Selected payment option for the item.
                 - name: value | type: PaymentOptionType | description: Selected payment option type for this item.  Default: `FULL_PAYMENT_ONLINE`
                         - enum:
                         -     FULL_PAYMENT_ONLINE: The entire payment for this item happens as part of the checkout.
                         -     FULL_PAYMENT_OFFLINE: The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods.
                         -     MEMBERSHIP: Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online.
                         -     DEPOSIT_ONLINE: Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`.
                         -     MEMBERSHIP_OFFLINE: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.
                         -     MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER: Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.
              - name: depositAmount | type: string | description: Partial payment due upfront during checkout. Only when `paymentOption.value` is `DEPOSIT_ONLINE`.
              - name: savePaymentMethod | type: boolean | description: Whether to save the payment method on the order.  Default: `false`
              - name: inventoryAppId | type: string | description: GUID of the app managing inventory.
           - name: rootCatalogItemId | type: string | description: When `catalogReference.catalogItemId` isn't the actual catalog item GUID, this field returns the true catalog item GUID. For example, for Wix Bookings, `catalogReference.catalogItemId` is the booking GUID, so this value is the service GUID. In most cases, this matches `catalogReference.catalogItemId`. Used in membership validation.
           - name: inventoryAppId | type: string | description: GUID of the app managing the inventory.
        - name: attributes | type: ItemAttributes | description: Display details for the item.
           - name: descriptionLines | type: array<DescriptionLine> | description: Description lines for the item.
           - name: image | type: string | description: Item image.
           - name: url | type: string | description: URL of the item's page on the site.
           - name: policies | type: array<Policy> | description: Policies shown to the buyer on the checkout page.
              - name: title | type: string | description: Policy title - should be translated
              - name: content | type: string | description: Policy content - should be translated
           - name: itemType | type: ItemType | description: Item type: preset or custom.
              - ONE-OF:
                 - name: preset | type: ItemTypePreset | description: Preset item type.
                         - enum: UNRECOGNISED, PHYSICAL, DIGITAL, GIFT_CARD, SERVICE
                 - name: custom | type: string | description: Custom item type. When none of the preset types are suitable, specifies the custom type.
           - name: physicalProperties | type: PhysicalProperties | description: Physical properties of the item. When relevant, includes SKU, weight, and shippability.
           - name: subscriptionInfo | type: SubscriptionOptionInfo | description: Subscription option details.
              - name: subscriptionSettings | type: SubscriptionSettings | description: Subscription option settings.
                 - name: frequency | type: SubscriptionFrequency | description: Frequency of recurring payment.
                         - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
                 - name: interval | type: integer | description: Interval of recurring payment.  Default: `1`. If SubscriptionFrequency is Day the minimum interval is 7
                 - name: autoRenewal | type: boolean | description: Whether subscription is renewed automatically at the end of each period.
                 - name: billingCycles | type: integer | description: Number of billing cycles before subscription ends. Ignored if `autoRenewal` is `true`.
                 - name: enableCustomerCancellation | type: boolean | description: Whether to allow the customer to cancel the subscription..
                 - name: freeTrialPeriod | type: FreeTrialPeriod | description: Period until first cycle starts. If applied payNow will be 0 If None => no free trial
                    - name: frequency | type: SubscriptionFrequency | description: Frequency of period. Values: DAY, WEEK, MONTH, YEAR
                             - enum: UNDEFINED, DAY, WEEK, MONTH, YEAR
                    - name: interval | type: integer | description: Number of frequency units in the free trial period. For example, frequency `MONTH` with interval `3` means a 3-month free trial.
              - name: title | type: Title | description: Subscription option title.
                 - name: original | type: string | description: Subscription option name in the site's default language as defined in the [request envelope](https://dev.wix.com/docs/build-apps/develop-your-app/frameworks/self-hosting/supported-extensions/backend-extensions/add-self-hosted-service-plugin-extensions.md#request-envelope).
                 - name: translated | type: string | description: Subscription option name translated into the buyer's language.  Default: Same as `original`.
              - name: description | type: Description | description: Subscription option description.
                 - name: original | type: string | description: Subscription option description.
                 - name: translated | type: string | description: Translated subscription option description.
           - name: serviceProperties | type: ServiceProperties | description: Service properties. When relevant, includes date and number of participants.
              - name: scheduledDate | type: Date | description: Date and time the service is to be provided, in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601#Combined_date_and_time_representations) format. For example, the start time of a class.
              - name: numberOfParticipants | type: integer | description: The number of people participating in the service. For example, the number of people attending a class or the number of people per hotel room.
           - name: membersOnly | type: boolean | description: Whether the item can only be purchased by site members.  Default: `false`
        - name: deliveryConfig | type: ItemDeliveryConfig | description: Delivery configuration for the line item.
           - name: deliveryProfileId | type: string | description: Delivery profile GUID.
           - name: fulfillerId | type: string | description: Optional custom fulfiller GUID.
        - name: taxConfig | type: ItemTaxConfig | description: Tax configuration for the line item.
           - name: taxableAddress | type: TaxableAddress | description: Address used for tax calculation.
              - ONE-OF:
                 - name: addressType | type: TaxableAddressType | description: taxable address type. if this field is selected, the address is automatically resolved, and the tax is calculated accordingly.
                         - enum: BUSINESS, BILLING, SHIPPING
           - name: taxGroupId | type: string | description: Tax group GUID for this line item.
        - name: paymentConfig | type: ItemPaymentConfig | description: Payment configuration for the line item.
           - name: savePaymentMethod | type: boolean | description: Whether to save the payment method on the order.  Default: `false`
           - name: consentRequiredPaymentPolicy | type: string | description: Item payment policy that requires buyer consent to complete the purchase. Displayed on the checkout page.
           - name: depositAmount | type: ConvertedMoney | description: Partial payment due upfront during checkout. Only when `paymentOption` is `DEPOSIT_ONLINE`.
           - name: paymentOption | type: PaymentOptionType | description: Selected payment option type for this item.  Default: `FULL_PAYMENT_ONLINE`
                 - enum:
                 -     FULL_PAYMENT_ONLINE: The entire payment for this item happens as part of the checkout.
                 -     FULL_PAYMENT_OFFLINE: The entire payment for this item happens after checkout. For example, when using cash, check, or other offline payment methods.
                 -     MEMBERSHIP: Payment for this item is done by charging a membership. Any remaining amount not covered by the membership, such as item modifiers, is paid online.
                 -     DEPOSIT_ONLINE: Partial payment to be paid upfront during checkout. The initial amount to be paid for each line item is specified in `depositAmount`.
                 -     MEMBERSHIP_OFFLINE: Payment for this item can only be done by charging a membership and must be manually redeemed in the dashboard by the site admin. When selected, `price` is `0`.
                 -     MEMBERSHIP_ONLINE_WITH_OFFLINE_REMAINDER: Item price is charged to online membership. Any remaining amount not covered by the membership, such as item modifiers, is paid offline.
        - name: status | type: ItemStatus | description: Inventory availability status for the line item.
             - enum:
             -     IN_STOCK: Item is available in the requested quantity.
             -     PARTIALLY_IN_STOCK: Only part of the requested quantity is available.
             -     OUT_OF_STOCK: Item is out of stock.
             -     REMOVED_FROM_CATALOG: Item no longer exists in the catalog.
        - name: extendedFields | type: ExtendedFields | description: Custom extended fields for the line item object.  [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured using the Checkout & Orders - Line Items Schema Plugin in the app dashboard before they can be accessed with API calls.
           - name: namespaces | type: object | description: Extended field data. Each key corresponds to the namespace of the app that created the extended fields. The value of each key is structured according to the schema defined when the extended fields were configured.  You can only access fields for which you have the appropriate permissions.  Learn more about [extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md).
        - name: modifierGroups | type: array<ModifierGroup> | description: Modifier groups added to the item.
           - name: _id | type: string | description: Modifier group GUID.
           - name: name | type: TranslatableString | description: Modifier group name.
           - name: modifiers | type: array<ItemModifier> | description: Modifiers in this group.
              - name: _id | type: string | description: Modifier GUID.
              - name: quantity | type: integer | description: Modifier quantity.
              - name: label | type: TranslatableString | description: Primary label for the modifier.
              - name: details | type: TranslatableString | description: Extra modifier copy.
              - name: price | type: ConvertedMoney | description: Modifier price.
        - name: discounts | type: array<ItemDiscount> | description: Discounts applied to this line item.
           - name: name | type: TranslatableString | description: Discount display name.
           - name: amountOff | type: ConvertedMoney | description: Total amount taken off the item's sale price for the full line item quantity.
           - name: source | type: DiscountSource | description: Discount source (for example, coupon or automatic discount) and related identifiers.
              - name: sourceType | type: DiscountSourceType | description: Discount source type.
                     - enum:
                     -     AUTOMATIC_RULE: Discount applied automatically by a rule.
                     -     COUPON: Discount applied by a coupon code.
              - name: couponCode | type: string | description: Coupon code that triggered the discount. Only relevant for coupon discounts.
        - name: customLineItem | type: boolean | description: Whether the line item is a custom line item. Custom line items don't trigger the Catalog service plugin.
     - name: subtotal | type: ConvertedMoney | description: The sum of all line item final prices.
     - name: note | type: string | description: Optional message left by the customer. Usually intended for the merchant and contains special instructions, requests, or clarifications related to the order.
     - name: coupons | type: array<Coupon> | description: List of coupons added to the Cart. Currently only one coupon code is supported.
        - name: _id | type: string | description: Coupon GUID in the cart.
        - name: code | type: string | description: Coupon code entered at checkout.
     - name: source | type: CartSource | description: Information about the source of the Cart, detailing the origin or context in which the Cart was created.
        - name: channelType | type: ChannelType | description: Sales channel that created the cart.
             - enum:
             -     UNSPECIFIED: Unspecified sales channel. This value is not supported.
             -     WEB: A web client.
             -     POS: [Point of sale solutions](https://support.wix.com/en/wix-mobile-pos-2196395).
             -     EBAY: [eBay shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-ebay-shop).
             -     AMAZON: [Amazon shop](https://support.wix.com/en/article/wix-stores-connecting-and-setting-up-an-amazon-shop).
             -     OTHER_PLATFORM: Other sales platform.
             -     WIX_APP_STORE: [Wix Owner app](https://support.wix.com/article/wix-owner-app-an-overview).
             -     WIX_INVOICES: Wix Invoices app in [your dashboard](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Finvoices/settings/general-settings)
             -     BACKOFFICE_MERCHANT: Wix merchant backoffice.
             -     WISH: Wish sales channel.
             -     CLASS_PASS: [ClassPass sales channel](https://support.wix.com/en/article/wix-bookings-letting-clients-book-your-services-with-classpass).
             -     GLOBAL_E: Global-E sales channel.
             -     FACEBOOK: [Facebook shop](https://support.wix.com/en/article/wix-stores-changes-to-facebook-shops).
             -     ETSY: [Etsy sales channel](https://support.wix.com/en/article/wix-stores-request-adding-etsy-as-a-sales-channel).
             -     TIKTOK: [TikTok sales channel](https://support.wix.com/en/article/wix-stores-request-adding-tiktok-as-a-sales-channel).
             -     FAIRE_COM: [Faire marketplace integration](https://support.wix.com/en/article/wix-stores-creating-a-faire-store-using-the-faire-integration-app).
             -     PAYPAL_AGENTIC_CHECKOUT: PayPal Agentic Checkout sales channel.
             -     STRIPE_AGENTIC_CHECKOUT: Stripe Agentic Checkout sales channel.
        - name: externalReferences | type: array<ExternalReference> | description: External app and resource references for this cart, used for integration and tracking across platforms.
           - name: appId | type: string | description: GUID of the app associated with the purchase flow. For example, the Wix Pay Links app GUID.
           - name: resourceId | type: string | description: Reference to an external resource GUID. Used to link the purchase flow to a specific entity in an external system. For example, a Wix Pay Link GUID.
        - name: createdBy | type: CreatedBy | description: Entity that created the cart.
           - ONE-OF:
              - name: visitorId | type: string | description: Site visitor GUID when the visitor isn't a site member.
              - name: memberId | type: string | description: Site member GUID.
              - name: userId | type: string | description: Wix user GUID when the cart was created by a Wix user on behalf of a buyer (for example, POS).
              - name: appId | type: string | description: App GUID when the cart was created by an external app or Wix service.
        - name: customContentReference | type: CustomContentReference | description: App and component GUIDs for the custom checkout page content provider.
           - name: appId | type: string | description: App GUID for the checkout content provider. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).
           - name: componentId | type: string | description: Component GUID within that app. Find it in the [app dashboard](https://dev.wix.com/dc3/my-apps/).
     - name: businessInfo | type: BusinessInfo | description: Information about the site from which the Cart's line items were added.
        - name: locationId | type: string | description: Business location GUID for the cart. See the [Locations API](https://dev.wix.com/docs/rest/business-management/locations/introduction.md).
        - name: languageCode | type: string | description: 2-letter language code in ISO 639-1 alpha-2 format. The business's default language.
        - name: currencyCode | type: string | description: Three-letter currency code in ISO-4217 alphabetic format. The site's base currency; it doesn't change when the [customer selects a different display currency](https://support.wix.com/en/article/multicurrency-an-overview).
     - name: customerInfo | type: CustomerInfo | description: Information about the customer that owns the Cart.
        - name: firstName | type: string | description: Customer's first name.
        - name: lastName | type: string | description: Customer's last name.
        - name: phone | type: string | description: Customer's phone number.
        - name: company | type: string | description: Company name.
        - name: vatId | type: VatId | description: Business VAT registration number.
           - name: _id | type: string | description: Customer's tax GUID.
           - name: type | type: VatType | description: Tax type.  Supported values: + `CPF`: for individual tax payers + `CNPJ`: for corporations
                 - enum:
                 -     UNSPECIFIED: 
                 -     CPF: CPF - for individual tax payers.
                 -     CNPJ: CNPJ - for corporations
        - name: email | type: string | description: Customer's email address.
        - name: contactId | type: string | description: Customer's contact GUID. Created automatically if one doesn't exist yet. See the [Contacts API](https://dev.wix.com/api/rest/contacts/contacts/introduction).
        - name: languageCode | type: string | description: 2-letter language code in ISO 639-1 alpha-2 format. Resolved automatically from request metadata (`x-wix-linguist` header).
        - name: currencyCode | type: string | description: Three-letter currency code in ISO-4217 alphabetic format. [Currency the customer selects](https://support.wix.com/en/article/multicurrency-an-overview) during checkout; it's their preferred display currency and may differ from the site's default.
     - name: deliveryInfo | type: DeliveryInfo | description: Delivery-related information associated with the Cart.
        - name: address | type: Address | description: Delivery address.
           - name: streetAddress | type: StreetAddress | description: none
              - name: name | type: string | description: none
              - name: number | type: string | description: none
           - name: city | type: string | description: none
           - name: subdivision | type: string | description: none
           - name: country | type: string | description: none
           - name: postalCode | type: string | description: none
           - name: addressLine2 | type: string | description: none
        - name: method | type: DeliveryMethod | description: Delivery method selected by the customer.
           - name: code | type: string | description: Shipping rate code. Example: `"usps_std_overnight"`.
           - name: appId | type: string | description: Carrier app GUID.
           - name: title | type: TranslatableString | description: Delivery rate title. Examples: `"USPS Standard Overnight Delivery"`, `"Standard"`, `"First-Class Package International"`.
           - name: pickup | type: boolean | description: Whether this method is pickup.
        - name: weightUnit | type: WeightUnit | description: Weight unit used when shipping items (for example, kg or lb).
             - enum:
             -     UNSPECIFIED_WEIGHT_UNIT: Weight unit can't be classified due to an error.
             -     KG: Kilograms.
             -     LB: Pounds.
     - name: taxInfo | type: TaxInfo | description: Tax-related information associated with the Cart.
        - name: pricesIncludeTax | type: boolean | description: Whether tax is already included in prices (line items, delivery, additional fees).
        - name: taxExemptGroupId | type: string | description: Tax-exempt group GUID applied for tax exemptions.
     - name: paymentInfo | type: PaymentInfo | description: Payment-related information associated with the Cart.
        - name: giftCards | type: array<GiftCard> | description: Gift cards applied to the payment. Only one gift card is supported.
           - name: _id | type: string | description: Unique identifier of the gift card within the cart.
           - name: obfuscatedCode | type: string | description: Partially masked gift card code.
           - name: appId | type: string | description: App GUID of the gift card provider.
           - name: externalId | type: string | description: External GUID in the gift card provider's system, used for integration and tracking across platforms.
           - name: requestedRedeemAmount | type: ConvertedMoney | description: Amount to redeem from this gift card.
        - name: currencyCode | type: string | description: Three-letter currency code in ISO-4217 alphabetic format. Currency used to process payment. Matches `customerInfo.currencyCode` when that currency is supported for payment, otherwise falls back to `businessInfo.currencyCode`.
        - name: billingAddress | type: Address | description: Billing address.
        - name: billingContact | type: FullAddressContactDetails | description: Billing contact details.
           - name: firstName | type: string | description: First name.
           - name: lastName | type: string | description: Last name.
           - name: phone | type: string | description: Phone number.
           - name: company | type: string | description: Company name.
           - name: vatId | type: VatId | description: Tax information (for Brazil only). If GUID is provided, `vatId.type` must also be set, `UNSPECIFIED` is not allowed.
     - name: orderPlaced | type: boolean | description: Whether the Cart has been placed as an Order. Defaults to `false`.
     - name: orderId | type: string | description: Order GUID. Empty until the checkout process is completed.
     - name: purchaseFlowId | type: string | description: Persistent GUID that correlates the Cart with the created Order after checkout is completed.
     - name: settings | type: CartSettings | description: Additional cart settings.  Settings can only be configured at cart creation time and can't be changed afterwards.
        - name: lockGiftCard | type: boolean | description: Whether adding or removing a gift card from the cart is restricted.
        - name: lockCouponCode | type: boolean | description: Whether adding or removing a coupon code from the cart is restricted.
        - name: policyAgreementCheckboxDisabled | type: boolean | description: Whether the policy agreement checkbox is disabled on the checkout page.
        - name: manualPaymentDisabled | type: boolean | description: Whether the manual payment option is disabled on the checkout page.
     - name: customCheckoutUrl | type: string | description: Custom checkout URL to redirect the customer to a checkout page. By default, customers are redirected to the standard Wix checkout page. Clients can override this behavior by providing their own URL here. If the URL contains the placeholder `{checkout_id}`, it will be replaced with the actual Cart GUID.
     - name: extendedFields | type: ExtendedFields | description: Custom fields. [Extended fields](https://dev.wix.com/docs/rest/articles/getting-started/extended-fields.md) must be configured in the app dashboard before they can be accessed with API calls.
     - name: currentCart | type: boolean | description: Whether this is the customer's current cart. The current cart can be accessed using the identity context (for example, `visitorId` from session cookies) without an explicit cart GUID.
     - name: demo | type: boolean | description: Whether this is a demo cart. Demo carts are created in the Wix editor for merchant preview and can't proceed to checkout.  Default: `false`
  - name: modifiedFields | type: Map<string,Value> | description: Fields that were updated and their values before the update.
     - ONE-OF:
        - name: nullValue | type:  | description: 
        - name: numberValue | type: number | description: 
        - name: stringValue | type: string | description: 
        - name: boolValue | type: boolean | description: 
        - name: structValue | type: object | description: 
        - name: listValue | type: ListValue | description: 
           - name: values | type: array<Value> | description: 
  - name: metadata | type: EventMetadata | description: none
     - name: instanceId | type: string | description: App instance GUID.
     - name: eventType | type: string | description: Event type.
     - name: identity | type: IdentificationData | description: The identification type and identity data.
        - ONE-OF:
           - name: anonymousVisitorId | type: string | description: GUID of a site visitor that has not logged in to the site.
           - name: memberId | type: string | description: GUID of a site visitor that has logged in to the site.
           - name: wixUserId | type: string | description: GUID of a Wix user (site owner, contributor, etc.).
           - name: appId | type: string | description: GUID of an app.
        - name: identityType | type: WebhookIdentityType | description: 
             - enum: UNKNOWN, ANONYMOUS_VISITOR, MEMBER, WIX_USER, APP
     - name: accountInfo | type: AccountInfo | description: Details related to the account
        - name: accountId | type: string | description: GUID of the Wix account associated with the event.
        - name: parentAccountId | type: string | description: GUID of the parent Wix account. Only included when accountId belongs to a child account.
        - name: siteId | type: string | description: GUID of the Wix site associated with the event. Only included when the event is tied to a specific site.
     - name: _id | type: string | description: Event GUID. With this GUID you can easily spot duplicated events and ignore them.
     - name: entityFqdn | type: string | description: Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities. For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.
     - name: slug | type: string | description: Event action name, placed at the top level to make it easier for users to dispatch messages. For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.
     - name: entityId | type: string | description: GUID of the entity associated with the event.
     - name: eventTime | type: Date | description: Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`.
     - name: triggeredByAnonymizeRequest | type: boolean | description: Whether the event was triggered as a result of a privacy regulation application (for example, GDPR).
     - name: originatedFrom | type: string | description: If present, indicates the action that triggered the event.
     - name: entityEventSequence | type: string | description: A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number. You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.

```

### Examples


```javascript
import { cartV2 } from '@wix/ecom';

cartV2.onCartUpdated((event) => {
    // handle your event here
});
```


```javascript
import { createClient, AppStrategy } from '@wix/sdk';
import { cartV2 } from '@wix/ecom';

const wixClient = createClient({
  auth: AppStrategy({
    appId: 'MY-APP-ID',
    publicKey: 'YOUR_APP_PUBLIC_KEY',
  }),
  modules: {
      cartV2,
    },
});

wixClient.cartV2.onCartUpdated((event) => {
    // handle your event here
});
```

---