Interface Order

All Superinterfaces:
BaseResource, Customizable<Order>, DomainResource<Order>, Identifiable<Order>, OrderLike<Order>, OrderMixin, Referencable<Order>, ResourceIdentifiable<Order>, Versioned<Order>
All Known Subinterfaces:
StagedOrder
All Known Implementing Classes:
OrderImpl, StagedOrderImpl

Order
Example to create an instance using the builder pattern

     Order order = Order.builder()
             .id("{id}")
             .version(0.3)
             .createdAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .lastModifiedAt(ZonedDateTime.parse("2022-01-01T12:00:00.301Z"))
             .plusLineItems(lineItemsBuilder -> lineItemsBuilder)
             .plusCustomLineItems(customLineItemsBuilder -> customLineItemsBuilder)
             .totalPrice(totalPriceBuilder -> totalPriceBuilder)
             .shippingMode(ShippingMode.SINGLE)
             .plusShipping(shippingBuilder -> shippingBuilder)
             .plusRefusedGifts(refusedGiftsBuilder -> refusedGiftsBuilder)
             .origin(CartOrigin.CUSTOMER)
             .orderState(OrderState.OPEN)
             .plusSyncInfo(syncInfoBuilder -> syncInfoBuilder)
             .build()
 
  • Method Details

    • getId

      @NotNull @NotNull String getId()

      Unique identifier of the Order.

      Specified by:
      getId in interface BaseResource
      Specified by:
      getId in interface DomainResource<Order>
      Specified by:
      getId in interface Identifiable<Order>
      Specified by:
      getId in interface OrderLike<Order>
      Specified by:
      getId in interface Versioned<Order>
      Returns:
      id
    • getVersion

      @NotNull @NotNull Long getVersion()

      Current version of the Order.

      Specified by:
      getVersion in interface BaseResource
      Specified by:
      getVersion in interface DomainResource<Order>
      Specified by:
      getVersion in interface OrderLike<Order>
      Specified by:
      getVersion in interface Versioned<Order>
      Returns:
      version
    • getOrderNumber

      User-defined identifier of the Order that is unique across a Project.

      Returns:
      orderNumber
    • getPurchaseOrderNumber

      User-defined identifier of a purchase Order.

      It is typically set by the Buyer and can be used with Quotes to track the purchase Order during the quote and order flow.

      Returns:
      purchaseOrderNumber
    • getCustomerId

      id of the Customer that the Order belongs to.

      Specified by:
      getCustomerId in interface OrderLike<Order>
      Returns:
      customerId
    • getCustomerEmail

      Email address of the Customer that the Order belongs to.

      Specified by:
      getCustomerEmail in interface OrderLike<Order>
      Returns:
      customerEmail
    • getCustomerGroup

      Reference to the Customer Group of the Customer that the Order belongs to. Used for LineItem Price selection.

      Specified by:
      getCustomerGroup in interface OrderLike<Order>
      Returns:
      customerGroup
    • getAnonymousId

      Anonymous session associated with the Order.

      Specified by:
      getAnonymousId in interface OrderLike<Order>
      Returns:
      anonymousId
    • getBusinessUnit

      Reference to a Business Unit the Order belongs to.

      Returns:
      businessUnit
    • getStore

      @Valid @Valid StoreKeyReference getStore()

      Reference to a Store the Order belongs to.

      Specified by:
      getStore in interface OrderLike<Order>
      Returns:
      store
    • getLineItems

      @NotNull @Valid @NotNull @Valid List<LineItem> getLineItems()

      Line Items that are part of the Order.

      Specified by:
      getLineItems in interface OrderLike<Order>
      Returns:
      lineItems
    • getCustomLineItems

      @NotNull @Valid @NotNull @Valid List<CustomLineItem> getCustomLineItems()

      Custom Line Items that are part of the Order.

      Specified by:
      getCustomLineItems in interface OrderLike<Order>
      Returns:
      customLineItems
    • getTotalPrice

      @NotNull @Valid @NotNull @Valid TypedMoney getTotalPrice()

      Sum of the totalPrice field of all LineItems and CustomLineItems, and if available, the price field of ShippingInfo. Taxes are included if TaxRate includedInPrice is true for each price.

      Specified by:
      getTotalPrice in interface OrderLike<Order>
      Returns:
      totalPrice
    • getTaxedPrice

      @Valid @Valid TaxedPrice getTaxedPrice()
      • For Platform TaxMode, it is automatically set when a shipping address is set.
      • For External TaxMode, it is automatically set when the external Tax Rate for all Line Items, Custom Line Items, and Shipping Methods in the Cart are set.
      Specified by:
      getTaxedPrice in interface OrderLike<Order>
      Returns:
      taxedPrice
    • getTaxedShippingPrice

      Sum of the taxedPrice field of ShippingInfo across all Shipping Methods.

      Returns:
      taxedShippingPrice
    • getTaxMode

      Indicates how Tax Rates are set.

      Specified by:
      getTaxMode in interface OrderLike<Order>
      Returns:
      taxMode
    • getTaxRoundingMode

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

      Specified by:
      getTaxRoundingMode in interface OrderLike<Order>
      Returns:
      taxRoundingMode
    • getTaxCalculationMode

      Indicates how taxes are calculated when calculating taxes for taxedPrice.

      Specified by:
      getTaxCalculationMode in interface OrderLike<Order>
      Returns:
      taxCalculationMode
    • getInventoryMode

      Indicates how stock quantities are tracked for Line Items in the Order.

      Specified by:
      getInventoryMode in interface OrderLike<Order>
      Returns:
      inventoryMode
    • getBillingAddress

      @Valid @Valid Address getBillingAddress()

      Billing address associated with the Order.

      Specified by:
      getBillingAddress in interface OrderLike<Order>
      Returns:
      billingAddress
    • getShippingAddress

      @Valid @Valid Address getShippingAddress()

      Shipping address associated with the Order. Determines eligible ShippingMethod rates and Tax Rates of Line Items.

      Specified by:
      getShippingAddress in interface OrderLike<Order>
      Returns:
      shippingAddress
    • getShippingMode

      @NotNull @NotNull ShippingMode getShippingMode()

      Indicates whether there can be one or multiple Shipping Methods.

      Returns:
      shippingMode
    • getShippingKey

      key of the ShippingMethod for Single ShippingMode.

      Returns:
      shippingKey
    • getShippingInfo

      @Valid @Valid ShippingInfo getShippingInfo()

      Shipping-related information for Single ShippingMode. Automatically set when a Shipping Method is set.

      Specified by:
      getShippingInfo in interface OrderLike<Order>
      Returns:
      shippingInfo
    • getShippingRateInput

      Input used to select a ShippingRatePriceTier. The data type of this field depends on the shippingRateInputType.type configured in the Project:

      • If CartClassification, it is ClassificationShippingRateInput.
      • If CartScore, it is ScoreShippingRateInput.
      • If CartValue, it cannot be used.
      Specified by:
      getShippingRateInput in interface OrderLike<Order>
      Returns:
      shippingRateInput
    • getShippingCustomFields

      Custom Fields of the Shipping Method for Single ShippingMode.

      Specified by:
      getShippingCustomFields in interface OrderLike<Order>
      Returns:
      shippingCustomFields
    • getShipping

      @NotNull @Valid @NotNull @Valid List<Shipping> getShipping()

      Shipping-related information for Multiple ShippingMode. Updated automatically each time a new Shipping Method is added.

      Returns:
      shipping
    • getItemShippingAddresses

      Additional shipping addresses of the Order as specified by LineItems using the shippingDetails field. Eligible Shipping Methods or applicable Tax Rates are determined by the address in shippingAddress, and not itemShippingAddresses.

      Specified by:
      getItemShippingAddresses in interface OrderLike<Order>
      Returns:
      itemShippingAddresses
    • getDiscountCodes

      Discount Codes added to the Order. An Order that has directDiscounts cannot have discountCodes.

      Specified by:
      getDiscountCodes in interface OrderLike<Order>
      Returns:
      discountCodes
    • getDirectDiscounts

      Direct Discounts added to the Order. An Order that has discountCodes cannot have directDiscounts.

      Returns:
      directDiscounts
    • getRefusedGifts

      @NotNull @Valid @NotNull @Valid List<CartDiscountReference> getRefusedGifts()

      Automatically set when a Line Item with GiftLineItem LineItemMode is removed from the Order.

      Specified by:
      getRefusedGifts in interface OrderLike<Order>
      Returns:
      refusedGifts
    • getPaymentInfo

      @Valid @Valid PaymentInfo getPaymentInfo()

      Payment information related to the Order.

      Specified by:
      getPaymentInfo in interface OrderLike<Order>
      Returns:
      paymentInfo
    • getCountry

      Used for LineItem Price selection.

      Specified by:
      getCountry in interface OrderLike<Order>
      Returns:
      country
    • getLocale

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

      Specified by:
      getLocale in interface OrderLike<Order>
      Returns:
      locale
    • getOrigin

      @NotNull @NotNull CartOrigin getOrigin()

      Indicates the origin of the Cart from which the Order was created.

      Specified by:
      getOrigin in interface OrderLike<Order>
      Returns:
      origin
    • getCart

      @Valid @Valid CartReference getCart()

      Reference to the Cart for an Order created from Cart. The referenced Cart will have the Ordered CartState.

      Returns:
      cart
    • getQuote

      @Valid @Valid QuoteReference getQuote()

      Reference to the Quote for an Order created from Quote.

      Returns:
      quote
    • getOrderState

      @NotNull @NotNull OrderState getOrderState()

      Current status of the Order.

      Returns:
      orderState
    • getShipmentState

      Shipment status of the Order.

      Returns:
      shipmentState
    • getPaymentState

      Payment status of the Order.

      Returns:
      paymentState
    • getState

      @Valid @Valid StateReference getState()

      State of the Order. This reference can point to a State in a custom workflow.

      Returns:
      state
    • getSyncInfo

      @NotNull @Valid @NotNull @Valid List<SyncInfo> getSyncInfo()

      Contains synchronization activity information of the Order (like export or import). Can only be set with Update SyncInfo update action.

      Returns:
      syncInfo
    • getReturnInfo

      @Valid @Valid List<ReturnInfo> getReturnInfo()

      Contains information regarding the returns associated with the Order.

      Returns:
      returnInfo
    • getLastMessageSequenceNumber

      Deprecated.

      Internal-only field.

      Returns:
      lastMessageSequenceNumber
    • getCustom

      @Valid @Valid CustomFields getCustom()

      Custom Fields of the Order.

      Specified by:
      getCustom in interface Customizable<Order>
      Specified by:
      getCustom in interface OrderLike<Order>
      Returns:
      custom
    • getCompletedAt

      User-defined date and time (UTC) of the Order. Present only on an Order created using Order Import.

      Returns:
      completedAt
    • getCreatedAt

      @NotNull @NotNull ZonedDateTime getCreatedAt()

      Date and time (UTC) the Order was initially created.

      Specified by:
      getCreatedAt in interface BaseResource
      Specified by:
      getCreatedAt in interface OrderLike<Order>
      Returns:
      createdAt
    • getLastModifiedAt

      @NotNull @NotNull ZonedDateTime getLastModifiedAt()

      Date and time (UTC) the Order was last updated.

      Specified by:
      getLastModifiedAt in interface BaseResource
      Specified by:
      getLastModifiedAt in interface OrderLike<Order>
      Returns:
      lastModifiedAt
    • getLastModifiedBy

      Present on resources created after 1 February 2019 except for events not tracked.

      Specified by:
      getLastModifiedBy in interface OrderLike<Order>
      Returns:
      lastModifiedBy
    • getCreatedBy

      @Valid @Valid CreatedBy getCreatedBy()

      Present on resources created after 1 February 2019 except for events not tracked.

      Specified by:
      getCreatedBy in interface OrderLike<Order>
      Returns:
      createdBy
    • setId

      void setId(String id)

      Unique identifier of the Order.

      Specified by:
      setId in interface BaseResource
      Parameters:
      id - value to be set
    • setVersion

      void setVersion(Long version)

      Current version of the Order.

      Specified by:
      setVersion in interface BaseResource
      Parameters:
      version - value to be set
    • setOrderNumber

      void setOrderNumber(String orderNumber)

      User-defined identifier of the Order that is unique across a Project.

      Parameters:
      orderNumber - value to be set
    • setPurchaseOrderNumber

      void setPurchaseOrderNumber(String purchaseOrderNumber)

      User-defined identifier of a purchase Order.

      It is typically set by the Buyer and can be used with Quotes to track the purchase Order during the quote and order flow.

      Parameters:
      purchaseOrderNumber - value to be set
    • setCustomerId

      void setCustomerId(String customerId)

      id of the Customer that the Order belongs to.

      Parameters:
      customerId - value to be set
    • setCustomerEmail

      void setCustomerEmail(String customerEmail)

      Email address of the Customer that the Order belongs to.

      Parameters:
      customerEmail - value to be set
    • setCustomerGroup

      Reference to the Customer Group of the Customer that the Order belongs to. Used for LineItem Price selection.

      Parameters:
      customerGroup - value to be set
    • setAnonymousId

      void setAnonymousId(String anonymousId)

      Anonymous session associated with the Order.

      Parameters:
      anonymousId - value to be set
    • setBusinessUnit

      Reference to a Business Unit the Order belongs to.

      Parameters:
      businessUnit - value to be set
    • setStore

      Reference to a Store the Order belongs to.

      Parameters:
      store - value to be set
    • setLineItems

      void setLineItems(LineItem... lineItems)

      Line Items that are part of the Order.

      Parameters:
      lineItems - values to be set
    • setLineItems

      void setLineItems(List<LineItem> lineItems)

      Line Items that are part of the Order.

      Parameters:
      lineItems - values to be set
    • setCustomLineItems

      void setCustomLineItems(CustomLineItem... customLineItems)

      Custom Line Items that are part of the Order.

      Parameters:
      customLineItems - values to be set
    • setCustomLineItems

      void setCustomLineItems(List<CustomLineItem> customLineItems)

      Custom Line Items that are part of the Order.

      Parameters:
      customLineItems - values to be set
    • setTotalPrice

      void setTotalPrice(TypedMoney totalPrice)

      Sum of the totalPrice field of all LineItems and CustomLineItems, and if available, the price field of ShippingInfo. Taxes are included if TaxRate includedInPrice is true for each price.

      Parameters:
      totalPrice - value to be set
    • setTaxedPrice

      void setTaxedPrice(TaxedPrice taxedPrice)
      • For Platform TaxMode, it is automatically set when a shipping address is set.
      • For External TaxMode, it is automatically set when the external Tax Rate for all Line Items, Custom Line Items, and Shipping Methods in the Cart are set.
      Parameters:
      taxedPrice - value to be set
    • setTaxedShippingPrice

      void setTaxedShippingPrice(TaxedPrice taxedShippingPrice)

      Sum of the taxedPrice field of ShippingInfo across all Shipping Methods.

      Parameters:
      taxedShippingPrice - value to be set
    • setTaxMode

      void setTaxMode(TaxMode taxMode)

      Indicates how Tax Rates are set.

      Parameters:
      taxMode - value to be set
    • setTaxRoundingMode

      void setTaxRoundingMode(RoundingMode taxRoundingMode)

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

      Parameters:
      taxRoundingMode - value to be set
    • setTaxCalculationMode

      void setTaxCalculationMode(TaxCalculationMode taxCalculationMode)

      Indicates how taxes are calculated when calculating taxes for taxedPrice.

      Parameters:
      taxCalculationMode - value to be set
    • setInventoryMode

      void setInventoryMode(InventoryMode inventoryMode)

      Indicates how stock quantities are tracked for Line Items in the Order.

      Parameters:
      inventoryMode - value to be set
    • setBillingAddress

      void setBillingAddress(Address billingAddress)

      Billing address associated with the Order.

      Parameters:
      billingAddress - value to be set
    • setShippingAddress

      void setShippingAddress(Address shippingAddress)

      Shipping address associated with the Order. Determines eligible ShippingMethod rates and Tax Rates of Line Items.

      Parameters:
      shippingAddress - value to be set
    • setShippingMode

      void setShippingMode(ShippingMode shippingMode)

      Indicates whether there can be one or multiple Shipping Methods.

      Parameters:
      shippingMode - value to be set
    • setShippingKey

      void setShippingKey(String shippingKey)

      key of the ShippingMethod for Single ShippingMode.

      Parameters:
      shippingKey - value to be set
    • setShippingInfo

      void setShippingInfo(ShippingInfo shippingInfo)

      Shipping-related information for Single ShippingMode. Automatically set when a Shipping Method is set.

      Parameters:
      shippingInfo - value to be set
    • setShippingRateInput

      void setShippingRateInput(ShippingRateInput shippingRateInput)

      Input used to select a ShippingRatePriceTier. The data type of this field depends on the shippingRateInputType.type configured in the Project:

      • If CartClassification, it is ClassificationShippingRateInput.
      • If CartScore, it is ScoreShippingRateInput.
      • If CartValue, it cannot be used.
      Parameters:
      shippingRateInput - value to be set
    • setShippingCustomFields

      void setShippingCustomFields(CustomFields shippingCustomFields)

      Custom Fields of the Shipping Method for Single ShippingMode.

      Parameters:
      shippingCustomFields - value to be set
    • setShipping

      void setShipping(Shipping... shipping)

      Shipping-related information for Multiple ShippingMode. Updated automatically each time a new Shipping Method is added.

      Parameters:
      shipping - values to be set
    • setShipping

      void setShipping(List<Shipping> shipping)

      Shipping-related information for Multiple ShippingMode. Updated automatically each time a new Shipping Method is added.

      Parameters:
      shipping - values to be set
    • setItemShippingAddresses

      void setItemShippingAddresses(Address... itemShippingAddresses)

      Additional shipping addresses of the Order as specified by LineItems using the shippingDetails field. Eligible Shipping Methods or applicable Tax Rates are determined by the address in shippingAddress, and not itemShippingAddresses.

      Parameters:
      itemShippingAddresses - values to be set
    • setItemShippingAddresses

      void setItemShippingAddresses(List<Address> itemShippingAddresses)

      Additional shipping addresses of the Order as specified by LineItems using the shippingDetails field. Eligible Shipping Methods or applicable Tax Rates are determined by the address in shippingAddress, and not itemShippingAddresses.

      Parameters:
      itemShippingAddresses - values to be set
    • setDiscountCodes

      void setDiscountCodes(DiscountCodeInfo... discountCodes)

      Discount Codes added to the Order. An Order that has directDiscounts cannot have discountCodes.

      Parameters:
      discountCodes - values to be set
    • setDiscountCodes

      void setDiscountCodes(List<DiscountCodeInfo> discountCodes)

      Discount Codes added to the Order. An Order that has directDiscounts cannot have discountCodes.

      Parameters:
      discountCodes - values to be set
    • setDirectDiscounts

      void setDirectDiscounts(DirectDiscount... directDiscounts)

      Direct Discounts added to the Order. An Order that has discountCodes cannot have directDiscounts.

      Parameters:
      directDiscounts - values to be set
    • setDirectDiscounts

      void setDirectDiscounts(List<DirectDiscount> directDiscounts)

      Direct Discounts added to the Order. An Order that has discountCodes cannot have directDiscounts.

      Parameters:
      directDiscounts - values to be set
    • setRefusedGifts

      void setRefusedGifts(CartDiscountReference... refusedGifts)

      Automatically set when a Line Item with GiftLineItem LineItemMode is removed from the Order.

      Parameters:
      refusedGifts - values to be set
    • setRefusedGifts

      Automatically set when a Line Item with GiftLineItem LineItemMode is removed from the Order.

      Parameters:
      refusedGifts - values to be set
    • setPaymentInfo

      void setPaymentInfo(PaymentInfo paymentInfo)

      Payment information related to the Order.

      Parameters:
      paymentInfo - value to be set
    • setCountry

      void setCountry(String country)

      Used for LineItem Price selection.

      Parameters:
      country - value to be set
    • setLocale

      void setLocale(String locale)

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

      Parameters:
      locale - value to be set
    • setOrigin

      void setOrigin(CartOrigin origin)

      Indicates the origin of the Cart from which the Order was created.

      Parameters:
      origin - value to be set
    • setCart

      void setCart(CartReference cart)

      Reference to the Cart for an Order created from Cart. The referenced Cart will have the Ordered CartState.

      Parameters:
      cart - value to be set
    • setQuote

      void setQuote(QuoteReference quote)

      Reference to the Quote for an Order created from Quote.

      Parameters:
      quote - value to be set
    • setOrderState

      void setOrderState(OrderState orderState)

      Current status of the Order.

      Parameters:
      orderState - value to be set
    • setShipmentState

      void setShipmentState(ShipmentState shipmentState)

      Shipment status of the Order.

      Parameters:
      shipmentState - value to be set
    • setPaymentState

      void setPaymentState(PaymentState paymentState)

      Payment status of the Order.

      Parameters:
      paymentState - value to be set
    • setState

      void setState(StateReference state)

      State of the Order. This reference can point to a State in a custom workflow.

      Parameters:
      state - value to be set
    • setSyncInfo

      void setSyncInfo(SyncInfo... syncInfo)

      Contains synchronization activity information of the Order (like export or import). Can only be set with Update SyncInfo update action.

      Parameters:
      syncInfo - values to be set
    • setSyncInfo

      void setSyncInfo(List<SyncInfo> syncInfo)

      Contains synchronization activity information of the Order (like export or import). Can only be set with Update SyncInfo update action.

      Parameters:
      syncInfo - values to be set
    • setReturnInfo

      void setReturnInfo(ReturnInfo... returnInfo)

      Contains information regarding the returns associated with the Order.

      Parameters:
      returnInfo - values to be set
    • setReturnInfo

      void setReturnInfo(List<ReturnInfo> returnInfo)

      Contains information regarding the returns associated with the Order.

      Parameters:
      returnInfo - values to be set
    • setLastMessageSequenceNumber

      @Deprecated void setLastMessageSequenceNumber(Long lastMessageSequenceNumber)
      Deprecated.

      Internal-only field.

      Parameters:
      lastMessageSequenceNumber - value to be set
    • setCustom

      void setCustom(CustomFields custom)

      Custom Fields of the Order.

      Specified by:
      setCustom in interface Customizable<Order>
      Parameters:
      custom - value to be set
    • setCompletedAt

      void setCompletedAt(ZonedDateTime completedAt)

      User-defined date and time (UTC) of the Order. Present only on an Order created using Order Import.

      Parameters:
      completedAt - value to be set
    • setCreatedAt

      void setCreatedAt(ZonedDateTime createdAt)

      Date and time (UTC) the Order was initially created.

      Specified by:
      setCreatedAt in interface BaseResource
      Parameters:
      createdAt - value to be set
    • setLastModifiedAt

      void setLastModifiedAt(ZonedDateTime lastModifiedAt)

      Date and time (UTC) the Order was last updated.

      Specified by:
      setLastModifiedAt in interface BaseResource
      Parameters:
      lastModifiedAt - value to be set
    • setLastModifiedBy

      void setLastModifiedBy(LastModifiedBy lastModifiedBy)

      Present on resources created after 1 February 2019 except for events not tracked.

      Parameters:
      lastModifiedBy - value to be set
    • setCreatedBy

      void setCreatedBy(CreatedBy createdBy)

      Present on resources created after 1 February 2019 except for events not tracked.

      Parameters:
      createdBy - value to be set
    • of

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

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

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

      builder factory method for Order
      Returns:
      builder
    • builder

      static OrderBuilder builder(Order template)
      create builder for Order instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withOrder

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

    • typeReference

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