Interface CartDraft

All Superinterfaces:
CustomizableDraft<CartDraft>, Draft<CartDraft>, WithKey

public interface CartDraft extends CustomizableDraft<CartDraft>, WithKey, Draft<CartDraft>
CartDraft
Example to create an instance using the builder pattern

     CartDraft cartDraft = CartDraft.builder()
             .currency("{currency}")
             .build()
 
  • Method Details

    • getCurrency

      @NotNull @NotNull String getCurrency()

      Currency the Cart uses.

      Returns:
      currency
    • getKey

      String getKey()

      User-defined unique identifier for the Cart.

      Specified by:
      getKey in interface WithKey
      Returns:
      key
    • getCustomerId

      String getCustomerId()

      id of the Customer that the Cart belongs to.

      Returns:
      customerId
    • getCustomerEmail

      String getCustomerEmail()

      Email address of the Customer that the Cart belongs to.

      Returns:
      customerEmail
    • getCustomerGroup

      @Valid @Valid CustomerGroupResourceIdentifier getCustomerGroup()

      ResourceIdentifier to the Customer Group of the Customer that the Cart belongs to. Used for Line Item price selection.

      It is automatically set if the Customer referenced in customerId belongs to a Customer Group. It can also be set explicitly when no customerId is present.

      Returns:
      customerGroup
    • getAnonymousId

      String getAnonymousId()

      Anonymous session associated with the Cart.

      Returns:
      anonymousId
    • getBusinessUnit

      @Valid @Valid BusinessUnitResourceIdentifier getBusinessUnit()

      ResourceIdentifier to the Business Unit the Cart should belong to. When the customerId of the Cart is also set, the Customer must be an Associate of the Business Unit.

      Returns:
      businessUnit
    • getStore

      @Valid @Valid StoreResourceIdentifier getStore()

      ResourceIdentifier to the Store the Cart should belong to. Once set, it cannot be updated.

      Returns:
      store
    • getLineItems

      @Valid @Valid List<LineItemDraft> getLineItems()

      Line Items to add to the Cart.

      Returns:
      lineItems
    • getCustomLineItems

      @Valid @Valid List<CustomLineItemDraft> getCustomLineItems()

      Custom Line Items to add to the Cart.

      Returns:
      customLineItems
    • getTaxMode

      TaxMode getTaxMode()

      Determines how Tax Rates are set.

      Returns:
      taxMode
    • getExternalTaxRateForShippingMethod

      @Valid @Valid ExternalTaxRateDraft getExternalTaxRateForShippingMethod()

      External Tax Rate for the shippingMethod if the Cart has External TaxMode.

      Returns:
      externalTaxRateForShippingMethod
    • getTaxRoundingMode

      RoundingMode getTaxRoundingMode()

      Determines how monetary values are rounded when calculating taxes for taxedPrice.

      Returns:
      taxRoundingMode
    • getTaxCalculationMode

      TaxCalculationMode getTaxCalculationMode()

      Determines how taxes are calculated for taxedPrice.

      Returns:
      taxCalculationMode
    • getInventoryMode

      InventoryMode getInventoryMode()

      Determines how stock quantities are tracked for Line Items in the Cart.

      Returns:
      inventoryMode
    • getBillingAddress

      @Valid @Valid BaseAddress getBillingAddress()

      Billing address associated with the Cart.

      Returns:
      billingAddress
    • getShippingAddress

      @Valid @Valid BaseAddress getShippingAddress()

      Shipping address for a Cart with Single ShippingMode. Determines eligible ShippingMethod rates and Tax Rates of Line Items. Must be one of the itemShippingAddresses when that field is also provided.

      Returns:
      shippingAddress
    • getShippingMethod

      @Valid @Valid ShippingMethodResourceIdentifier getShippingMethod()

      Shipping Method for a Cart with Single ShippingMode. If the referenced ShippingMethod has a predicate that does not match the Cart, an InvalidOperation error is returned when creating a Cart.

      Returns:
      shippingMethod
    • getShippingRateInput

      @Valid @Valid ShippingRateInputDraft getShippingRateInput()

      Used as an input to select a ShippingRatePriceTier. The data type of this field depends on the shippingRateInputType.type configured in the Project:

      • If CartClassification, it must be ClassificationShippingRateInputDraft.
      • If CartScore, it must be ScoreShippingRateInputDraft.
      • If CartValue, it cannot be set.
      Returns:
      shippingRateInput
    • getShippingMode

      ShippingMode getShippingMode()
      • If set to Single, only a single Shipping Method can be added to the Cart.
      • If set to Multiple, multiple Shipping Methods can be added to the Cart.
      Returns:
      shippingMode
    • getCustomShipping

      @Valid @Valid List<CustomShippingDraft> getCustomShipping()

      Custom Shipping Methods for a Cart with Multiple ShippingMode.

      Returns:
      customShipping
    • getShipping

      @Valid @Valid List<ShippingDraft> getShipping()

      Shipping Methods for a Cart with Multiple ShippingMode.

      Returns:
      shipping
    • getItemShippingAddresses

      @Valid @Valid List<BaseAddress> getItemShippingAddresses()

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      For Carts with Single ShippingMode: eligible Shipping Methods or applicable Tax Rates are determined by the address shippingAddress, and not itemShippingAddresses.

      Returns:
      itemShippingAddresses
    • getDiscountCodes

      List<String> getDiscountCodes()

      code of the existing DiscountCodes to add to the Cart.

      Returns:
      discountCodes
    • getCountry

      String getCountry()

      Used for Line Item price selection. If used for Create Cart in Store, the provided country must be one of the Store's countries.

      Returns:
      country
    • getLocale

      String getLocale()

      Languages of the Cart. Can only contain languages supported by the Project.

      Returns:
      locale
    • getOrigin

      CartOrigin getOrigin()

      Indicates how the Cart was created.

      Returns:
      origin
    • getDeleteDaysAfterLastModification

      Long getDeleteDaysAfterLastModification()

      Number of days after which an active Cart is deleted since its last modification. If not provided, the default value for this field configured in Project settings is assigned.

      Create a ChangeSubscription for Carts to receive a ResourceDeletedDeliveryPayload upon deletion of the Cart.

      Returns:
      deleteDaysAfterLastModification
    • getCustom

      @Valid @Valid CustomFieldsDraft getCustom()

      Custom Fields for the Cart.

      Specified by:
      getCustom in interface CustomizableDraft<CartDraft>
      Returns:
      custom
    • setCurrency

      void setCurrency(String currency)

      Currency the Cart uses.

      Parameters:
      currency - value to be set
    • setKey

      void setKey(String key)

      User-defined unique identifier for the Cart.

      Parameters:
      key - value to be set
    • setCustomerId

      void setCustomerId(String customerId)

      id of the Customer that the Cart belongs to.

      Parameters:
      customerId - value to be set
    • setCustomerEmail

      void setCustomerEmail(String customerEmail)

      Email address of the Customer that the Cart belongs to.

      Parameters:
      customerEmail - value to be set
    • setCustomerGroup

      void setCustomerGroup(CustomerGroupResourceIdentifier customerGroup)

      ResourceIdentifier to the Customer Group of the Customer that the Cart belongs to. Used for Line Item price selection.

      It is automatically set if the Customer referenced in customerId belongs to a Customer Group. It can also be set explicitly when no customerId is present.

      Parameters:
      customerGroup - value to be set
    • setAnonymousId

      void setAnonymousId(String anonymousId)

      Anonymous session associated with the Cart.

      Parameters:
      anonymousId - value to be set
    • setBusinessUnit

      void setBusinessUnit(BusinessUnitResourceIdentifier businessUnit)

      ResourceIdentifier to the Business Unit the Cart should belong to. When the customerId of the Cart is also set, the Customer must be an Associate of the Business Unit.

      Parameters:
      businessUnit - value to be set
    • setStore

      void setStore(StoreResourceIdentifier store)

      ResourceIdentifier to the Store the Cart should belong to. Once set, it cannot be updated.

      Parameters:
      store - value to be set
    • setLineItems

      void setLineItems(LineItemDraft... lineItems)

      Line Items to add to the Cart.

      Parameters:
      lineItems - values to be set
    • setLineItems

      void setLineItems(List<LineItemDraft> lineItems)

      Line Items to add to the Cart.

      Parameters:
      lineItems - values to be set
    • setCustomLineItems

      void setCustomLineItems(CustomLineItemDraft... customLineItems)

      Custom Line Items to add to the Cart.

      Parameters:
      customLineItems - values to be set
    • setCustomLineItems

      void setCustomLineItems(List<CustomLineItemDraft> customLineItems)

      Custom Line Items to add to the Cart.

      Parameters:
      customLineItems - values to be set
    • setTaxMode

      void setTaxMode(TaxMode taxMode)

      Determines how Tax Rates are set.

      Parameters:
      taxMode - value to be set
    • setExternalTaxRateForShippingMethod

      void setExternalTaxRateForShippingMethod(ExternalTaxRateDraft externalTaxRateForShippingMethod)

      External Tax Rate for the shippingMethod if the Cart has External TaxMode.

      Parameters:
      externalTaxRateForShippingMethod - value to be set
    • setTaxRoundingMode

      void setTaxRoundingMode(RoundingMode taxRoundingMode)

      Determines how monetary values are rounded when calculating taxes for taxedPrice.

      Parameters:
      taxRoundingMode - value to be set
    • setTaxCalculationMode

      void setTaxCalculationMode(TaxCalculationMode taxCalculationMode)

      Determines how taxes are calculated for taxedPrice.

      Parameters:
      taxCalculationMode - value to be set
    • setInventoryMode

      void setInventoryMode(InventoryMode inventoryMode)

      Determines how stock quantities are tracked for Line Items in the Cart.

      Parameters:
      inventoryMode - value to be set
    • setBillingAddress

      void setBillingAddress(BaseAddress billingAddress)

      Billing address associated with the Cart.

      Parameters:
      billingAddress - value to be set
    • setShippingAddress

      void setShippingAddress(BaseAddress shippingAddress)

      Shipping address for a Cart with Single ShippingMode. Determines eligible ShippingMethod rates and Tax Rates of Line Items. Must be one of the itemShippingAddresses when that field is also provided.

      Parameters:
      shippingAddress - value to be set
    • setShippingMethod

      void setShippingMethod(ShippingMethodResourceIdentifier shippingMethod)

      Shipping Method for a Cart with Single ShippingMode. If the referenced ShippingMethod has a predicate that does not match the Cart, an InvalidOperation error is returned when creating a Cart.

      Parameters:
      shippingMethod - value to be set
    • setShippingRateInput

      void setShippingRateInput(ShippingRateInputDraft shippingRateInput)

      Used as an input to select a ShippingRatePriceTier. The data type of this field depends on the shippingRateInputType.type configured in the Project:

      • If CartClassification, it must be ClassificationShippingRateInputDraft.
      • If CartScore, it must be ScoreShippingRateInputDraft.
      • If CartValue, it cannot be set.
      Parameters:
      shippingRateInput - value to be set
    • setShippingMode

      void setShippingMode(ShippingMode shippingMode)
      • If set to Single, only a single Shipping Method can be added to the Cart.
      • If set to Multiple, multiple Shipping Methods can be added to the Cart.
      Parameters:
      shippingMode - value to be set
    • setCustomShipping

      void setCustomShipping(CustomShippingDraft... customShipping)

      Custom Shipping Methods for a Cart with Multiple ShippingMode.

      Parameters:
      customShipping - values to be set
    • setCustomShipping

      void setCustomShipping(List<CustomShippingDraft> customShipping)

      Custom Shipping Methods for a Cart with Multiple ShippingMode.

      Parameters:
      customShipping - values to be set
    • setShipping

      void setShipping(ShippingDraft... shipping)

      Shipping Methods for a Cart with Multiple ShippingMode.

      Parameters:
      shipping - values to be set
    • setShipping

      void setShipping(List<ShippingDraft> shipping)

      Shipping Methods for a Cart with Multiple ShippingMode.

      Parameters:
      shipping - values to be set
    • setItemShippingAddresses

      void setItemShippingAddresses(BaseAddress... itemShippingAddresses)

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      For Carts with Single ShippingMode: eligible Shipping Methods or applicable Tax Rates are determined by the address shippingAddress, and not itemShippingAddresses.

      Parameters:
      itemShippingAddresses - values to be set
    • setItemShippingAddresses

      void setItemShippingAddresses(List<BaseAddress> itemShippingAddresses)

      Multiple shipping addresses of the Cart. Each address must contain a key that is unique in this Cart. The keys are used by LineItems to reference these addresses under their shippingDetails.

      For Carts with Single ShippingMode: eligible Shipping Methods or applicable Tax Rates are determined by the address shippingAddress, and not itemShippingAddresses.

      Parameters:
      itemShippingAddresses - values to be set
    • setDiscountCodes

      void setDiscountCodes(String... discountCodes)

      code of the existing DiscountCodes to add to the Cart.

      Parameters:
      discountCodes - values to be set
    • setDiscountCodes

      void setDiscountCodes(List<String> discountCodes)

      code of the existing DiscountCodes to add to the Cart.

      Parameters:
      discountCodes - values to be set
    • setCountry

      void setCountry(String country)

      Used for Line Item price selection. If used for Create Cart in Store, the provided country must be one of the Store's countries.

      Parameters:
      country - value to be set
    • setLocale

      void setLocale(String locale)

      Languages of the Cart. Can only contain languages supported by the Project.

      Parameters:
      locale - value to be set
    • setOrigin

      void setOrigin(CartOrigin origin)

      Indicates how the Cart was created.

      Parameters:
      origin - value to be set
    • setDeleteDaysAfterLastModification

      void setDeleteDaysAfterLastModification(Long deleteDaysAfterLastModification)

      Number of days after which an active Cart is deleted since its last modification. If not provided, the default value for this field configured in Project settings is assigned.

      Create a ChangeSubscription for Carts to receive a ResourceDeletedDeliveryPayload upon deletion of the Cart.

      Parameters:
      deleteDaysAfterLastModification - value to be set
    • setCustom

      void setCustom(CustomFieldsDraft custom)

      Custom Fields for the Cart.

      Specified by:
      setCustom in interface CustomizableDraft<CartDraft>
      Parameters:
      custom - value to be set
    • of

      static CartDraft of()
      factory method
      Returns:
      instance of CartDraft
    • of

      static CartDraft of(CartDraft template)
      factory method to create a shallow copy CartDraft
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • deepCopy

      @Nullable static CartDraft deepCopy(@Nullable CartDraft template)
      factory method to create a deep copy of CartDraft
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      static CartDraftBuilder builder()
      builder factory method for CartDraft
      Returns:
      builder
    • builder

      static CartDraftBuilder builder(CartDraft template)
      create builder for CartDraft instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withCartDraft

      default <T> T withCartDraft(Function<CartDraft,T> helper)
      accessor map function
      Type Parameters:
      T - mapped type
      Parameters:
      helper - function to map the object
      Returns:
      mapped value
    • typeReference

      static com.fasterxml.jackson.core.type.TypeReference<CartDraft> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference