Interface CartAddCustomShippingMethodAction

All Superinterfaces:
CartUpdateAction, ResourceUpdateAction<CartUpdateAction>

public interface CartAddCustomShippingMethodAction extends CartUpdateAction

To add a custom Shipping Method (independent of the ShippingMethods managed through the Shipping Methods API) to the Cart, it must have the Multiple ShippingMode.


Example to create an instance using the builder pattern

     CartAddCustomShippingMethodAction cartAddCustomShippingMethodAction = CartAddCustomShippingMethodAction.builder()
             .shippingKey("{shippingKey}")
             .shippingMethodName("{shippingMethodName}")
             .shippingAddress(shippingAddressBuilder -> shippingAddressBuilder)
             .shippingRate(shippingRateBuilder -> shippingRateBuilder)
             .build()
 
  • Field Details

    • ADD_CUSTOM_SHIPPING_METHOD

      static final String ADD_CUSTOM_SHIPPING_METHOD
      discriminator value for CartAddCustomShippingMethodAction
      See Also:
  • Method Details

    • getShippingKey

      @NotNull @NotNull String getShippingKey()

      User-defined identifier for the custom Shipping Method that must be unique across the Cart with Multiple ShippingMode.

      Returns:
      shippingKey
    • getShippingMethodName

      @NotNull @NotNull String getShippingMethodName()

      Name of the custom Shipping Method.

      Returns:
      shippingMethodName
    • getShippingAddress

      @NotNull @Valid @NotNull @Valid BaseAddress getShippingAddress()

      Determines the shipping rate and Tax Rate of the associated Line Items.

      Returns:
      shippingAddress
    • getShippingRate

      @NotNull @Valid @NotNull @Valid ShippingRateDraft getShippingRate()

      Determines the shipping price.

      Returns:
      shippingRate
    • getShippingRateInput

      @Valid @Valid ShippingRateInputDraft 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 must be ClassificationShippingRateInputDraft.
      • If CartScore, it must be ScoreShippingRateInputDraft.
      • If CartValue, it cannot be set.
      Returns:
      shippingRateInput
    • getTaxCategory

      @Valid @Valid TaxCategoryResourceIdentifier getTaxCategory()

      Tax Category used to determine a shipping Tax Rate if the Cart has the Platform TaxMode.

      Returns:
      taxCategory
    • getExternalTaxRate

      @Valid @Valid ExternalTaxRateDraft getExternalTaxRate()

      Tax Rate used to tax a shipping expense if the Cart has the External TaxMode.

      Returns:
      externalTaxRate
    • getDeliveries

      @Valid @Valid List<DeliveryDraft> getDeliveries()

      Deliveries to be shipped with the custom Shipping Method.

      Returns:
      deliveries
    • getCustom

      @Valid @Valid CustomFieldsDraft getCustom()

      Custom Fields for the custom Shipping Method.

      Returns:
      custom
    • setShippingKey

      void setShippingKey(String shippingKey)

      User-defined identifier for the custom Shipping Method that must be unique across the Cart with Multiple ShippingMode.

      Parameters:
      shippingKey - value to be set
    • setShippingMethodName

      void setShippingMethodName(String shippingMethodName)

      Name of the custom Shipping Method.

      Parameters:
      shippingMethodName - value to be set
    • setShippingAddress

      void setShippingAddress(BaseAddress shippingAddress)

      Determines the shipping rate and Tax Rate of the associated Line Items.

      Parameters:
      shippingAddress - value to be set
    • setShippingRate

      void setShippingRate(ShippingRateDraft shippingRate)

      Determines the shipping price.

      Parameters:
      shippingRate - value to be set
    • setShippingRateInput

      void setShippingRateInput(ShippingRateInputDraft 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 must be ClassificationShippingRateInputDraft.
      • If CartScore, it must be ScoreShippingRateInputDraft.
      • If CartValue, it cannot be set.
      Parameters:
      shippingRateInput - value to be set
    • setTaxCategory

      void setTaxCategory(TaxCategoryResourceIdentifier taxCategory)

      Tax Category used to determine a shipping Tax Rate if the Cart has the Platform TaxMode.

      Parameters:
      taxCategory - value to be set
    • setExternalTaxRate

      void setExternalTaxRate(ExternalTaxRateDraft externalTaxRate)

      Tax Rate used to tax a shipping expense if the Cart has the External TaxMode.

      Parameters:
      externalTaxRate - value to be set
    • setDeliveries

      void setDeliveries(DeliveryDraft... deliveries)

      Deliveries to be shipped with the custom Shipping Method.

      Parameters:
      deliveries - values to be set
    • setDeliveries

      void setDeliveries(List<DeliveryDraft> deliveries)

      Deliveries to be shipped with the custom Shipping Method.

      Parameters:
      deliveries - values to be set
    • setCustom

      void setCustom(CustomFieldsDraft custom)

      Custom Fields for the custom Shipping Method.

      Parameters:
      custom - value to be set
    • of

      factory method
      Returns:
      instance of CartAddCustomShippingMethodAction
    • of

      factory method to create a shallow copy CartAddCustomShippingMethodAction
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • deepCopy

      factory method to create a deep copy of CartAddCustomShippingMethodAction
      Parameters:
      template - instance to be copied
      Returns:
      copy instance
    • builder

      builder factory method for CartAddCustomShippingMethodAction
      Returns:
      builder
    • builder

      create builder for CartAddCustomShippingMethodAction instance
      Parameters:
      template - instance with prefilled values for the builder
      Returns:
      builder
    • withCartAddCustomShippingMethodAction

      default <T> T withCartAddCustomShippingMethodAction(Function<CartAddCustomShippingMethodAction,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<CartAddCustomShippingMethodAction> typeReference()
      gives a TypeReference for usage with Jackson DataBind
      Returns:
      TypeReference