Check Status of the Cart

Return a summary of the cart status including pricing, account, multi-site, and additional action information.

  • Pricing information, such as total one-time charges and total recurring charges

  • Account information associated with the cart

  • If the cart includes a multi-site order and available sites

  • Links to further actions, such as checkout

This API supports the guest user enhancements that Salesforce introduced with the Winter ‘21 release. To encrypt and decrypt data for guest users, use the UserSecurity class with this API. See Guest User Technical Details.

For additional information, ​see UserSecurity Class and CPQ and Digital Commerce Changes for Guest Users.

For API parameter names and descriptions, see Cart-Based API Swagger Reference.

Response FormatJSON
Resource URL/services/apexrest/{namespace}/v2/cpq/carts/{cart_ID}/items/checkout

The checkOrderStatus parameter indicates whether a set of status fields should be checked prior to allowing an order to be checked out. If checkOrderStatus is set to true (the default):

  • Any order that is active cannot be submitted.

  • If any of the following is true, the order is determined to be active:

    • Status has a value of Activated

    • OrderStatus_c has any of the following values:

      • In Progress

      • Cancelled

      • Cancel Requested

      • Complete

    • SupersededOrderId_c is not null

If checkOrderStatus is set to false, the order can be processed even if the order is active.

The validateSubmittedXLI parameter controls the pre-submit validation for the checkout API. If true, it will validate whether the user has submitted complete bundles and if all the line items have the field FulfilmentStatus__c value set to Activated. If either or both of those conditions are not met, the transaction will fail.

The following example shows a response to a successful submit.

The following example shows a response to a failed submit if validate is true and some or all the line items are not activated.

The following example shows a response to a failed submit if validate is true, some bundles are incomplete, and some or all line items are not activated.

SUBMIT-1001Order submission is accepted by OM.
SUBMIT-1002Order submission is provisionally accepted.
SUBMIT-1003Order submission was rejected for PONR.
SUBMIT-1004Order submission was rejected because queue is full.
SUBMIT-1005Order submission is done without a required parameter. This will be used only during integration.
SUBMIT-1006Order Management responded with an unknown response code.
SUBMIT-1007Order Management responded with "rejected" and without a reason code.
SUBMIT-1008Auto-assetization is successful, which happens if OdinAPIAutoAssetizeHandler is configured for OdinAPIHandler.
SUBMIT-1009Order submission ran into an exception that may not be reproducible.