Broadleaf Microservices
  • v1.0.0-latest-prod

Cart Types

AddAttributeRequest

Property Type Description

key

string

The attributes’s key.

value

unknown

The attribute’s value.

AddCodeRequest

Property Type Description

code

string

The code to add.

AddCodeToCartResponse

Property Type Description

cart

Cart

The updated cart related to the add code submission

code

string

The code which was sent.

responseCode

string

The response of the request.

message

string

Any additional messages from the server, typically an error message.

adjustments

Array<Adjustment>

Any adjustments to cart as the result of applied offers.

AddItemFailure

Property Type Description

addItemRequest

AddItemRequest

The add item request that failed

type

'VALIDATION' | 'PRODUCT_MISSING'

The type of failure that this request encountered.

invalideCartItem

CartItem

If type is 'VALIDATION', this object represents the invalid cart item that was built based on the provided addItemRequest.

AddItemListToCartRequest

Property Type Description

itemListIds

Array<string>

Set of ids representing the Item Lists that are to be added to cart.

AddItemRequest

Property Type Description

variantId?

string

The id of the variant for this add item request. Used to retrieve variant information for the cart item.

productId

string

The id of the product for this add item request. Used to retrieve product information for the cart item.

sku?

string

The SKU code for the item (e.g., Product or Variant).

quantity

number

The amount of this item to be added to the cart.

itemAttributes?

Record<string, string>

Miscellaneous attributes that should be copied to the cart item’s attributes for this request.

itemAttributeChoices?

Record<string, string>

Attribute choices that should be copied to cart item’s attribute choices for this request.

cartAttributes?

Record<string, string>

Attributes that should be copied to the cart’s attributes for this request.

dependentCartItems?

Array<AddItemRequest>

A list of additional AddItemRequests that should be processed as dependent items of the resulting parent item of this current AddItemRequest.

itemChoiceKey?

string

If this AddItemRequest is one within dependentCartItems, this is the key to use to relate to this cart item to a configured product item choice.

additionalAttributes?

Record<string, unknown>

Miscellaneous attributes that can be set to this request in cart to inform business logic for adding a cart item.

AdditionalItemPricing

Property Type Description

pricingModel

string

How to determine the pricing of this chosen item relative to its parent product - i.e. included or an additional cost.

overridePrice

MonetaryAmount

The price of this choice, only relevant when the pricing model of this choice is ADD_TO_PARENT.

pricingKey

string

System-wide unique identifier to configure specific pricing for the choice.

pricingTargetType

string

The type of the item to which this pricing belongs, for example SKU or PRICING_KEY.

Address

Property Type Description

firstName?

string

The first name of the individual at this address.

lastName?

string

The last name of the individual at this address.

fullName?

string

The combined names of the individual at this address. It is considered better UX to use a full name field in place of separate first and last name fields.

emailAddress?

string

The email address of the individual at this physical address.

companyName?

string

The name of the company at this address.

addressLine1

string

Primary address information, typically street name and building number.

addressLine2?

string

Secondary address information, like apartment, suite, or unit number.

addressLine3?

string

Tertiary address information, typically for international addresses.

city

string

The city, town or village of this address.

county?

string

The county of this address.

stateProvinceRegion

string

The state, province or region of this address.

country

string

The country for this address.

postalCode

string

Postal code or ZIP code for this address.

phonePrimary?

Phone

The primary phone number for this address.

phoneSecondary?

Phone

The secondary phone number for this address.

phoneFax?

Phone

The fax number for this address.

isDefault?

boolean

Whether this address is the default address of the owner.

isActive?

boolean

Whether this address is an active address of the owner.

[key: string]

unknown

Any additional custom attributes included on this customer address.

AddToCartApiError

extends ApiError

An ApiError used for errors during CartItem validation.

Property Type Description

globalConfigErrors

Array<ConfigError>

List of global configuration errors for the CartItem

attributeConfigErrors

Record<string, Array<ConfigError>>

The key would be the attribute’s name like COLOR.

dependentItemConfigErrors

Record<string, Array<ConfigError>>

The key would be the item’s identifier like a choiceKey.

Adjustment

Property Type Description

offerRef

OfferRef

A reference to the offer that originated this adjustment.

amount

MonetaryAmount

The amount of this adjustment.

codeUsed?

string | null

The code used (if any) that triggered the application of the offer for this adjustment.

AttributeChoiceValue

Property Type Description

optionLabel?

string

The label shown to customers for the option.

label

string

What the customer sees for display.

value

string

The value based on what the user selected.

BulkAddToCartResponse

Property Type Description

cart

Cart

The most up-to-date cart that includes all requests that were successfully processed

addItemFailures

Array<AddItemFailure>

All failures that occurred during the add process.

CampaignRef

Property Type Description

campaignTrackingId

string

A text identifier used to track a specific campaign.

campaignCode

string

The user provided text code that refers to the campaign.

Cart

Property Type Description

id

string

The unique id for this cart.

name?

string

A unique name for the cart, used for retrieval. This field is not displayed anywhere.

status

string

The status of this cart.

customerRef?

CustomerRef

A reference to the customer that owns this cart.

emailAddress

string

The customer’s email address.

orderNumber?

string

The unique number associated with this Cart.

createDate

string

The date that the originating cart was first created.

submitDate?

string

The date that this cart was submitted.

locale

string

The locale for this cart.

cartPricing

CartPricing

All the pricing information on this cart.

cartItems

Array<CartItem>

Items that are contained within this cart. Typically represents a good or service that the customer is purchasing.

fulfillmentGroups

Array<FulfillmentGroup>

A list of fulfillment information for this cart. A cart can have many fulfillment groups associated with it in cart to support multi-address and multi-type shipping.

adjustments?

Array<Adjustment>

Adjustments to cart pricing that were applied to the subtotal.

offerCodes?

Array<string>

A list of offer codes that were added to this cart. Used to apply Adjustments to different aspects of the cart.

campaignRefs?

Array<CampaignRef>

A list of campaign references that are attached to this cart.

payments?

Array<Payment>

The list of payments associated with this cart.

activePayments?

Array<Payment>

The list of payments associated with this cart.

attributes?

Record<string, unknown>

Miscellaneous attributes for this cart.

internalAttributes?

Record<string, unknown>

Miscellaneous internal attributes for this cart.

attributeChoices?

Record<string, AttributeChoiceValue>

Attribute choices for this cart driven by its items' product options, where each key is the attributeName from an attribute choice.

isPriced

boolean

Whether this cart has been fully priced.

isTaxEstimated

boolean

Whether the taxes on the cart are estimates.

version

number

The version of this cart. Used for checking that the requested version of the cart is up-to-date before saving changes.

cartAlerts?

Array<CartAlert>

The list of the alerts for this cart. NOTE: This is a transient property that is not persisted in the database.

currency

string

The currency unit used for the pricing of this Cart.

anonymous

boolean

Whether or not the cart is for an anonymous user.

quantity

number

The number of items in this cart.

CartAlert

Property Type Description

type

string

The type of the alert.

message

string

The message for this alert.

additionalAttributes?

Record<string, unknown>

Contains the additional information about this alert.

CartApprovalProcessFailureType (Enum)

Name Value Description

INVALID_CART_STATUS

'INVALID_CART_STATUS'

INVALID_ACCESS

'INVALID_ACCESS'

CartApprovalProcessRequest

Request DTO used for providing information for the cart approval flows, such as submitting cart for approval or rejecting cart.

Property Type Description

comment

string

A comment a user wishes to include with this action.

additionalAttributes?

Record<string, unknown>

A map of additional fields suitable for adding any data not currently represented.

CartApprovalProcessResponse

DTO for communicating the result of the cart approval flow, such as request cart for approval or rejecting a cart.

Property Type Description

cart

Cart

The most up-to-date cart.

additionalAttributes?

Record<string, unknown>

Miscellaneous attributes that can be set to this response in order to provide more information on validation failures.

CartClientCallOptions

extends ClientCallOptions

Property Type Description

version?

number

The current cart version.

guestToken?

string

Optional guest checkout token.

CartCreationRequest

Property Type Description

addItemRequest?

AddItemRequest

The initial AddItemRequest to populate the cart.

priceCartRequest?

PriceCartRequest

The initial PriceCartRequest to price the cart.

CartItem

Property Type Description

id

string

The unique id for this cart item.

name?

string

The name of this item. Typically derived from the product or sku name.

uri?

string

The navigable uri of the corresponding catalog entry (e.g. product) for this cart item.

quantity

number

The number of this item in the Cart.

dependentCartItems?

Array<CartItem>

CartItems that depend on this CartItem. Also could be called "child items".

dependentItemDetails

DependentItemDetails

If this CartItem is a dependent cart item, this contains additional details about the dependent CartItem’s dependency on its parent.

overridePriceFlag?

boolean

Whether the price of this CartItem was specifically overridden, whether from a CSR or an automatic process.

priceListId?

string

The id of the price list used to get the pricing for this CartItem.

unitPrice

MonetaryAmount

The individual unit price for an CartItem.

unitPriceType

string

The type of the unit price for an CartItem. Typically "salePrice", "standardPrice", or "basePrice".

adjustmentsTotal

MonetaryAmount

The total adjustment price for all adjustments of an CartItem.

subtotal

MonetaryAmount

The subtotal price of this CartItem.

total

MonetaryAmount

The total price of this CartItem.

itemAdjustments?

Array<Adjustment>

Adjustments to item pricing that should be applied to the subtotal

variantId?

string | null

The id to the corresponding variant for this item.

productId?

string

The id to the corresponding product for this item.

categoryIds?

Array<string>

The ids to the corresponding categories for this item’s product. Used for validating item choice configuration and offers.

sku?

string

Represents a SKU code, similar to productId or variantId, except this is a unified, unique concept across both products and variants.

imageAsset?

ImageAssetRef

The image asset for this item, usually sourced from the product.

discountable

boolean

Whether this item can be applied to any offers or promotions.

vendorRef?

string

A reference to the corresponding vendor for this item.

merchandisingContext?

string

The merchandising context for this cart item.

attributes?

Record<string, unknown>

Miscellaneous attributes for this item.

internalAttributes?

Record<string, unknown>

Miscellaneous internal attributes for this item.

attributeChoices?

Record<string, AttributeChoiceValue>

Attribute choices for this item driven by product options, where each key is the attributeName from an attribute choice.

isPriced

boolean

Flag to indicate whether this item has been priced.

globalConfigErrors

Array<ConfigError>

List of global configuration errors.

attributeConfigErrors

Record<string, Array<ConfigError>>

Map of configuration errors for related to this item’s attribute choices that are derived from ProductOptions where the key is the attribute name.

dependentItemConfigErrors

Record<string, Array<ConfigError>>

Map of configuration errors for related to this item’s dependent cart items where the key is the item’s identifier such as ProductOption choiceKey.

overrideDetails?

Array<OverrideDetail>

List of details about any price overrides which have been performed on this item.

taxable

boolean

Whether this item is taxable.

cartVersion

number

The Cart’s version. Used for version checking when the cart is not part of the request.

catalogRef

string | null

A reference to the corresponding catalog for this item.

unitPriceWithDependentItems

MonetaryAmount

Computed unit price with dependent items included.

subtotalWithDependentItems

MonetaryAmount

Computed subtotal with dependent items included.

adjustmentsTotalWithDependentItems

MonetaryAmount

Computed adjustments total with dependent items included.

totalWithDependentItems

MonetaryAmount

Computed total with dependent items included.

pricingStrategy?

DefaultPricingStrategyType | string

For dependent cart items, this strategy is used to indicate how the price should be incorporated into the overall cart subtotal - i.e. whether this cart item’s price should be added to the subtotal (the ADD_TO_PARENT strategy) or if the parent cart item’s price already includes this item’s price (the INCLUDED_IN_PARENT strategy). By default, the ADD_TO_PARENT strategy is used.

>Note: Regardless of this strategy, if the dependent cart item has a related FulfillmentItem, then there will likely be a tax amount related to the item that be included in the cart’s overall price.

pricingKey?

string

System-wide unique identifier to configure specific pricing for the choice.

productTags

Array<string>

The list of simple labels used to categorize the corresponding product for this item.

brandId?

string

The id to the corresponding data driven enum for this item’s product’s brand. Used for validating offers.

merchandisingTypeId?

string

The id to the corresponding data driven enum for this item’s product’s merchandising type. Used for validating offers.

targetDemographicId?

string

The id to the corresponding data driven enum for this item’s product’s target demographic. Used for validating offers.

type?

string

The type of this cart item.

CartPricing

Property Type Description

currency

string

The currency unit used for the pricing of this Cart.

totalTax

MonetaryAmount

The total tax amount for this Cart.

fulfillmentTotal

MonetaryAmount

The total fulfillment price of this Cart, including adjustments.

subtotal

MonetaryAmount

The subtotal price of this Cart.

adjustmentsTotal

MonetaryAmount

The total adjustment price for all adjustments of an Cart and its cart items.

total

MonetaryAmount

The total price of this Cart.

feesTotal

MonetaryAmount

The total fees of this Cart. This is the sum of all subtotals for cart items with type {@link DefaultCartItemType.EXTRA_FEE}

CartRequestHeaderType (Enum)

Name Value Description

GUEST_TOKEN

'X-Guest-Token'

CART_VERSION

'X-Cart-Version'

CheckoutClientCallOptions

extends ClientCallOptions

Property Type Description

version?

number

The current cart version.

guestToken?

string

Optional guest checkout token.

CheckoutProcessRequest

Property Type Description

requestId

string

A unique id used to represent the request. This value can be used to link various persisted entities/values to the originating request.

CheckoutResponse

Property Type Description

cart

Cart

The cart related to the checkout submission.

success

boolean

Whether the checkout submission was successful.

awaitingPaymentResult

boolean

Whether or not the cart was submitted for checkout but awaiting payment result.

failureType?

string

The type of checkout failure which can be used programmatically by the client application to react to the failure.

failureMessage?

string

Message intended to inform why the checkout submission failed if success is false.

itemFailureMessages?

Record<string, string>

Line item error messages used to describe issues with individual fields, cart items, etc. For example, this may consist of map entries where the key is a cart item id (or name) & the value is an explanation of why the item is misconfigured.

paymentSummaries?

Array<PaymentSummary>

A collection of payment summaries related to the cart.

paymentTransactionFailureDetails?

Array<PaymentTransactionFailureDetail>

A collection of payment transaction failure details describing how the transaction(s) failed.

requestId

string

The id representing the customer’s request to checkout

CollectOnDeliveryFee

Property Type Description

name

string

amount

number

currency

string

discountable?

boolean

taxable?

boolean

refundable?

boolean

ConfigError

Property Type Description

errorCode

string

The error code for this configuration error. Intended to be used with auditing or mapping to a human readable explanation.

errorMessage

string

The error message for this configuration error. Intended to be shown to the customer as a human readable explanation.

ContactInfoRequest

Property Type Description

emailAddress

string

Email addresses that should be used as a point of contact for the cart.

CreatePaymentRequest

extends PaymentRequest

Property Type Description

ownerType

DefaultPaymentOwnerType | string

Describes the owner of the payment. For example, the payment could have originated with a cart or a subscription, therefore this value might be BLC_CART or BLC_SUBSCRIPTION.

ownerId

string

The id of the entity that owns this payment. For example, this may be a cart id, or a subscription billing cycle id.

owningUserType?

DefaultPaymentOwningUserType | string

Describes the type of the owning user of the payment. For example, the payment could belong to a Broadleaf customer or an account, therefore this value might be BLC_CUSTOMER, or BLC_ACCOUNT.

owningUserName?

string

Describes the name of the owning user of the payment.

owningUserType?

string

Describes the email address of the owning user of the payment.

CurrencyUnit

Property Type Description

currencyCode

string

The unique currency code, the effective code depends on the currency.

numericCode?

string

The numeric currency code. within the ISO-4217 name space.

CustomerRef

Property Type Description

customerId

string

The ID of the customer that owns this cart.

username

string

The customer’s username.

fullname?

string

The customer’s fullname.

isRegistered

boolean

Whether this customer is registerd.

accountId?

string

The id of the account this customer belongs to.

rootAccountId?

string

The id of the root account the account member belongs to.

DefaultCartItemType (Enum)

The default types of cart items.

Name Value Description

STANDARD

'STANDARD'

A normal cart item with typical behavior.

EXTRA_FEE

'EXTRA_FEE'

Represents a fee applied to the cart such as for Collect on Delivery or other payment options. These are not to be included in the cart subtotal or quantity.

COD_FEE

'COD_FEE'

Represents a fee applied to the cart for Collect on Delivery. These are not to be included in the cart subtotal or quantity.

DefaultCartStatus (Enum)

Enumerates the kinds of statuses that could be represented by a cart’s status.

Name Value Description

IN_PROCESS

'IN_PROCESS'

The Cart is in process and can be modified.

REQUIRES_APPROVAL

'REQUIRES_APPROVAL'

Used to represent a cart that requires approval. This is typically used for B2B account carts.

REJECTED

'REJECTED'

Used to represent a cart that has been rejected. This is typically used for B2B account carts.

LOCKED_FOR_TX_REVERSAL

'LOCKED_FOR_TX_REVERSAL'

Used to represent a cart that has been locked while its transactions requiring reversal are being processed. Setting this status is primarily meant to ensure that no other threads are able to simultaneously modify the cart.

SUBMISSION_IN_PROGRESS

'SUBMISSION_IN_PROGRESS'

Used to represent a cart that has been submitted by the customer & the processing of that submission is in progress. While in this status, the cart should be locked from modification by any customer requests.

SUBMITTED

'SUBMITTED'

Used to represent a cart that has been submitted by the customer & the processing of that submission has been successfully completed. This means that the cart can no longer be modified and is locked in. This also means that the cart should have its Cart#getOrderNumber set.

CANCELLED

'CANCELLED'

The cart has been cancelled either by the customer, a CSR, or an automated process.

CSR_OWNED

'CSR_OWNED'

Represents a cart which is being managed by a CSR for the customer. A cart in this status is not visible to the customer. This cart was either created by a CSR or cloned from an existing customer’s cart, and can be transferred back as the customer’s IN_PROCESS cart.

IN_TRANSFER

'IN_TRANSFER'

Represents an anonymous cart which is primed to be transferred to a user. This cart has no other uses prior to being transferred.

TEST

'TEST'

Represents a cart which is being managed by an admin in preview mode. This cart cannot be submitted during checkout.

DefaultFulfillmentType (Enum)

The default types of fulfillment for FulfillmentGroups.

Name Value Description

NONE

'NONE'

Since 1.5.3

SHIP

'SHIP'

PICKUP

'PICKUP'

VIRTUAL

'VIRTUAL'

SAME_DAY_DELIVERY

'SAME_DAY_DELIVERY'

Since 1.5.3

DefaultPaymentOwnerType (Enum)

Name Value Description

BLC_CART

'BLC_CART'

Represents a Broadleaf-managed cart.

BLC_SUBSCRIPTION

'BLC_SUBSCRIPTION'

Represents a Broadleaf-managed subscription.

DefaultPaymentOwningUserType (Enum)

Default types of payments represented by a PaymentRequest.

Name Value Description

BLC_CUSTOMER

'BLC_CUSTOMER'

Represents a Broadleaf-managed customer.

BLC_ACCOUNT

'BLC_ACCOUNT'

Represents a Broadleaf-managed account.

DefaultPaymentType (Enum)

Default types of payments represented by a PaymentRequest.

Name Value Description

GIFT_CARD

'GIFT_CARD'

CREDIT_CARD

'CREDIT_CARD'

BANK_ACCOUNT

'BANK_ACCOUNT'

CHECK

'CHECK'

ELECTRONIC_CHECK

'ELECTRONIC_CHECK'

WIRE

'WIRE'

MONEY_ORDER

'MONEY_ORDER'

CUSTOMER_CREDIT

'CUSTOMER_CREDIT'

COD

'COD'

CUSTOMER_PAYMENT

'CUSTOMER_PAYMENT'

PURCHASE_ORDER

'PURCHASE_ORDER'

STORE_CREDIT

'STORE_CREDIT'

THIRD_PARTY_ACCOUNT

'THIRD_PARTY_ACCOUNT'

APPLE_PAY

'APPLE_PAY'

DefaultPricingStrategyType (Enum)

Pricing strategy for a dependent cart item. This is used to indicate whether to add the price of the dependent item when calculating the subtotal amount of the cart.

Name Value Description

ADD_TO_PARENT

'ADD_TO_PARENT'

The price of the dependent cart item will be added to the parent item’s price.

INCLUDED_IN_PARENT

'INCLUDED_IN_PARENT'

The price of the dependent cart item is considered to be already included in the parent item’s price.

DeletedItemListResponse

Property Type Description

deletedItemListIds

Array<string>

The set of item list IDs that were deleted.

inaccessibleItemListIds

Array<string>

From the list of provided IDs, this represents the set of item list IDs that the user does not have permission to delete.

DependentItemDetails

Property Type Description

itemChoiceKey

string

The key to use to relate to this cart item to a configured product item choice.

additionalItemPricing

AdditionalItemPricing

Dictates how the dependent item should be priced.

variantPricing

Record<string, SpecificItemChoiceVariantPricingOverride>

Pricing overrides if specific variants of the main product this item belongs to are added to the cart.

FulfillmentGroup

Property Type Description

referenceNumber

string

The reference number of the FulfillmentGroup this fulfillment was created from.

type

string

The type of means by which this fulfillment is fulfilled. This could be SHIP, PICKUP, or VIRTUAL, for example.

fulfillmentOption?

FulfillmentOption

The fulfillment option chosen for the type

inventoryLocationReference?

string

This is an optional field where the ID or reference number of the expected InventoryLocation is stored.

address

Address

The shipping address for this fulfillment.

taxAddressSource

'SHIPPING_ADDRESS' | 'PAYMENT_ADDRESS'

Where to find the address to be used for tax calculation on this fulfillment group.

groupFulfillmentPriceBeforeAdjustments

MonetaryAmount

The shipping price of this fulfillment group before adjustments are applied.

fulfillmentItemsSubtotal

MonetaryAmount

The total shipping price of this fulfillment group’s fulfillment items.

fulfillmentTaxableAmount

MonetaryAmount

The amount of the total fulfillment price that can be taxed, including item shipping prices.

totalFulfillmentPrice

MonetaryAmount

The total shipping price of this fulfillment group, including adjustments and item shipping prices. This does not include taxes on the fulfillment price. This does not include taxes.

overrideFulfillmentPriceFlag?

boolean

Whether the total fulfillment price of this order fulfillment was specifically overridden, whether from a CSR or an automatic process.

taxTotal

MonetaryAmount

The total tax of this fulfillment, including merchandise and fulfillment tax.

adjustments?

Array<Adjustment>

Adjustments to fulfillment pricing that should be applied to fulfillment charge.

fulfillmentItems

Array<FulfillmentItem>

Items within this fulfillment, each of which should relate back to a OrderItem.

isPriced

boolean

Flag to indicate whether this group has been priced.

overrideDetails?

Array<OverrideDetail>

List of details about any price overrides which have been performed on this fulfillment.

pricedFulfillmentOption?

PricedFulfillmentOption

The fulfillment option chosen for the type.

attributes?

Record<string, unknown>

Additional attributes for this order fulfillment.

FulfillmentItem

Property Type Description

referenceNumber

string

The reference number for this fulfillment item.

cartItemId

string

The id of the OrderItem to be represented by this fulfillment item.

quantity

number

The quantity of the item to be fulfilled by this fulfillment.

merchandiseTotalAmount

MonetaryAmount

The unit price of the related cart item multiplied by quantity.

proratedOrderAdjustments

MonetaryAmount

The amount prorated to this item from order adjustments.

merchandiseTaxableAmount

MonetaryAmount

The amount that can be taxed based on the cart item price and usually less any prorated order-adjustments.

merchandiseTotalTax

MonetaryAmount

The total tax of the item merchandise based on the price of the related cart item.

fulfillmentPriceBeforeAdjustments

MonetaryAmount

The fulfillment price of this cart item before adjustments are applied.

fulfillmentAdjustmentsTotal

MonetaryAmount

The total of all the item fulfillment adjustments for this item.

fulfillmentTotal

MonetaryAmount

The total fulfillment price of this item, including adjustments. This does not include taxes.

fulfillmentAdjustments

Array<Adjustment>

Adjustments to item fulfillment pricing that should be applied to the total of unitFulfillmentCharge.

availableOnline

boolean

Whether or not this product is available online - ie inventory is available somewhere to fulfill this product

inventoryCheckStrategy?

string

The inventory check strategy of the item. This value helps to determine when an inventory check is required.

inventoryReservationStrategy?

string

The reservation strategy of the item. This value helps to determine when an inventory reservation is required.

fulfillmentItemTaxDetails?

Array<FulfillmentItemTaxDetail>

The tax details for this fulfillment item.

pricedFulfillmentOption?

PricedFulfillmentOption

The fulfillment option chosen for the type.

attributes

Record<string, unknown>

Additional attributes for this fulfillment item.

FulfillmentItemTaxDetail

Property Type Description

taxCalculated

MonetaryAmount

The amount of taxes calculated.

taxableAmount

MonetaryAmount

The amount that was taxable to determine the calculated tax.

rate

number

The tax rate

jurisdictionType?

string

The jurisdiction type, e.g. city, state, county, etc.

jurisdictionName?

string

The tax jurisdiction name. This may be a state, city, county, etc. For example, "California", "New York City", etc.

country

string

The 2 digit country code.

region?

string

The region that this tax was calculated.

taxName?

string

The tax name for this tax detail. Describes the tax (e.g. TX STATE TAX)

transactionId

string

The transaction ID for this tax detail.

FulfillmentOption

Property Type Description

name

string

The name of the fulfilment option.

description?

string

A description for the fulfillment option.

useFlatRates

boolean

Whether the fulfillment option uses flat rates.

taxCode

string

The tax code for the fulfillment option.

taxable

boolean

Whether this fulfillment option is taxable.

PricedFulfillmentOption

Note
Since 1.5.3 (Release Train 1.8.2)
Property Type Description

serviceLevel

string

User-defined service level. This will typically include values like "SAME_DAY", "FIRST_CLASS", "OVERNIGHT", "STANDARD", etc. for {@link DefaultFulfillmentType.SHIP}; or "IN_STORE" or "CURBSIDE" for DefaultFulfillmentType.PICKUP This will depend on how clients (tenants or applications) define their available Fulfillment Option Service levels.

If AbstractFulfillmentOption.inventoryType is NONE then this must return NONE as well.

fulfillmentType

string

Broad categorization of how this fulfillment option is fulfilled. For instance, SHIP, PICKUP, or VIRTUAL.

description?

string

Human-readable description (e.g. First Class, USPS First Class, or Pickup at Store #53).

calculatorIds

string[]

The list of calculatorIds which were used to compute the price for this option.

fulfillmentReference

string

This is either the ID of the Fulfillment Group or Fulfillment Item, depending on the value of PricedFulfillmentOption.pricingStrategy.

estimatedMinDaysToFulfill

number

The minimum number of days estimated for delivery. Null value is possible and means that the estimated days to deliver is unknown.

estimatedMaxDaysToFulfill

number

The maximum number of days expected for delivery. Null value is possible meaning no max days to fulfill has been configured.

price

MonetaryAmount

This will be the price of using this Fulfillment Option. This may be ZERO.

taxable

boolean

Indicate if this fulfillment price is taxable.

taxCode

string

A tax code for this fulfillment option.

additionalAttributes

Record<string, unknown>

Map to hold arbitrary additional attributes.

FulfillmentPricingConfig

Note
Since 1.5.3 (Release Train 1.8.2)
Property Type Description

id?

string

Id of the config.

fulfillmentPricingStrategy

FulfillmentPricingStrategy

string

Strategy that defines how a particular context expects Fulfillment Groups to be priced. This indicates if the PricedFulfillmentOption is on the FulfillmentGroup or FulfillmentItem.

defaultServiceLevel

string

UpdateFulfillmentGroupAddressRequest

Note
Since 1.5.3 (Release Train 1.8.2)
Property Type Description

address

FulfillmentAddress

The updated address.

CartFulfillmentResponse

Note
Since 1.5.3 (Release Train 1.8.2)
Property Type Description

cart

Cart

The updated cart.

fulfillmentOptionResponse

FulfillmentOptionResponse

The updated fulfillment options.

FulfillmentOptionResponse

Note
Since 1.5.3 (Release Train 1.8.2)
Property Type Description

groupFulfillmentOptions

Record<string, Array<PricedFulfillmentOption>>

Map of options by the fulfillment group reference number.

itemFulfillmentOptions

Record<string, Array<PricedFulfillmentOption>>

Map of options by the fulfillment item reference number

FulfillmentPricingStrategy

Note
Since 1.5.3 (Release Train 1.8.2)
Property Type Description

GROUP

'GROUP'

Indicates that fulfillment pricing should be applied to the Fulfillment Group, rather than each individual item.

ITEM

'ITEM'

Indicates that fulfillment pricing should be applied to the Fulfillment Item, rather than the containing Fulfillment Group. This is the default.

FulfillmentAddress

Note
Since 1.5.3 (Release Train 1.8.2)

address1?

string

Street address line 1. This is often not required for calculating fulfillment charges, but is included for completeness and in case this detail is required in some cases.

address2?

string

Street address line 2. This is often not required for calculating fulfillment charges, but is included for completeness and in case this detail is required in some cases.

address3?

string

Street address line 3. This is often not required for calculating fulfillment charges, but is included for completeness and in case this detail is required in some cases.

city?

string

The name of a city in which this address or partial address is located.

region?

string

State, Province, or Region in which this address or partial address is located.

country

string

Country code. This should not be null. We should know in which country, at least, this address (or partial address) is located.

postalCode?

string

Postal code (or ZIP code in the US) in which this address or partial address is located.

poBox?

boolean

Indicates if this address or partial address is a Post Office (PO) Box. Some shipping providers cannot ship to a PO Box.

latitude?

number

Latitude for GPS coordinates. Typically, latitude and longitude can be used to determine an exact location, and can be used instead of other properties like region, city, and postal code. These are usually determined by a geolocation service and are required for distance or radius searches, for example.

longitude?

number

Longitude for GPS coordinates. Typically, latitude and longitude can be used to determine an exact location, and can be used instead of other properties like region, city, and postal code. These are usually determined by a geolocation service and are required for distance or radius searches, for example.

FulfillmentOptionPricedResponse

Property Type Description

description

string

The description of the fulfillment option.

name

string

The name of the fulfillment option.

taxCode

string

A tax code for the option.

taxable

boolean

Whether the fulfillment option is taxable

useFlatRates

boolean

Whether this option uses flat rates.

fulfillmentPriceCalculated

MonetaryAmount

The total fulfillment price calculated.

estimatedDeliveryDate

string

The estimated delivery date.

fulfillmentPriceInfos

Record<string, FulfillmentPriceInfo>

The pricing infos for each of the line items, keyed by item id.

FulfillmentPriceInfo

Property Type Description

itemId

string

The id of the line item for this fulfillment pricing info.

skuCode

string

The sku code for the item.

isEstimated

boolean

Whether the calculated price is an estimate.

pricePerUnit

MonetaryAmount

The fulfillment price calculated for a unit of the item.

total

MonetaryAmount

The combined total for all units.

GuestToken

Property Type Description

cartId

string

The id of the cart associated with this guest checkout token.

tokenString

string

The actual guest checkout token.

expirationTime

string

When the token expires.

GuestTokenResponse

Property Type Description

cart

Cart

The cart associated with this guest token.

token

GuestToken

The actual guest checkout token.

GuestTokenValidationResponse

Property Type Description

valid

boolean

Whether the token is valid.

token

GuestToken

The guest checkout token.

ImageAssetRef

Property Type Description

contentUrl

string

The fully-resolvable content-URL to the binary data of the asset.

altText?

string

Text that corresponds to the HTML alt attribute that should be used when this asset is rendered in a browser.

title?

string

Text that corresponds to the HTML title attribute that should be used when this asset is rendered in a browser.

ItemList

Property Type Description

id?

string

The ID of this Item List Item.

name

string

The name of this item list.

items

Array<ItemListItem>

The collection of catalog items.

attributes?

{ [key: string]: unknown }

Miscellaneous attributes for this item list.

ItemListAddToCartResponse

Property Type Description

cart

Cart

The cart related to the add to cart submission

inaccessibleItemListIds

Array<string>

From the list of ids that the user attempted to add to cart, this represents the set of item list ids that the user does not have access to

failedItemAdditions

Record<string, Array<string>>

Map of item list ids to a collection of item list item ids that could not be added to cart

ItemListItem

Property Type Description

id?

string

The ID of this Item List Item.

itemListId

string

The ID of the parent Item List.

itemSkuRef?

ItemSkuRef

A reference to the catalog item.

quantity

number

undefined

attributes?

{ [key: string]: unknown }

Miscellaneous attributes for this item list item.

internalAttributes?

{ [key: string]: unknown }

Miscellaneous internal attributes for this item.

attributeChoices?

{ /** * Attribute choices for this item driven by product * options, where each key is the attributeName from * an attribute choice. */ [key: string]: AttributeChoiceValue }

undefined

ItemListItemPage

extends Page

Property Type Description

content

Array<ItemListItem>

A list of Item List Items.

ItemListPage

extends Page

Property Type Description

content

Array<ItemList>

A list of Item Lists.

ItemSkuRef

Property Type Description

sku?

string

The SKU being referred.

productId?

string

The ID of the product being referred.

variantId?

string

The ID of the variantId being referred.

MonetaryAmount

Property Type Description

amount

number

The monetary amount.

currency

string

The currency.

NumberedPageableClientCallOptions

extends ClientCallOptions

Property Type Description

page?

number | string

The page number.

size?

number | string

The size of the page.

sort?

string

The field and sort direction.

OfferRef

Property Type Description

id

string

The id of the offer.

name

string

The name of the offer.

description?

string | null

A description of what benefits the offer provides to a customer.

cartLabel?

string

A label for this offer typically used by the storefront.

OverrideDetail

Property Type Description

userId

string

The user ID of the admin user who performed the override.

author

string

The admin user who performed the override.

type

string

The type of override performed, e.g. a Cart Item Price override or a Fulfillment Group Price override.

originalAmount

MonetaryAmount

The amount contained in the field prior to being overridden.

overrideAmount

MonetaryAmount

The amount which the field has been overridden to.

reason?

string

The reason the override was performed, for example, "Price Match".

comment?

string

The optional, long-form comment explaining any extra context for the override.

OverridePriceRequest

Property Type Description

overridePrice

MonetaryAmount

The new price value.

reason

string

The reason the override was performed.

comment?

string

Optional, long-form comment explaining any extra context for the override.

Page

Property Type Description

first

boolean

Whether this page is the first page.

last

boolean

Whether this page is the last page.

numberOfElements

number

The number of elements currently on this page.

pagable

PageableNumbered

The implementation of Pageable that should be used to fetch pages of non-narrowed entities with a standard paging strategy.

sort

Array<SortOrder>

The sorting parameters for this page.

content

unknown

Object to return

PageableNumbered

Property Type Description

pageNumber

number

The number of the page when fetching results.

pageSize

number

The size of the page.

paged

boolean

Is this paged

upaged

boolean

Is this unpaged

Payment

Property Type Description

id

string

The id of this payment.

name?

string

The name of this payment. This name is typically something like "Visa ending in 1234".

customerPaymentAccountId?

string | null

The id of the customer’s saved payment account that was used to build this payment object.

Deprecated: in favor of #savedPaymentMethodId for more accurate naming.

savedPaymentMethodId?

string | null

The id of the owning user’s saved payment method that was used to build this payment object.

isSingleUsePaymentMethod?

boolean

Whether or not the underlying payment method can only be used once.

In most cases, we’re managing a single-use token that represents a credit card. This flag is especially important for managing payments with successful transactions. In those cases, the token has already been used and cannot be reused. If we need modify the payment’s amount, then we may actually need to archive the existing payment, and create a new payment, with a new underlying token.

Additionally, this flag is helpful when needing to re-authorize an expired authorization transaction. In that case, if the payment represents a single-use payment method, then the re-authorization may not be possible, and you’ll need to seek an alternative form of payment.

shouldSavePaymentToCustomer?

boolean

Should the payment method be saved to the customer.

Deprecated: In favor of #shouldSavePaymentForFutureUse to support owning user types other than a customer (i.e. account).

shouldSavePaymentForFutureUse?

boolean

Should the payment method be saved to the owning user (i.e. customer or account).

status?

DefaultCartStatus | string

The status of the payment. See DefaultCartStatus.

type

string

The type of this payment like Credit Card or Gift Card.

gatewayType

string

The gateway used to process this payment.

amount

MonetaryAmount

The amount for which this payment is allotted.

subtotal?

MonetaryAmount

The payment’s total usually excluding adjustments, tax, and fulfillment.

adjustmentsTotal?

MonetaryAmount

The payment’s adjustments (a.k.a discounts) total, usually excluding fulfillment discounts.

fulfillmentTotal?

MonetaryAmount

The payment’s total shipping cost

taxTotal?

MonetaryAmount

The payment’s total tax cost

billingAddress

Address

The billing address associated with this payment.

paymentMethodProperties

Record<string, string>

Map to capture any gateway-specific information needed to perform gateway transactions

attributes?

Record<string, string>

General use map to capture any additional attributes needed for this Payment

displayAttributes?

Record<string, string>

General use map to capture any display properties for this Payment.

transactions

Array<PaymentTransaction>

Transaction data representing each payment gateway interaction related to this payment.

archived?

boolean

Whether this payment has been archived.

PaymentClientCallOptions

extends ClientCallOptions

Property Type Description

version?

number

The current payment version.

PaymentMethodOptionResponse

Property Type Description

paymentMethodType

string

The type of this payment like Credit Card or Gift Card.

paymentMethodGatewayType

string

The gateway configured for this payment method.

allowedFulfillmentOptions

Array<string>

The names of the allowed fulfillment options. <p> Will only be applied in the case of Collect on Delivery (COD) type payments by default. We will eventually extend out of box support to any payment options. </p>

fees

Array<CollectOnDeliveryFee>

The list of applicable fees for this payment option. Can be discountable and/or taxable. <p> Will only be applied in the case of Collect on Delivery (COD) type payments by default. We will eventually extend out of box support to any payment options. </p>

cartMinTotalRestriction

Record<string, number>

The maximum total a cart can have for this payment method, per currency. <p> Will only be applied in the case of Collect on Delivery (COD) type payments by default. We will eventually extend out of box support to any payment options. </p>

cartMaxTotalRestriction

Record<string, number>

The minimum total a cart can have for this payment method, per currency. <p> Will only be applied in the case of Collect on Delivery (COD) type payments by default. We will eventually extend out of box support to any payment options. </p>

PaymentRequest

Property Type Description

name?

string

The name of this payment. This name is typically something like "Visa ending in 1234".

customerPaymentAccountId?

string

The id of the customer’s saved payment account that was used to build this payment object.

Note: This property is only relevant if the user desires to use a saved payment account to pay for their order. Otherwise, this value should remain unset.

Deprecated: in favor of #savedPaymentMethodId for more accurate naming.

savedPaymentMethodId?

string

The id of the owning user’s saved payment method that was used to build this payment object.

Note: This property is only relevant if the user desires to use a saved payment method to pay for their order. Otherwise, this value should remain unset.

isSingleUsePaymentMethod?

boolean

Whether or not the underlying payment method can only be used once.

In most cases, we’re managing a single-use token that represents a credit card. This flag is especially important for managing payments with successful transactions. In those cases, the token has already been used and cannot be reused. If we need modify the payment’s amount, then we may actually need to archive the existing payment, and create a new payment, with a new underlying token.

Additionally, this flag is helpful when needing to re-authorize an expired authorization transaction. In that case, if the payment represents a single-use payment method, then the re-authorization may not be possible, and you’ll need to seek an alternative form of payment.

type

string

The type of this payment like Credit Card or Gift Card. Defaults to CREDIT_CARD.

gatewayType

string

The gateway used to process this payment. Only a SINGLE payment gateway can modify transactions on a particular payment.

amount

MonetaryAmount

The amount for which the payment is allotted.

subtotal?

MonetaryAmount

The payment’s total usually excluding adjustments, tax, and fulfillment.

adjustmentsTotal?

MonetaryAmount

The payment’s adjustments (a.k.a discounts) total, usually excluding fulfillment discounts.

fulfillmentTotal?

MonetaryAmount

The payment’s total fulfillment cost.

taxTotal?

MonetaryAmount

The payment’s total tax cost

billingAddress?

Address

The billing address associated with this payment.

shouldSavePaymentToCustomer?

boolean

Should the payment method be saved to the customer. Defaults to false.

Deprecated: In favor of #shouldSavePaymentForFutureUse to support owning user types other than a customer (i.e. account).

shouldSavePaymentForFutureUse?

boolean

Should the payment method be saved to the owning user (i.e. customer or account).

paymentMethodProperties

Record<string, string>

Map to capture any gateway-specific information needed to perform gateway transactions

attributes?

Record<string, string>

Map to capture any additional information about the payment

displayAttributes?

Record<string, string>

General use map to capture any display properties for this Payment.

PaymentSummary

Property Type Description

paymentId

string

The id of this payment.

name

string

The name of this payment. This name is typically something like "Visa ending in 1234".

type

string

The type of this payment like Credit Card or Gift Card.

gatewayType

string

The gateway used to process this payment. Only a SINGLE payment gateway can modify transactions on a particular payment.

attributes?

Record<string, string>

General use map to capture any additional attributes needed for this Payment

displayAttributes?

Record<string, string>

General use map to capture any display properties for this Payment.

isSingleUsePaymentMethod?

boolean

Whether or not the underlying payment method can only be used once.

In most cases, we’re managing a single-use token that represents a credit card. This flag is especially important for managing payments with successful transactions. In those cases, the token has already been used and cannot be reused. If we need modify the payment’s amount, then we may actually need to archive the existing payment, and create a new payment, with a new underlying token.

Additionally, this flag is helpful when needing to re-authorize an expired authorization transaction. In that case, if the payment represents a single-use payment method, then the re-authorization may not be possible, and you’ll need to seek an alternative form of payment.

amount

MonetaryAmount

The amount for which this payment is allotted.

subtotal?

MonetaryAmount

The payment’s total usually excluding adjustments, tax, and fulfillment.

adjustmentsTotal?

MonetaryAmount

The payment’s adjustments (a.k.a discounts) total, usually excluding fulfillment discounts.

fulfillmentTotal?

MonetaryAmount

The payment’s total fulfillment cost

taxTotal?

MonetaryAmount

The payment’s total tax cost

amountAuthorized?

MonetaryAmount

The total authorized amount for capture. This value is calculated as "total authorized - total reverse-authed".

amountCaptured?

MonetaryAmount

The total captured amount. This value is calculated as "total captured - total refunded - total voided".

amountRefunded?

MonetaryAmount

The total refunded amount.

amountVoided?

MonetaryAmount

The total voided amount.

amountSettled?

MonetaryAmount

The total settled amount.

amountCredited?

MonetaryAmount

The total detached credit amount.

version

number

The version of this payment. Used for checking that the requested version of the payment is up-to-date before saving changes. Required for any request which results in an update being made to the payment. This should never be manually incremented/decremented.

isPartialReverseAuthSupported

boolean

Whether a portion of an authorization transaction can be reversed, or if the full authorization transaction must be reversed. Defaults to false

isClientSettlementEnabled

boolean

Whether the client is responsible for settling captured payments. If false, this implies that the gateway is responsible for managing payment settlement. Defaults to false.

PaymentSummaryPage

extends Page

Property Type Description

content

Array<PaymentSummary>

A list of payments.

PaymentTransaction

Property Type Description

id

string

The id of this payment transaction.

type

string

The type of this transaction (authorize, capture, refund, etc.)

status

string

The status of the transaction

transactionReferenceId

string

The transaction id known by the payment gateway.

requestId

string

The id used to represent the request that produced this transaction.

amount

MonetaryAmount

The amount related to this transaction.

dateRecorded?

string | null

The timestamp when this transaction response was recorded

gatewayResponseCode

string | null

The response code provided by the payment gateway which may represent a success or failure

failureType?

string | null

The type of transaction failure

declineType?

string | null

The type of transaction failure (hard vs soft failure)

rawResponse

string | null

The string representation of the serialized response from the gateway.

parentTransactionId?

string | null

The id of the parent PaymentTransaction.

attributes?

Record<string, string>

Map of specific attributes that have been gathered from the raw response.

customerIpAddress?

string | null

The customer IP address that instigated this transaction

indeterminateResult?

boolean

Tells if this transaction has an indeterminate result.

PaymentTransactionFailureDetail

Property Type Description

paymentId

string

The id of the payment.

transactionType

string

The type of transaction that was executed.

transactionId

string

The id of the executed transaction.

transactionReferenceId

string

The transaction id known by the payment gateway.

transactionManagementState

string

The management state of this transaction, after it’s been executed.

transactionStatus

string

The status of the transaction.

failureType

string

The type of transaction failure

declineType

string

The type of transaction failure (hard vs soft failure)

gatewayResponseCode

string

The response code provided by the payment gateway which may represent a success or failure.

message

string

Message describing the result of the transaction

threeDSecureVerificationUrl

string

The gateway-provided url where the customer must verify that they are in fact the owner of the payment method. The customer is typically redirected to this location, but the page can also be rendered within an iframe if this is supported by the gateway.

indeterminateResult

boolean

Whether or not this transaction has an indeterminate result.

transactionAmount

MonetaryAmount

The transaction amount that was executed against the payment summary.

requestId

string

The id representing the customer’s request to execute the transaction.

dateRecorded

string

The timestamp when this transaction response was recorded

attributes?

Record<string, string>

Map of specific attributes that have been gathered from the raw response.

Note: It’s very important that this does not include sensitive payment method data.

Phone

Property Type Description

countryCode?

string | null

The country calling code that acts as a prefix to the main telephone number.

phoneNumber

string

The telephone number, including the area code.

extension?

string | null

The internal extension for this phone.

PriceableCartClientCallOptions

extends CartClientCallOptions

Property Type Description

price?

boolean

Whether the cart should be priced or not. Default is true.

PriceableCheckoutClientCallOptions

extends CheckoutClientCallOptions

Property Type Description

price?

boolean

Whether the cart should be priced or not. Default is true.

PriceCartRequest

Property Type Description

locale?

string

The locale to price the cart against.

currency?

string

The currency to price the cart against.

RecalculateTaxesClientCallOptions

extends CheckoutClientCallOptions

Property Type Description

actual?

boolean

Whether to calculate actual taxes.

Deprecated: use the estimated flag. If false, it’s assumumed that we want actual calculations.

estimated?

boolean

Hint as to whether to estimate taxes. This can be used to assist in determining a tax provider that might be more efficient or less expensive when an estimate is all that is required. Default is false.

ResolveCartClientCallOptions

extends ClientCallOptions

Property Type Description

statuses?

Array<string>

The list of cart statuses used to resolve the authenticated customer’s cart.

ShareItemListRequest

Property Type Description

listId

string

The ID of the item list being shared. This will be populated from the request path.

valueType

string

Describes the expected format of the value property for each Target (e.g email address, customer ID, etc.).

role

string

The role that will be granted to each target.

targets

Array<Target>

Describes who this list is being shared with.

SortOrder

Property Type Description

property

string

The property to order for.

direction

string

The direction in which to sort. Can be ascending (ASC) or descending (DESC).

ignoreCase

boolean

Whether or not the sorting will be case sensitive.

nullHandling

string

string A hint to the data store (may not be respected) regarding how to sort null values. Possible values

NATIVE (let the data store decide what to do) NULLS_FIRST NULLS_LAST

SpecificItemChoiceVariantPricingOverride

Represents a pricing override to be used for a dependent item (like a warranty) if a specific variant of the parent product is added as the dependent’s parent. For instance, this could be a pricing override for a warranty where the price is increased if a more expensive variant is selected than the default or base variant.

Property Type Description

variantId

string

ID of the variant this pricing should be used with.

pricingKey

string

System-wide unique identifier to configure specific pricing for the choice. Relevant if pricing data is managed in a separate system or data store, like the Broadleaf pricing services.

overridePrice

MonetaryAmount

The price to use for this item when the related variant is selected.

StaleCartApiError

extends ApiError

An ApiError due to a stale cart during a cart modification request.

Property Type Description

newCart

Cart

Current state of the cart.

Target

Property Type Description

value

string

Identifies who the item list is to be shared with. The format of this value is dictated by the valueType of this Target’s related ShareItemListRequest. An example may be an email address or a customer ID.

attributes

{ [key: string]: unknown }

Additional attributes used to describe the target. This collection may include the target’s name or other information that may be useful when the user is notified that they have been granted access.

TransferCartToken

Property Type Description

token

string

The token string that is used to authorize that a request has access to transfer the given cart.

expirationTime

string

The expiration time of the transfer cart token in UTC. This is used to inform clients of when to expect the token to be expired.

author

string

The username of the author associated with the transfer cart token.

cartId

string

The ID of the cart the token is authorized to transfer.

UpdateFulfillmentGroupRequest

Property Type Description

type?

string

The type of means by which this fulfillment group is fulfilled. This could be SHIP, PICKUP, or VIRTUAL, for example.

fulfillmentOption?

FulfillmentOption

The fulfillment option chosen for the type.

pricedFulfillmentOption?

PricedFulfillmentOption

The fulfillment option chosen for the type.

address

Address

The shipping address for this fulfillment group.

attributes?

Record<string, string>

Map to capture any additional information about the fulfillment group.

UpdateItemRequest

Property Type Description

cartItemId

string

The id of the cart item to update.

variantId?

string

The id of the variant for this add item request. Used to retrieve variant information for the cart item.

quantity

number

The amount of this item to be added to the cart.

itemAttributes?

Record<string, string>

Miscellaneous attributes that should be copied to the cart item’s attributes for this request.

itemAttributeChoices?

Record<string, string>

Attribute choices that should be copied to cart item’s attribute choices for this request.

cartAttributes?

Record<string, string>

Attributes that should be copied to the cart’s attributes for this request.

dependentItemUpdates?

Array<UpdateItemRequest>

A list of additional UpdateItemRequests that should be processed as children items of the resulting parent item of this current request.

parentCartItemId?

string

The id of the parent cart item for this add item request. This would create a child cart item of the parent.

UpdatePaymentRequest

Property Type Description

paymentId

string

The ID of the payment to update. Will be pre-populated in Cart Operations from the request.

name?

string

The name of this payment. This name is typically something like "Visa ending in 1234".

customerPaymentAccountId?

string

The id of the customer’s saved payment account that was used to build this payment object.

Note: This property is only relevant if the user desires to use a saved payment account to pay for their order. Otherwise, this value should remain unset.

Deprecated: in favor of #savedPaymentMethodId for more accurate naming.

savedPaymentMethodId?

string

The id of the owning user’s saved payment method that was used to build this payment object.

Note: This property is only relevant if the user desires to use a saved payment method to pay for their order. Otherwise, this value should remain unset.

isSingleUsePaymentMethod?

boolean

Whether or not the underlying payment method can only be used once.

In most cases, we’re managing a single-use token that represents a credit card. This flag is especially important for managing payments with successful transactions. In those cases, the token has already been used and cannot be reused. If we need modify the payment’s amount, then we may actually need to archive the existing payment, and create a new payment, with a new underlying token.

Additionally, this flag is helpful when needing to re-authorize an expired authorization transaction. In that case, if the payment represents a single-use payment method, then the re-authorization may not be possible, and you’ll need to seek an alternative form of payment.

shouldSavePaymentToCustomer?

boolean

Should the payment method be saved to the customer. Defaults to false.

Deprecated: In favor of #shouldSavePaymentForFutureUse to support owning user types other than a customer (i.e. account).

shouldSavePaymentForFutureUse?

boolean

Should the payment method be saved to the owning user (i.e. customer or account).

type?

string

The type of this payment like Credit Card or Gift Card. Defaults to CREDIT_CARD.

gatewayType?

string

The gateway used to process this payment. Only a SINGLE payment gateway can modify transactions on a particular payment.

amount?

MonetaryAmount

The amount for which the payment is allotted.

subtotal?

MonetaryAmount

The payment’s total usually excluding adjustments, tax, and shipping.

adjustmentsTotal?

MonetaryAmount

The payment’s adjustments (a.k.a discounts) total, usually excluding shipping/fulfillment discounts.

fulfillmentTotal?

MonetaryAmount

The payment’s total fulfillment cost.

taxTotal?

MonetaryAmount

The payment’s total tax cost.

billingAddress?

Address

The billing address associated with this payment.

owningUserType?

DefaultPaymentOwningUserType | string

Describes the type of the owning user of the payment. For example, the payment could belong to a Broadleaf customer or an account, therefore this value might be BLC_CUSTOMER, or BLC_ACCOUNT.

paymentMethodProperties?

Record<string, string>

Map to capture any gateway-specific information needed to perform gateway transactions

attributes?

Record<string, string>

Map to capture any additional information about the payment.

displayAttributes?

Record<string, string>

General use map to capture any display properties for this Payment.