Options
All
  • Public
  • Public/Protected
  • All
Menu

Class ShopperBasketsV2<ConfigParameters>

*# API Overview

Shopper Baskets V2 provides all Shopper Basket V1 functionality and adds support for temporary baskets. Temporary baskets can perform calculations to generate totals, line items, promotions, and item availability without affecting the shopper’s storefront cart, and you can use those calculations for temporary basket checkout. You can also use a temporary basket for an immediate order request.

Note*: dw.ocapi.shop.basket.beforePOST hook is no longer supported and is replaced by the dw.ocapi.shop.basket.beforePOST_v2 hook.

Use the Shopper Baskets API to create a basket in the B2C Commerce system and populate it with all the data required to ready the basket for checkout.

To create a basket, start with the Create basket endpoint. The endpoint creates the basket in the B2C Commerce system and returns a JSON representation of the basket with a basketId property.

If you provide the JSON for a prepopulated basket to the Create basket endpoint, you can create a basket using a single API request.

You can also create a basket and gradually populate it with data using subsequent API requests that reference the same basketId. The gradual approach allows you to validate the input data as you go.

The Shopper Baskets API includes endpoints to populate each part of a basket separately, including:

  • Billing address
  • Customer information
  • Line items
  • Products
  • Coupons
  • Gift certificates
  • Payment methods
  • Price books
  • Shipments
  • Taxation (for items and the basket itself)

In addition to creating a basket, the main /baskets resource offers endpoints to get, transfer, merge, and delete baskets, depending on the HTTP method that you use and the parameters that you supply. These endpoints can you help you handle a variety of complex scenarios, such as when a user starts shopping as a guest and then logs in before checkout.

You can also use the main /baskets resource to add custom properties to your basket, prefixed with c_ (example: c_faxNumber).

When your basket is fully populated, you can use its basketId property to create an order with the Shopper Orders API.

For more detail on building baskets, see Build Baskets and Place Orders.

Authentication & Authorization

The client requesting the basket information must have access to the /baskets resource. The Shopper Baskets API requires a shopper access token from the Shopper Login and API Access Service (SLAS).

For details on how to request a shopper access token from SLAS, see the guest user flows for public clients and private clients in the SLAS guides.

You must include the relevant scope(s) in the client ID used to generate the SLAS token. For details, see the Authorization Scopes Catalog.

The following resources require an Account Manager OAuth token with a client ID:

  • /baskets/{basketId}/taxes
  • /baskets/{basketId}/items/{itemId}/taxes
  • /baskets/{basketId}/price-books

Use Cases

Use Hooks

For details on working with hooks, see Extensibility with Hooks.

Basket Calculation

Unless you’re using hooks, each modification to a basket triggers the following calculations:

  1. Calculate product prices:
  • Iterate through the product line items and determine the base price of each using its price model. If multiple price books apply to a product, the lowest price is used.
  • Calculate product option line item prices using the product option model.
  • For bonus products, check dependent adjustments in the basket to determine the price.
  1. Iterate through the gift certificate line items and calculate the price of each by multiplying the base price by the quantity.
  2. Recalculate for all promotions, adding and removing them as appropriate.
  3. Apply product-specific shipping costs.
  4. Calculate the total shipping cost.
  5. Recalculate for all promotions, adding and removing them as appropriate.
  6. Calculate prices for products added by the promotion engine.
  7. Calculate taxes using line item tax class codes.
  • For internal tax mode, use the tax tables.
  • For external tax mode, use the tax rates returned by the tax API endpoints.
  1. Calculate the order’s net, tax, and gross totals by adding up the line totals.

External Taxation

The B2C Commerce API calculates taxes internally using tax tables. If you want to integrate with a third-party tax provider, or calculate tax on your own, you can use the external taxation feature to add a taxation rate and optional taxation value. When setting a taxation rate, the taxation is calculated for this specific rate. If you pass a value, this value is used as taxation value, as well, without recalculation. To use this feature, set the taxMode parameter to external when creating the basket.

When using external taxation, you must set a tax rate either in one request to the /baskets/{basketId}/taxes or with separate requests for each line item, using /baskets/{basketId}/items/{lineItemId}/taxes.

If the tax mode of a basket is set to external, a tax item is required for all line items even for zero-tax items to avoid oversights.

External Taxation with Hooks Enabled

To use external tax calculation with hooks, use the following API methods in the Calculate Hook:

  • dw.order.LineItemCtnr#isExternallyTaxed: Returns true if the basket was created with taxMode = external
  • dw.order.TaxMgr#applyExternalTax: Applies externally set tax rates to the given basket. Only use when dw.order.LineItemCtnr#isExternallyTaxed returns true.

The following example shows an implementation of external tax calculation with hooks enabled in the Calculate Hook:

exports.calculate = function (basket) { if ( basket.isExternallyTaxed() ) { TaxMgr.applyExternalTaxation( basket ); // apply the external tax calculation based on the tax rates set by the SCAPI external taxation APIs } else { // calculation with tax tables or customization } }

Temporary Baskets

A temporary basket is populated with all the data required to ready the basket for checkout, but differs from a shopper basket in the following ways:

  • Basket lifetime is limited to 15 minutes.
  • The shopper can have up to 10 (default 4) temporary baskets, which can be configured via Basket Preferences (Sites -> Merchant Tools -> Basket Preferences) and specifying the preference Temporary Baskets per Customer.
  • Available to all shoppers (guest and registered shoppers), as well as agents.

To create a temporary basket, set the temporary parameter to true with the Create basket endpoint.*

Simple example:

  import { ShopperBaskets } from "commerce-sdk-isomorphic";

  const clientConfig = {
    parameters: {
      clientId: "XXXXXX",
      organizationId: "XXXX",
      shortCode: "XXX",
      siteId: "XX"
    }
  };
  const shopperBasketsClient = new ShopperBaskets(clientConfig);
API Version: 0.0.33
Last Updated:

Type parameters

Hierarchy

  • ShopperBasketsV2

Index

Constructors

constructor

Properties

clientConfig

clientConfig: ClientConfig<ConfigParameters> & { baseUri: string }

Static Readonly defaultBaseUri

defaultBaseUri: "https://{shortCode}.api.commercecloud.salesforce.com/checkout/shopper-baskets/v2" = currentBaseUri

Static Readonly paramKeys

paramKeys: { addCouponToBasket: ["siteId", "organizationId", "basketId", "locale"]; addCouponToBasketRequired: ["siteId", "organizationId", "basketId"]; addGiftCertificateItemToBasket: ["siteId", "organizationId", "basketId", "locale"]; addGiftCertificateItemToBasketRequired: ["siteId", "organizationId", "basketId"]; addItemToBasket: ["organizationId", "basketId", "siteId", "locale"]; addItemToBasketRequired: ["organizationId", "basketId", "siteId"]; addPaymentInstrumentToBasket: ["organizationId", "basketId", "siteId", "locale"]; addPaymentInstrumentToBasketRequired: ["organizationId", "basketId", "siteId"]; addPriceAdjustmentToBasket: ["organizationId", "basketId", "siteId", "locale"]; addPriceAdjustmentToBasketRequired: ["organizationId", "basketId", "siteId"]; addPriceBooksToBasket: ["organizationId", "basketId", "siteId"]; addPriceBooksToBasketRequired: ["organizationId", "basketId", "siteId"]; addTaxesForBasket: ["organizationId", "basketId", "siteId"]; addTaxesForBasketItem: ["organizationId", "itemId", "basketId", "siteId"]; addTaxesForBasketItemRequired: ["organizationId", "itemId", "basketId", "siteId"]; addTaxesForBasketRequired: ["organizationId", "basketId", "siteId"]; createBasket: ["siteId", "organizationId", "taxMode", "temporary", "locale"]; createBasketRequired: ["siteId", "organizationId"]; createShipmentForBasket: ["organizationId", "basketId", "siteId", "locale"]; createShipmentForBasketRequired: ["organizationId", "basketId", "siteId"]; deleteBasket: ["siteId", "organizationId", "basketId"]; deleteBasketRequired: ["siteId", "organizationId", "basketId"]; getBasket: ["siteId", "organizationId", "basketId", "locale"]; getBasketRequired: ["siteId", "organizationId", "basketId"]; getPaymentMethodsForBasket: ["organizationId", "basketId", "siteId", "locale"]; getPaymentMethodsForBasketRequired: ["organizationId", "basketId", "siteId"]; getPriceBooksForBasket: ["organizationId", "basketId", "siteId"]; getPriceBooksForBasketRequired: ["organizationId", "basketId", "siteId"]; getShippingMethodsForShipment: ["organizationId", "shipmentId", "basketId", "siteId", "locale"]; getShippingMethodsForShipmentRequired: ["organizationId", "shipmentId", "basketId", "siteId"]; getTaxesFromBasket: ["organizationId", "basketId", "siteId"]; getTaxesFromBasketRequired: ["organizationId", "basketId", "siteId"]; mergeBasket: ["siteId", "organizationId", "createDestinationBasket", "productItemMergeMode", "locale"]; mergeBasketRequired: ["siteId", "organizationId"]; removeCouponFromBasket: ["siteId", "organizationId", "basketId", "couponItemId", "locale"]; removeCouponFromBasketRequired: ["siteId", "organizationId", "basketId", "couponItemId"]; removeGiftCertificateItemFromBasket: ["siteId", "organizationId", "basketId", "giftCertificateItemId", "locale"]; removeGiftCertificateItemFromBasketRequired: ["siteId", "organizationId", "basketId", "giftCertificateItemId"]; removeItemFromBasket: ["itemId", "organizationId", "basketId", "siteId", "locale"]; removeItemFromBasketRequired: ["itemId", "organizationId", "basketId", "siteId"]; removePaymentInstrumentFromBasket: ["paymentInstrumentId", "organizationId", "basketId", "siteId", "locale"]; removePaymentInstrumentFromBasketRequired: ["paymentInstrumentId", "organizationId", "basketId", "siteId"]; removePriceAdjustmentFromBasket: ["priceAdjustmentId", "organizationId", "basketId", "siteId", "locale"]; removePriceAdjustmentFromBasketRequired: ["priceAdjustmentId", "organizationId", "basketId", "siteId"]; removeShipmentFromBasket: ["shipmentId", "organizationId", "basketId", "siteId", "locale"]; removeShipmentFromBasketRequired: ["shipmentId", "organizationId", "basketId", "siteId"]; transferBasket: ["siteId", "organizationId", "overrideExisting", "locale"]; transferBasketRequired: ["siteId", "organizationId"]; updateAsAgentBasket: ["siteId", "organizationId", "basketId", "locale"]; updateAsAgentBasketRequired: ["siteId", "organizationId", "basketId"]; updateAsStorefrontBasket: ["organizationId", "basketId", "siteId", "exchange", "locale"]; updateAsStorefrontBasketRequired: ["organizationId", "basketId", "siteId"]; updateBasket: ["siteId", "organizationId", "basketId", "removeExternalTax", "locale"]; updateBasketRequired: ["siteId", "organizationId", "basketId"]; updateBillingAddressForBasket: ["siteId", "organizationId", "basketId", "locale", "useAsShipping", "removeExternalTax"]; updateBillingAddressForBasketRequired: ["siteId", "organizationId", "basketId"]; updateCustomerForBasket: ["siteId", "organizationId", "basketId", "locale"]; updateCustomerForBasketRequired: ["siteId", "organizationId", "basketId"]; updateGiftCertificateItemInBasket: ["siteId", "organizationId", "basketId", "giftCertificateItemId", "locale"]; updateGiftCertificateItemInBasketRequired: ["siteId", "organizationId", "basketId", "giftCertificateItemId"]; updateItemInBasket: ["itemId", "organizationId", "basketId", "siteId", "removeExternalTax", "locale"]; updateItemInBasketRequired: ["itemId", "organizationId", "basketId", "siteId"]; updateItemsInBasket: ["organizationId", "basketId", "siteId", "removeExternalTax", "locale"]; updateItemsInBasketRequired: ["organizationId", "basketId", "siteId"]; updatePaymentInstrumentInBasket: ["paymentInstrumentId", "organizationId", "basketId", "siteId", "removeExternalTax", "locale"]; updatePaymentInstrumentInBasketRequired: ["paymentInstrumentId", "organizationId", "basketId", "siteId"]; updatePriceAdjustmentInBasket: ["priceAdjustmentId", "organizationId", "basketId", "siteId"]; updatePriceAdjustmentInBasketRequired: ["priceAdjustmentId", "organizationId", "basketId", "siteId"]; updateShipmentForBasket: ["shipmentId", "organizationId", "basketId", "siteId", "locale"]; updateShipmentForBasketRequired: ["shipmentId", "organizationId", "basketId", "siteId"]; updateShippingAddressForShipment: ["organizationId", "shipmentId", "basketId", "siteId", "useAsBilling", "removeExternalTax", "locale"]; updateShippingAddressForShipmentRequired: ["organizationId", "shipmentId", "basketId", "siteId"]; updateShippingMethodForShipment: ["organizationId", "shipmentId", "basketId", "siteId", "locale"]; updateShippingMethodForShipmentRequired: ["organizationId", "shipmentId", "basketId", "siteId"] } = {addCouponToBasket: ['siteId','organizationId','basketId','locale',],addCouponToBasketRequired: ['siteId','organizationId','basketId',],addGiftCertificateItemToBasket: ['siteId','organizationId','basketId','locale',],addGiftCertificateItemToBasketRequired: ['siteId','organizationId','basketId',],addItemToBasket: ['organizationId','basketId','siteId','locale',],addItemToBasketRequired: ['organizationId','basketId','siteId',],addPaymentInstrumentToBasket: ['organizationId','basketId','siteId','locale',],addPaymentInstrumentToBasketRequired: ['organizationId','basketId','siteId',],addPriceAdjustmentToBasket: ['organizationId','basketId','siteId','locale',],addPriceAdjustmentToBasketRequired: ['organizationId','basketId','siteId',],addPriceBooksToBasket: ['organizationId','basketId','siteId',],addPriceBooksToBasketRequired: ['organizationId','basketId','siteId',],addTaxesForBasket: ['organizationId','basketId','siteId',],addTaxesForBasketRequired: ['organizationId','basketId','siteId',],addTaxesForBasketItem: ['organizationId','itemId','basketId','siteId',],addTaxesForBasketItemRequired: ['organizationId','itemId','basketId','siteId',],createBasket: ['siteId','organizationId','taxMode','temporary','locale',],createBasketRequired: ['siteId','organizationId',],createShipmentForBasket: ['organizationId','basketId','siteId','locale',],createShipmentForBasketRequired: ['organizationId','basketId','siteId',],deleteBasket: ['siteId','organizationId','basketId',],deleteBasketRequired: ['siteId','organizationId','basketId',],getBasket: ['siteId','organizationId','basketId','locale',],getBasketRequired: ['siteId','organizationId','basketId',],getPaymentMethodsForBasket: ['organizationId','basketId','siteId','locale',],getPaymentMethodsForBasketRequired: ['organizationId','basketId','siteId',],getPriceBooksForBasket: ['organizationId','basketId','siteId',],getPriceBooksForBasketRequired: ['organizationId','basketId','siteId',],getShippingMethodsForShipment: ['organizationId','shipmentId','basketId','siteId','locale',],getShippingMethodsForShipmentRequired: ['organizationId','shipmentId','basketId','siteId',],getTaxesFromBasket: ['organizationId','basketId','siteId',],getTaxesFromBasketRequired: ['organizationId','basketId','siteId',],mergeBasket: ['siteId','organizationId','createDestinationBasket','productItemMergeMode','locale',],mergeBasketRequired: ['siteId','organizationId',],removeCouponFromBasket: ['siteId','organizationId','basketId','couponItemId','locale',],removeCouponFromBasketRequired: ['siteId','organizationId','basketId','couponItemId',],removeGiftCertificateItemFromBasket: ['siteId','organizationId','basketId','giftCertificateItemId','locale',],removeGiftCertificateItemFromBasketRequired: ['siteId','organizationId','basketId','giftCertificateItemId',],removeItemFromBasket: ['itemId','organizationId','basketId','siteId','locale',],removeItemFromBasketRequired: ['itemId','organizationId','basketId','siteId',],removePaymentInstrumentFromBasket: ['paymentInstrumentId','organizationId','basketId','siteId','locale',],removePaymentInstrumentFromBasketRequired: ['paymentInstrumentId','organizationId','basketId','siteId',],removePriceAdjustmentFromBasket: ['priceAdjustmentId','organizationId','basketId','siteId','locale',],removePriceAdjustmentFromBasketRequired: ['priceAdjustmentId','organizationId','basketId','siteId',],removeShipmentFromBasket: ['shipmentId','organizationId','basketId','siteId','locale',],removeShipmentFromBasketRequired: ['shipmentId','organizationId','basketId','siteId',],transferBasket: ['siteId','organizationId','overrideExisting','locale',],transferBasketRequired: ['siteId','organizationId',],updateAsAgentBasket: ['siteId','organizationId','basketId','locale',],updateAsAgentBasketRequired: ['siteId','organizationId','basketId',],updateAsStorefrontBasket: ['organizationId','basketId','siteId','exchange','locale',],updateAsStorefrontBasketRequired: ['organizationId','basketId','siteId',],updateBasket: ['siteId','organizationId','basketId','removeExternalTax','locale',],updateBasketRequired: ['siteId','organizationId','basketId',],updateBillingAddressForBasket: ['siteId','organizationId','basketId','locale','useAsShipping','removeExternalTax',],updateBillingAddressForBasketRequired: ['siteId','organizationId','basketId',],updateCustomerForBasket: ['siteId','organizationId','basketId','locale',],updateCustomerForBasketRequired: ['siteId','organizationId','basketId',],updateGiftCertificateItemInBasket: ['siteId','organizationId','basketId','giftCertificateItemId','locale',],updateGiftCertificateItemInBasketRequired: ['siteId','organizationId','basketId','giftCertificateItemId',],updateItemInBasket: ['itemId','organizationId','basketId','siteId','removeExternalTax','locale',],updateItemInBasketRequired: ['itemId','organizationId','basketId','siteId',],updateItemsInBasket: ['organizationId','basketId','siteId','removeExternalTax','locale',],updateItemsInBasketRequired: ['organizationId','basketId','siteId',],updatePaymentInstrumentInBasket: ['paymentInstrumentId','organizationId','basketId','siteId','removeExternalTax','locale',],updatePaymentInstrumentInBasketRequired: ['paymentInstrumentId','organizationId','basketId','siteId',],updatePriceAdjustmentInBasket: ['priceAdjustmentId','organizationId','basketId','siteId',],updatePriceAdjustmentInBasketRequired: ['priceAdjustmentId','organizationId','basketId','siteId',],updateShipmentForBasket: ['shipmentId','organizationId','basketId','siteId','locale',],updateShipmentForBasketRequired: ['shipmentId','organizationId','basketId','siteId',],updateShippingAddressForShipment: ['organizationId','shipmentId','basketId','siteId','useAsBilling','removeExternalTax','locale',],updateShippingAddressForShipmentRequired: ['organizationId','shipmentId','basketId','siteId',],updateShippingMethodForShipment: ['organizationId','shipmentId','basketId','siteId','locale',],updateShippingMethodForShipmentRequired: ['organizationId','shipmentId','basketId','siteId',],} as const

Type declaration

  • addCouponToBasket: ["siteId", "organizationId", "basketId", "locale"]
  • addCouponToBasketRequired: ["siteId", "organizationId", "basketId"]
  • addGiftCertificateItemToBasket: ["siteId", "organizationId", "basketId", "locale"]
  • addGiftCertificateItemToBasketRequired: ["siteId", "organizationId", "basketId"]
  • addItemToBasket: ["organizationId", "basketId", "siteId", "locale"]
  • addItemToBasketRequired: ["organizationId", "basketId", "siteId"]
  • addPaymentInstrumentToBasket: ["organizationId", "basketId", "siteId", "locale"]
  • addPaymentInstrumentToBasketRequired: ["organizationId", "basketId", "siteId"]
  • addPriceAdjustmentToBasket: ["organizationId", "basketId", "siteId", "locale"]
  • addPriceAdjustmentToBasketRequired: ["organizationId", "basketId", "siteId"]
  • addPriceBooksToBasket: ["organizationId", "basketId", "siteId"]
  • addPriceBooksToBasketRequired: ["organizationId", "basketId", "siteId"]
  • addTaxesForBasket: ["organizationId", "basketId", "siteId"]
  • addTaxesForBasketItem: ["organizationId", "itemId", "basketId", "siteId"]
  • addTaxesForBasketItemRequired: ["organizationId", "itemId", "basketId", "siteId"]
  • addTaxesForBasketRequired: ["organizationId", "basketId", "siteId"]
  • createBasket: ["siteId", "organizationId", "taxMode", "temporary", "locale"]
  • createBasketRequired: ["siteId", "organizationId"]
  • createShipmentForBasket: ["organizationId", "basketId", "siteId", "locale"]
  • createShipmentForBasketRequired: ["organizationId", "basketId", "siteId"]
  • deleteBasket: ["siteId", "organizationId", "basketId"]
  • deleteBasketRequired: ["siteId", "organizationId", "basketId"]
  • getBasket: ["siteId", "organizationId", "basketId", "locale"]
  • getBasketRequired: ["siteId", "organizationId", "basketId"]
  • getPaymentMethodsForBasket: ["organizationId", "basketId", "siteId", "locale"]
  • getPaymentMethodsForBasketRequired: ["organizationId", "basketId", "siteId"]
  • getPriceBooksForBasket: ["organizationId", "basketId", "siteId"]
  • getPriceBooksForBasketRequired: ["organizationId", "basketId", "siteId"]
  • getShippingMethodsForShipment: ["organizationId", "shipmentId", "basketId", "siteId", "locale"]
  • getShippingMethodsForShipmentRequired: ["organizationId", "shipmentId", "basketId", "siteId"]
  • getTaxesFromBasket: ["organizationId", "basketId", "siteId"]
  • getTaxesFromBasketRequired: ["organizationId", "basketId", "siteId"]
  • mergeBasket: ["siteId", "organizationId", "createDestinationBasket", "productItemMergeMode", "locale"]
  • mergeBasketRequired: ["siteId", "organizationId"]
  • removeCouponFromBasket: ["siteId", "organizationId", "basketId", "couponItemId", "locale"]
  • removeCouponFromBasketRequired: ["siteId", "organizationId", "basketId", "couponItemId"]
  • removeGiftCertificateItemFromBasket: ["siteId", "organizationId", "basketId", "giftCertificateItemId", "locale"]
  • removeGiftCertificateItemFromBasketRequired: ["siteId", "organizationId", "basketId", "giftCertificateItemId"]
  • removeItemFromBasket: ["itemId", "organizationId", "basketId", "siteId", "locale"]
  • removeItemFromBasketRequired: ["itemId", "organizationId", "basketId", "siteId"]
  • removePaymentInstrumentFromBasket: ["paymentInstrumentId", "organizationId", "basketId", "siteId", "locale"]
  • removePaymentInstrumentFromBasketRequired: ["paymentInstrumentId", "organizationId", "basketId", "siteId"]
  • removePriceAdjustmentFromBasket: ["priceAdjustmentId", "organizationId", "basketId", "siteId", "locale"]
  • removePriceAdjustmentFromBasketRequired: ["priceAdjustmentId", "organizationId", "basketId", "siteId"]
  • removeShipmentFromBasket: ["shipmentId", "organizationId", "basketId", "siteId", "locale"]
  • removeShipmentFromBasketRequired: ["shipmentId", "organizationId", "basketId", "siteId"]
  • transferBasket: ["siteId", "organizationId", "overrideExisting", "locale"]
  • transferBasketRequired: ["siteId", "organizationId"]
  • updateAsAgentBasket: ["siteId", "organizationId", "basketId", "locale"]
  • updateAsAgentBasketRequired: ["siteId", "organizationId", "basketId"]
  • updateAsStorefrontBasket: ["organizationId", "basketId", "siteId", "exchange", "locale"]
  • updateAsStorefrontBasketRequired: ["organizationId", "basketId", "siteId"]
  • updateBasket: ["siteId", "organizationId", "basketId", "removeExternalTax", "locale"]
  • updateBasketRequired: ["siteId", "organizationId", "basketId"]
  • updateBillingAddressForBasket: ["siteId", "organizationId", "basketId", "locale", "useAsShipping", "removeExternalTax"]
  • updateBillingAddressForBasketRequired: ["siteId", "organizationId", "basketId"]
  • updateCustomerForBasket: ["siteId", "organizationId", "basketId", "locale"]
  • updateCustomerForBasketRequired: ["siteId", "organizationId", "basketId"]
  • updateGiftCertificateItemInBasket: ["siteId", "organizationId", "basketId", "giftCertificateItemId", "locale"]
  • updateGiftCertificateItemInBasketRequired: ["siteId", "organizationId", "basketId", "giftCertificateItemId"]
  • updateItemInBasket: ["itemId", "organizationId", "basketId", "siteId", "removeExternalTax", "locale"]
  • updateItemInBasketRequired: ["itemId", "organizationId", "basketId", "siteId"]
  • updateItemsInBasket: ["organizationId", "basketId", "siteId", "removeExternalTax", "locale"]
  • updateItemsInBasketRequired: ["organizationId", "basketId", "siteId"]
  • updatePaymentInstrumentInBasket: ["paymentInstrumentId", "organizationId", "basketId", "siteId", "removeExternalTax", "locale"]
  • updatePaymentInstrumentInBasketRequired: ["paymentInstrumentId", "organizationId", "basketId", "siteId"]
  • updatePriceAdjustmentInBasket: ["priceAdjustmentId", "organizationId", "basketId", "siteId"]
  • updatePriceAdjustmentInBasketRequired: ["priceAdjustmentId", "organizationId", "basketId", "siteId"]
  • updateShipmentForBasket: ["shipmentId", "organizationId", "basketId", "siteId", "locale"]
  • updateShipmentForBasketRequired: ["shipmentId", "organizationId", "basketId", "siteId"]
  • updateShippingAddressForShipment: ["organizationId", "shipmentId", "basketId", "siteId", "useAsBilling", "removeExternalTax", "locale"]
  • updateShippingAddressForShipmentRequired: ["organizationId", "shipmentId", "basketId", "siteId"]
  • updateShippingMethodForShipment: ["organizationId", "shipmentId", "basketId", "siteId", "locale"]
  • updateShippingMethodForShipmentRequired: ["organizationId", "shipmentId", "basketId", "siteId"]

Methods

addCouponToBasket

  • Adds a coupon to an existing basket.

    If you would like to get a raw Response object use the other addCouponToBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Adds a coupon to an existing basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

addGiftCertificateItemToBasket

  • Adds a gift certificate item to an existing basket.

    If you would like to get a raw Response object use the other addGiftCertificateItemToBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Adds a gift certificate item to an existing basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

addItemToBasket

  • Adds new items to a basket. The added items are associated with the specified shipment. If no shipment id is specified, the added items are associated with the default shipment. Considered values from the request body, for each item are:

    • productId: a valid product ID. This is the ID of the product to be added to the basket. If the product is already in the basket, the API either increments the quantity of the existing product line item or creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and product bundles containing variation masters, the API creates a new product line item regardless of the site preference.
    • shipmentId: a valid shipment ID (optional). This is the ID of the shipment in which the product item is created.
    • quantity: a number between 0.01 and 999. This is the quantity of the product to order.
    • inventoryId: a valid inventory ID (optional). This is the ID of the inventory from which the item is allocated.
    • bonusDiscountLineItemId: a valid bonus discount line item ID (optional). This is the ID of the bonus discount line item for which the added product is a selected bonus product.
    • optionItems/optionValueId: a valid option value ID. This is an option value for an option item of an option product. This is only possible if the product item is an option product. To set option values, you must specify a collection of option items in the optionItems property. These option items must contain optionId and optionValueId. Also, the values you specify must be valid for the option product that this product item represents. Otherwise, the server throws an InvalidProductOptionItemException or an InvalidProductOptionValueItemException.
    • custom properties in the form c_: the custom property must correspond to a custom attribute () defined for ProductLineItem. The value of this property must be valid for the type of custom attribute defined for ProductLineItem.

    If you would like to get a raw Response object use the other addItemToBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Adds new items to a basket. The added items are associated with the specified shipment. If no shipment id is specified, the added items are associated with the default shipment. Considered values from the request body, for each item are:

    • productId: a valid product ID. This is the ID of the product to be added to the basket. If the product is already in the basket, the API either increments the quantity of the existing product line item or creates a new product line item, based on the site preference 'Add Product Behavior'. For option products and product bundles containing variation masters, the API creates a new product line item regardless of the site preference.
    • shipmentId: a valid shipment ID (optional). This is the ID of the shipment in which the product item is created.
    • quantity: a number between 0.01 and 999. This is the quantity of the product to order.
    • inventoryId: a valid inventory ID (optional). This is the ID of the inventory from which the item is allocated.
    • bonusDiscountLineItemId: a valid bonus discount line item ID (optional). This is the ID of the bonus discount line item for which the added product is a selected bonus product.
    • optionItems/optionValueId: a valid option value ID. This is an option value for an option item of an option product. This is only possible if the product item is an option product. To set option values, you must specify a collection of option items in the optionItems property. These option items must contain optionId and optionValueId. Also, the values you specify must be valid for the option product that this product item represents. Otherwise, the server throws an InvalidProductOptionItemException or an InvalidProductOptionValueItemException.
    • custom properties in the form c_: the custom property must correspond to a custom attribute () defined for ProductLineItem. The value of this property must be valid for the type of custom attribute defined for ProductLineItem.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

addPaymentInstrumentToBasket

addPriceAdjustmentToBasket

  • Adds a custom manual price adjustment to the basket.

    If you would like to get a raw Response object use the other addPriceAdjustmentToBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Adds a custom manual price adjustment to the basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

addPriceBooksToBasket

  • ( DEPRECATED ) This method allows you to put an array of priceBookIds to an existing basket, which will be used for basket calculation. This endpoint is deprecated. Use Shopper Context, hooks or dw.catalog.PriceBookMgr#setApplicablePriceBooks() instead.

    If you would like to get a raw Response object use the other addPriceBooksToBasket function.

    Parameters

    Returns Promise<void>

    A promise of type void.

  • ( DEPRECATED ) This method allows you to put an array of priceBookIds to an existing basket, which will be used for basket calculation. This endpoint is deprecated. Use Shopper Context, hooks or dw.catalog.PriceBookMgr#setApplicablePriceBooks() instead.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : void>

    A promise of type Response if rawResponse is true, a promise of type void otherwise.

addTaxesForBasket

  • This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for all taxable line items. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information.

    If you would like to get a raw Response object use the other addTaxesForBasket function.

    Parameters

    Returns Promise<void>

    A promise of type void.

  • This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for all taxable line items. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : void>

    A promise of type Response if rawResponse is true, a promise of type void otherwise.

addTaxesForBasketItem

  • This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for a specific taxable line item. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information.

    If you would like to get a raw Response object use the other addTaxesForBasketItem function.

    Parameters

    Returns Promise<void>

    A promise of type void.

  • This method allows you to apply external taxation data to an existing basket to be able to pass tax rates and optional values for a specific taxable line item. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : void>

    A promise of type Response if rawResponse is true, a promise of type void otherwise.

createBasket

  • Creates a new basket.

    The created basket is initialized with default values. Optional JSON data provided in the request body is populated into the created basket. It can be updated with other endpoints offered by the Shopper Baskets API.

    Each customer can have just one open basket. When a basket is created, it is said to be open. It remains open until either an order is created from it or it is deleted.

    If you would like to get a raw Response object use the other createBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Creates a new basket.

    The created basket is initialized with default values. Optional JSON data provided in the request body is populated into the created basket. It can be updated with other endpoints offered by the Shopper Baskets API.

    Each customer can have just one open basket. When a basket is created, it is said to be open. It remains open until either an order is created from it or it is deleted.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

createShipmentForBasket

  • Creates a new shipment for a basket.

    The created shipment is initialized with values provided in the body document and can be updated with further data API calls. Considered from the body are the following properties if specified:

    • the ID
    • the shipping address
    • the shipping method
    • gift boolean flag
    • gift message
    • custom properties

    If you would like to get a raw Response object use the other createShipmentForBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Creates a new shipment for a basket.

    The created shipment is initialized with values provided in the body document and can be updated with further data API calls. Considered from the body are the following properties if specified:

    • the ID
    • the shipping address
    • the shipping method
    • gift boolean flag
    • gift message
    • custom properties

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

deleteBasket

  • Removes a basket.

    If you would like to get a raw Response object use the other deleteBasket function.

    Parameters

    Returns Promise<void>

    A promise of type void.

  • Removes a basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : void>

    A promise of type Response if rawResponse is true, a promise of type void otherwise.

getBasket

  • Gets a basket.

    If you would like to get a raw Response object use the other getBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Gets a basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

getPaymentMethodsForBasket

  • Gets applicable payment methods for an existing basket considering the open payment amount only.

    If you would like to get a raw Response object use the other getPaymentMethodsForBasket function.

    Parameters

    Returns Promise<PaymentMethodResult>

    A promise of type PaymentMethodResult.

  • Gets applicable payment methods for an existing basket considering the open payment amount only.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : PaymentMethodResult>

    A promise of type Response if rawResponse is true, a promise of type PaymentMethodResult otherwise.

getPriceBooksForBasket

  • ( DEPRECATED ) Gets applicable price books for an existing basket. This endpoint is deprecated. Use Shopper Context, hooks or dw.catalog.PriceBookMgr#getApplicablePriceBooks() instead.

    If you would like to get a raw Response object use the other getPriceBooksForBasket function.

    Parameters

    Returns Promise<Array<string>>

    A promise of type Array.

  • ( DEPRECATED ) Gets applicable price books for an existing basket. This endpoint is deprecated. Use Shopper Context, hooks or dw.catalog.PriceBookMgr#getApplicablePriceBooks() instead.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Array<string>>

    A promise of type Response if rawResponse is true, a promise of type Array otherwise.

getShippingMethodsForShipment

  • Gets the applicable shipping methods for a certain shipment of a basket.

    If you would like to get a raw Response object use the other getShippingMethodsForShipment function.

    Parameters

    Returns Promise<ShippingMethodResult>

    A promise of type ShippingMethodResult.

  • Gets the applicable shipping methods for a certain shipment of a basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : ShippingMethodResult>

    A promise of type Response if rawResponse is true, a promise of type ShippingMethodResult otherwise.

getTaxesFromBasket

  • This method gives you the external taxation data set by the PUT taxes API. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information.

    If you would like to get a raw Response object use the other getTaxesFromBasket function.

    Parameters

    Returns Promise<Taxes>

    A promise of type Taxes.

  • This method gives you the external taxation data set by the PUT taxes API. This endpoint can be called only if external taxation mode was used for basket creation. See POST /baskets for more information.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Taxes>

    A promise of type Response if rawResponse is true, a promise of type Taxes otherwise.

mergeBasket

  • Merge data from the previous shopper's basket into the current shopper's active basket and delete the previous shopper's basket. This endpoint doesn't merge Personally Identifiable Information (PII). You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. After the merge, all basket amounts are recalculated and totaled, including lookups for prices, taxes, shipping, and promotions, unless hooks are enabled.

    The following information is merged:

    • custom attributes on the basket and on all copied records
    • product items
    • gift certificate items
    • coupon items
    • shipments
    • ad-hoc price adjustments

    To control the merging of products that exist in both baskets, use the productItemMergeMode parameter. By default, the higher of the two basket quantities is used for each product. Products in both baskets are considered to be the same when all of the following values match (if one product doesn't have a value, the other product is a match only if it also doesn't have that value):

    • shipment
    • productId
    • option values
    • wishlist reference
    • inventory list id
    • gift flag & message
    • ad-hoc price adjustments

    If any of the listed values don't match, then the item in the previous shopper's basket is copied to a new line item in the current shopper's basket. If the listed values all match, but the matching products have different values for any custom attribute, the merged line item keeps the custom attribute value from the current shopper's basket.

    A success response contains the current shopper's active basket. The previous guest shopper's active basket is deleted.

    If the current shopper doesn't have an active basket, and the createDestinationBasket request parameter is false, then the merge request returns a BasketMergeException (HTTP status 409). You can proceed with one of these options:

    • Transfer the previous shopper's active basket to the current logged-in shopper by calling the baskets/transfer endpoint.
    • Force the merge by calling the baskets/merge endpoint again, with the parameter createDestinationBasket=true. Forcing the merge creates a new basket for the current shopper and copies information from the previous shopper's basket into it. Because the merge doesn't copy all basket data, a forced merge is not the same as a transfer. For example, the new basket doesn't contain any Personally Identifiable Information (PII) from the previous basket.

    before merge

    Previous Shopper's Basket, SKU: Quantity, Custom Attributes Current Shopper's Basket, SKU: Quantity, Custom Attributes
    SKU_A: 5
    SKU_B: 3
    SKU_C: 4
    c_customAttr_1: 'ABC'
    c_customAttr_2: 'DEF'
    SKU_A: 2
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_3: 'XYZ'

    after merge - (previous shopper's basket is deleted)

    productItemMergeMode Current Shopper's Basket - SKU: Quantity, Custom Attributes
    sum_quantities SKU_A: 7
    SKU_B: 3
    SKU_C: 4
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_2: 'DEF'
    c_customAttr_3: 'XYZ'
    higher_quantity SKU_A: 5
    SKU_B: 3
    SKU_C: 4
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_2: 'DEF'
    c_customAttr_3: 'XYZ'
    saved_quantity SKU_A: 2
    SKU_B: 3
    SKU_C: 4
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_2: 'DEF'
    c_customAttr_3: 'XYZ'
    separate_item SKU_A: 5
    SKU_B: 3
    SKU_C: 4
    SKU_A: 2
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_2: 'DEF'
    c_customAttr_3: 'XYZ'

    If you would like to get a raw Response object use the other mergeBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Merge data from the previous shopper's basket into the current shopper's active basket and delete the previous shopper's basket. This endpoint doesn't merge Personally Identifiable Information (PII). You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token. After the merge, all basket amounts are recalculated and totaled, including lookups for prices, taxes, shipping, and promotions, unless hooks are enabled.

    The following information is merged:

    • custom attributes on the basket and on all copied records
    • product items
    • gift certificate items
    • coupon items
    • shipments
    • ad-hoc price adjustments

    To control the merging of products that exist in both baskets, use the productItemMergeMode parameter. By default, the higher of the two basket quantities is used for each product. Products in both baskets are considered to be the same when all of the following values match (if one product doesn't have a value, the other product is a match only if it also doesn't have that value):

    • shipment
    • productId
    • option values
    • wishlist reference
    • inventory list id
    • gift flag & message
    • ad-hoc price adjustments

    If any of the listed values don't match, then the item in the previous shopper's basket is copied to a new line item in the current shopper's basket. If the listed values all match, but the matching products have different values for any custom attribute, the merged line item keeps the custom attribute value from the current shopper's basket.

    A success response contains the current shopper's active basket. The previous guest shopper's active basket is deleted.

    If the current shopper doesn't have an active basket, and the createDestinationBasket request parameter is false, then the merge request returns a BasketMergeException (HTTP status 409). You can proceed with one of these options:

    • Transfer the previous shopper's active basket to the current logged-in shopper by calling the baskets/transfer endpoint.
    • Force the merge by calling the baskets/merge endpoint again, with the parameter createDestinationBasket=true. Forcing the merge creates a new basket for the current shopper and copies information from the previous shopper's basket into it. Because the merge doesn't copy all basket data, a forced merge is not the same as a transfer. For example, the new basket doesn't contain any Personally Identifiable Information (PII) from the previous basket.

    before merge

    Previous Shopper's Basket, SKU: Quantity, Custom Attributes Current Shopper's Basket, SKU: Quantity, Custom Attributes
    SKU_A: 5
    SKU_B: 3
    SKU_C: 4
    c_customAttr_1: 'ABC'
    c_customAttr_2: 'DEF'
    SKU_A: 2
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_3: 'XYZ'

    after merge - (previous shopper's basket is deleted)

    productItemMergeMode Current Shopper's Basket - SKU: Quantity, Custom Attributes
    sum_quantities SKU_A: 7
    SKU_B: 3
    SKU_C: 4
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_2: 'DEF'
    c_customAttr_3: 'XYZ'
    higher_quantity SKU_A: 5
    SKU_B: 3
    SKU_C: 4
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_2: 'DEF'
    c_customAttr_3: 'XYZ'
    saved_quantity SKU_A: 2
    SKU_B: 3
    SKU_C: 4
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_2: 'DEF'
    c_customAttr_3: 'XYZ'
    separate_item SKU_A: 5
    SKU_B: 3
    SKU_C: 4
    SKU_A: 2
    SKU_D: 6
    SKU_E: 7
    c_customAttr_1: 'UVW'
    c_customAttr_2: 'DEF'
    c_customAttr_3: 'XYZ'

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

removeCouponFromBasket

  • Removes a coupon from the basket.

    If you would like to get a raw Response object use the other removeCouponFromBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Removes a coupon from the basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

removeGiftCertificateItemFromBasket

  • Deletes a gift certificate item from an existing basket.

    If you would like to get a raw Response object use the other removeGiftCertificateItemFromBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Deletes a gift certificate item from an existing basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

removeItemFromBasket

  • Removes a product item from the basket.

    If you would like to get a raw Response object use the other removeItemFromBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Removes a product item from the basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

removePaymentInstrumentFromBasket

  • Removes a payment instrument of a basket.

    If you would like to get a raw Response object use the other removePaymentInstrumentFromBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Removes a payment instrument of a basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

removePriceAdjustmentFromBasket

  • Removes a custom manual price adjustment from the basket.

    If you would like to get a raw Response object use the other removePriceAdjustmentFromBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Removes a custom manual price adjustment from the basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

removeShipmentFromBasket

  • Removes a specified shipment and all associated product, gift certificate, shipping, and price adjustment line items from a basket. It is not allowed to remove the default shipment.

    If you would like to get a raw Response object use the other removeShipmentFromBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Removes a specified shipment and all associated product, gift certificate, shipping, and price adjustment line items from a basket. It is not allowed to remove the default shipment.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

transferBasket

  • Transfer the previous shopper's basket to the current shopper by updating the basket's owner. No other values change. You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token.

    A success response contains the transferred basket.

    If the current shopper has an active basket, and the overrideExisting request parameter is false, then the transfer request returns a BasketTransferException (HTTP status 409). You can proceed with one of these options:

    • Keep the current shopper's active basket.
    • Merge the previous and current shoppers' baskets by calling the baskets/merge endpoint.
    • Force the transfer by calling the baskets/transfer endpoint again, with the parameter overrideExisting=true. Forcing the transfer deletes the current shopper's active basket.

    If you would like to get a raw Response object use the other transferBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Transfer the previous shopper's basket to the current shopper by updating the basket's owner. No other values change. You must obtain the shopper authorization token via SLAS and you must provide the ‘guest usid‘ in both the ‘/oauth2/login‘ and ‘/oauth2/token‘ calls while fetching the registered user JWT token.

    A success response contains the transferred basket.

    If the current shopper has an active basket, and the overrideExisting request parameter is false, then the transfer request returns a BasketTransferException (HTTP status 409). You can proceed with one of these options:

    • Keep the current shopper's active basket.
    • Merge the previous and current shoppers' baskets by calling the baskets/merge endpoint.
    • Force the transfer by calling the baskets/transfer endpoint again, with the parameter overrideExisting=true. Forcing the transfer deletes the current shopper's active basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateAsAgentBasket

  • Marks a basket as an agent basket.

    If you would like to get a raw Response object use the other updateAsAgentBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Marks a basket as an agent basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateAsStorefrontBasket

  • Marks a basket as a storefront basket.

    If you would like to get a raw Response object use the other updateAsStorefrontBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Marks a basket as a storefront basket.

    Type parameters

    • T: boolean

    Parameters

    • Optional options: RequireParametersUnlessAllAreOptional<{ headers?: undefined | {}; parameters?: CompositeParameters<{ basketId: string; exchange?: undefined | false | true; locale?: LocaleCode; organizationId: string; siteId: string } & QueryParameters, ConfigParameters> }>

      An object containing the options for this method.

    • Optional rawResponse: T

      Set to true to return entire Response object instead of DTO.

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateBasket

  • Updates a basket. Only the currency of the basket, source code, the custom properties of the basket, and the shipping items will be considered.

    If you would like to get a raw Response object use the other updateBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Updates a basket. Only the currency of the basket, source code, the custom properties of the basket, and the shipping items will be considered.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateBillingAddressForBasket

  • Sets the billing address of a basket.

    If you would like to get a raw Response object use the other updateBillingAddressForBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Sets the billing address of a basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateCustomerForBasket

  • Sets customer information for an existing basket.

    If you would like to get a raw Response object use the other updateCustomerForBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Sets customer information for an existing basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateGiftCertificateItemInBasket

  • Updates a gift certificate item of an existing basket.

    If you would like to get a raw Response object use the other updateGiftCertificateItemInBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Updates a gift certificate item of an existing basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateItemInBasket

  • Updates an item in a basket. The item to be updated can be a bundled product item, although the kind of update supported for bundled product items is limited to productId (to support variation products), gift, giftMessage and custom properties. The following values in the request body are considered by the server:

    • productId: a valid product ID. The purpose of this value is to exchange a variation of a variation product.
    • shipmentId: a valid shipment ID. The purpose of this value is to move a product item to another shipment.
    • quantity: a number between 0 and 999. The purpose of this value is to change quantity of the product item. If quantity is 0, the product item is removed.
    • optionItems/optionValueId: a valid option value ID. The purpose of this value is to exchange an option value for an option item of an option product. This is only possible if the product item is an option product. To change option values a collection of option items to be changed need to be provided in property optionItems. Those optionItems need to contain optionId and optionValueId. The provided values must be valid for the option product that this product item represents. Otherwise, InvalidProductOptionItemException or InvalidProductOptionValueItemException is thrown.
    • custom properties c_<CUSTOM_NAME>: a value corresponding to the type defined for custom attribute <CUSTOM_NAME> of ProductLineItem. The purpose of this value is to add or change the value of a custom attribute defined for ProductLineItem.
    • gift: a boolean value that specifies whether the item is a gift
    • giftMessage: a message for the gift

    If you would like to get a raw Response object use the other updateItemInBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Updates an item in a basket. The item to be updated can be a bundled product item, although the kind of update supported for bundled product items is limited to productId (to support variation products), gift, giftMessage and custom properties. The following values in the request body are considered by the server:

    • productId: a valid product ID. The purpose of this value is to exchange a variation of a variation product.
    • shipmentId: a valid shipment ID. The purpose of this value is to move a product item to another shipment.
    • quantity: a number between 0 and 999. The purpose of this value is to change quantity of the product item. If quantity is 0, the product item is removed.
    • optionItems/optionValueId: a valid option value ID. The purpose of this value is to exchange an option value for an option item of an option product. This is only possible if the product item is an option product. To change option values a collection of option items to be changed need to be provided in property optionItems. Those optionItems need to contain optionId and optionValueId. The provided values must be valid for the option product that this product item represents. Otherwise, InvalidProductOptionItemException or InvalidProductOptionValueItemException is thrown.
    • custom properties c_<CUSTOM_NAME>: a value corresponding to the type defined for custom attribute <CUSTOM_NAME> of ProductLineItem. The purpose of this value is to add or change the value of a custom attribute defined for ProductLineItem.
    • gift: a boolean value that specifies whether the item is a gift
    • giftMessage: a message for the gift

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateItemsInBasket

  • Updates multiple items in a basket. This behaviour matches that of updating a single item, but the body contains an array of ProductItems to be updated that are identified by itemId. The items to update can include bundled product items, although the kind of update supported for bundled product items is limited to productId, gift, giftMessage and custom properties. The following values in the request body are considered by the server:

    • itemId (mandatory): identifies an item to be updated.
    • productId: a valid product ID. The purpose of this value is to change the variation of a variation product.
    • shipmentId: a valid shipment ID. The purpose of this value is to move a product item to another shipment.
    • quantity: a number between 0 and 999. The purpose of this value is to change the quantity of the product item. If the quantity is 0, the product item is removed.
    • optionItems/optionValueId: a valid option value ID. The purpose of this value is to exchange an option value for an option item of an option product. This is only possible if the product item is an option product. To change option values, a collection of the option items to be changed must be provided in the property optionItems. Those optionItems must contain optionId and optionValueId. The provided values must be valid for the option product that this product item represents. Otherwise, InvalidProductOptionItemException or InvalidProductOptionValueItemException is thrown.
    • custom properties c_<CUSTOM_NAME>: a value corresponding to the type defined for custom attribute <CUSTOM_NAME> of the ProductLineItem. The purpose of this value is to add or change the value of a custom attribute defined for the ProductLineItem.
    • gift: a boolean value that specifies whether the item is a gift.
    • giftMessage: a message to include with the gift.

    If you would like to get a raw Response object use the other updateItemsInBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Updates multiple items in a basket. This behaviour matches that of updating a single item, but the body contains an array of ProductItems to be updated that are identified by itemId. The items to update can include bundled product items, although the kind of update supported for bundled product items is limited to productId, gift, giftMessage and custom properties. The following values in the request body are considered by the server:

    • itemId (mandatory): identifies an item to be updated.
    • productId: a valid product ID. The purpose of this value is to change the variation of a variation product.
    • shipmentId: a valid shipment ID. The purpose of this value is to move a product item to another shipment.
    • quantity: a number between 0 and 999. The purpose of this value is to change the quantity of the product item. If the quantity is 0, the product item is removed.
    • optionItems/optionValueId: a valid option value ID. The purpose of this value is to exchange an option value for an option item of an option product. This is only possible if the product item is an option product. To change option values, a collection of the option items to be changed must be provided in the property optionItems. Those optionItems must contain optionId and optionValueId. The provided values must be valid for the option product that this product item represents. Otherwise, InvalidProductOptionItemException or InvalidProductOptionValueItemException is thrown.
    • custom properties c_<CUSTOM_NAME>: a value corresponding to the type defined for custom attribute <CUSTOM_NAME> of the ProductLineItem. The purpose of this value is to add or change the value of a custom attribute defined for the ProductLineItem.
    • gift: a boolean value that specifies whether the item is a gift.
    • giftMessage: a message to include with the gift.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updatePaymentInstrumentInBasket

  • Updates payment instrument of an existing basket.

    If you would like to get a raw Response object use the other updatePaymentInstrumentInBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Updates payment instrument of an existing basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updatePriceAdjustmentInBasket

  • Updates a custom manual price adjustment on the basket. Only the following path values are considered for the update; all other attributes are ignored.

    • discount
    • itemText
    • reasonCode
    • custom properties The discount type of a price adjustment cannot be updated and therefore, the value of the existing type must be passed. For an adjustment of type percentage, the percentage attribute is mandatory. For adjustments of type amount and fixed_price, the amount attribute is mandatory.

    If you would like to get a raw Response object use the other updatePriceAdjustmentInBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Updates a custom manual price adjustment on the basket. Only the following path values are considered for the update; all other attributes are ignored.

    • discount
    • itemText
    • reasonCode
    • custom properties The discount type of a price adjustment cannot be updated and therefore, the value of the existing type must be passed. For an adjustment of type percentage, the percentage attribute is mandatory. For adjustments of type amount and fixed_price, the amount attribute is mandatory.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateShipmentForBasket

  • Updates a shipment for a basket.

    The shipment is initialized with values provided in the body document and can be updated with further data API calls. Considered from the body are the following properties if specified:

    • the ID
    • the shipping address
    • the shipping method
    • gift boolean flag
    • gift message
    • custom properties

    If you would like to get a raw Response object use the other updateShipmentForBasket function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Updates a shipment for a basket.

    The shipment is initialized with values provided in the body document and can be updated with further data API calls. Considered from the body are the following properties if specified:

    • the ID
    • the shipping address
    • the shipping method
    • gift boolean flag
    • gift message
    • custom properties

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateShippingAddressForShipment

  • Sets a shipping address of a specific shipment of a basket.

    If you would like to get a raw Response object use the other updateShippingAddressForShipment function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Sets a shipping address of a specific shipment of a basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

updateShippingMethodForShipment

  • Sets a shipping method to a specific shipment of a basket.

    If you would like to get a raw Response object use the other updateShippingMethodForShipment function.

    Parameters

    Returns Promise<Basket>

    A promise of type Basket.

  • Sets a shipping method to a specific shipment of a basket.

    Type parameters

    • T: boolean

    Parameters

    Returns Promise<T extends true ? Response : Basket>

    A promise of type Response if rawResponse is true, a promise of type Basket otherwise.

Object literals

Static Readonly apiPaths

apiPaths: object

addCouponToBasket

addCouponToBasket: string = "/organizations/{organizationId}/baskets/{basketId}/coupons"

addGiftCertificateItemToBasket

addGiftCertificateItemToBasket: string = "/organizations/{organizationId}/baskets/{basketId}/gift-certificate-items"

addItemToBasket

addItemToBasket: string = "/organizations/{organizationId}/baskets/{basketId}/items"

addPaymentInstrumentToBasket

addPaymentInstrumentToBasket: string = "/organizations/{organizationId}/baskets/{basketId}/payment-instruments"

addPriceAdjustmentToBasket

addPriceAdjustmentToBasket: string = "/organizations/{organizationId}/baskets/{basketId}/price-adjustments"

addPriceBooksToBasket

addPriceBooksToBasket: string = "/organizations/{organizationId}/baskets/{basketId}/price-books"

addTaxesForBasket

addTaxesForBasket: string = "/organizations/{organizationId}/baskets/{basketId}/taxes"

addTaxesForBasketItem

addTaxesForBasketItem: string = "/organizations/{organizationId}/baskets/{basketId}/items/{itemId}/taxes"

createBasket

createBasket: string = "/organizations/{organizationId}/baskets"

createShipmentForBasket

createShipmentForBasket: string = "/organizations/{organizationId}/baskets/{basketId}/shipments"

deleteBasket

deleteBasket: string = "/organizations/{organizationId}/baskets/{basketId}"

getBasket

getBasket: string = "/organizations/{organizationId}/baskets/{basketId}"

getPaymentMethodsForBasket

getPaymentMethodsForBasket: string = "/organizations/{organizationId}/baskets/{basketId}/payment-methods"

getPriceBooksForBasket

getPriceBooksForBasket: string = "/organizations/{organizationId}/baskets/{basketId}/price-books"

getShippingMethodsForShipment

getShippingMethodsForShipment: string = "/organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-methods"

getTaxesFromBasket

getTaxesFromBasket: string = "/organizations/{organizationId}/baskets/{basketId}/taxes"

mergeBasket

mergeBasket: string = "/organizations/{organizationId}/baskets/actions/merge"

removeCouponFromBasket

removeCouponFromBasket: string = "/organizations/{organizationId}/baskets/{basketId}/coupons/{couponItemId}"

removeGiftCertificateItemFromBasket

removeGiftCertificateItemFromBasket: string = "/organizations/{organizationId}/baskets/{basketId}/gift-certificate-items/{giftCertificateItemId}"

removeItemFromBasket

removeItemFromBasket: string = "/organizations/{organizationId}/baskets/{basketId}/items/{itemId}"

removePaymentInstrumentFromBasket

removePaymentInstrumentFromBasket: string = "/organizations/{organizationId}/baskets/{basketId}/payment-instruments/{paymentInstrumentId}"

removePriceAdjustmentFromBasket

removePriceAdjustmentFromBasket: string = "/organizations/{organizationId}/baskets/{basketId}/price-adjustments/{priceAdjustmentId}"

removeShipmentFromBasket

removeShipmentFromBasket: string = "/organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}"

transferBasket

transferBasket: string = "/organizations/{organizationId}/baskets/actions/transfer"

updateAsAgentBasket

updateAsAgentBasket: string = "/organizations/{organizationId}/baskets/{basketId}/agent"

updateAsStorefrontBasket

updateAsStorefrontBasket: string = "/organizations/{organizationId}/baskets/{basketId}/storefront"

updateBasket

updateBasket: string = "/organizations/{organizationId}/baskets/{basketId}"

updateBillingAddressForBasket

updateBillingAddressForBasket: string = "/organizations/{organizationId}/baskets/{basketId}/billing-address"

updateCustomerForBasket

updateCustomerForBasket: string = "/organizations/{organizationId}/baskets/{basketId}/customer"

updateGiftCertificateItemInBasket

updateGiftCertificateItemInBasket: string = "/organizations/{organizationId}/baskets/{basketId}/gift-certificate-items/{giftCertificateItemId}"

updateItemInBasket

updateItemInBasket: string = "/organizations/{organizationId}/baskets/{basketId}/items/{itemId}"

updateItemsInBasket

updateItemsInBasket: string = "/organizations/{organizationId}/baskets/{basketId}/items"

updatePaymentInstrumentInBasket

updatePaymentInstrumentInBasket: string = "/organizations/{organizationId}/baskets/{basketId}/payment-instruments/{paymentInstrumentId}"

updatePriceAdjustmentInBasket

updatePriceAdjustmentInBasket: string = "/organizations/{organizationId}/baskets/{basketId}/price-adjustments/{priceAdjustmentId}"

updateShipmentForBasket

updateShipmentForBasket: string = "/organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}"

updateShippingAddressForShipment

updateShippingAddressForShipment: string = "/organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-address"

updateShippingMethodForShipment

updateShippingMethodForShipment: string = "/organizations/{organizationId}/baskets/{basketId}/shipments/{shipmentId}/shipping-method"

Generated using TypeDoc