---
schema_version: "1"
id: be0a208d63e8fff63c3d8b4bd65304a81d9c8b2ef0b0d63fb6edd8e876371778
title: ConnectApi.AbstractCartItem
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/apexref/apex_connectapi_output_abstract_cart_item.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_abstract_cart_item.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: 3d994e1207f16afef201712c4947cf429ba7c3654539cb14c2b1e3b9c231cbf8
description: A cart item.
---
# ConnectApi.AbstractCartItem

A cart item.

This class is abstract.

Superclass of:

- [ConnectApi.CartItem](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_cart_item.htm "An item in a cart.")
- [ConnectApi.CartItemWithoutPrice](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_cart_item_no_price.htm "An item without price information in a cart.")

<table class="featureTable sort_table" summary="">




          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader vertical-align-top " id="d769089e63">Property Name</th>

              <th class="featureTableHeader vertical-align-top " id="d769089e66">Type</th>

              <th class="featureTableHeader vertical-align-top " id="d769089e69">Description</th>

              <th class="featureTableHeader vertical-align-top " id="d769089e72">Available Version</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">billingFrequency</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#BillingFrequencyEnum"><samp class="codeph nolang">ConnectApi.​BillingFrequency</samp></a></td>

              <td class="entry" headers="d769089e69" data-title="Description">Reserved for future use.</td>

              <td class="entry" headers="d769089e72" data-title="Available Version">59.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">cartDeliveryGroupId</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">String</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="cartDeliveryGroupId"><a name="cartDeliveryGroupId"><!-- --></a>ID of the cart delivery group.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">60.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">cartId</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">String</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="cartId"><a name="cartId"><!-- --></a>ID of the cart.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">49.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">cartItemId</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">String</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="cartItemId"><a name="cartItemId"><!-- --></a>ID of the item.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">49.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph nolang">childProduct​Count</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">Integer</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="childProductCount"><a name="childProductCount"><!-- --></a>Number of child products in the cart that are
                  associated with the item. A cart item can have child products if the <samp class="codeph apex_code">productClass</samp> of the item is <samp class="codeph apex_code">Bundle</samp>. For nested bundles, which include a
                  child product that's also a bundle, <samp class="codeph apex_code">childProductCount</samp> includes all child products.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">62.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">customFields</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">
                <a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_list.htm#apex_methods_system_list" title="Contains methods for the List collection type.">List</a>&lt;<a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_methods_system_sobject.htm#apex_methods_system_sobject" title="Contains methods for the sObject data type."><samp class="codeph apex_code">SObject</samp></a>&gt;
              </td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="customFields"><a name="customFields"><!-- --></a>Array of sObjects and viewable custom fields for the
                  sObjects. Standard fields are ignored. Currently, only the CartItem sObject is
                  supported. Field-level security rules from the <a class="xref" href="https://help.salesforce.com/s/articleView?id=commerce.comm_create_shopper_profile.htm&amp;type=5&amp;language=en_US" target="_blank">shopper profile</a> are applied to the custom
                  fields. The rules are applied for registered shoppers and for the guest shopper
                  profile.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">61.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">isShipping​ChargeNot​Applicable</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">Boolean</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="isShippingChargeNotApplicable"><a name="isShippingChargeNotApplicable"><!-- --></a>Specifies whether the shipping charge
                  for the cart item is waived (<samp class="codeph nolang">true</samp>) or not
                  (<samp class="codeph nolang">false</samp>). If the value is <samp class="codeph nolang">true</samp>, the cart item is classified as a digital
                  product.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">64.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">messagesSummary</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_cart_messages_summary.htm" title="Cart messages summary."><samp class="codeph apex_code">ConnectApi.​CartMessagesSummary</samp></a></td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="messagesSummary"><a name="messagesSummary"><!-- --></a>Messages summary for the item.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">49.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">name</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">String</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="name"><a name="name"><!-- --></a>Name of the item.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">49.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">parentCart​ItemId</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">String</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="parentCartItemId"><a name="parentCartItemId"><!-- --></a>ID of the item’s parent cart item. The value is empty
                  if the item is a top-level cart item.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">62.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">productDetails</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_cart_product_summary.htm" title="Product summary for a cart item."><samp class="codeph apex_code">ConnectApi.​CartItemProduct</samp></a></td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="productDetails"><a name="productDetails"><!-- --></a>Summary of the product details.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">49.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">productId</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">String</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="productId"><a name="productId"><!-- --></a>ID of the product.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">49.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">productSelling​ModelId</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">String</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="productSellingModelId"><a name="productSellingModelId"><!-- --></a>Reserved for future
                  use.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">59.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">promotion​DisplayName</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">String</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="promotionDisplayName"><a name="promotionDisplayName"><!-- --></a>Promotion display name for a bonus
                  product.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">64.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">quantity</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">String</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="quantity"><a name="quantity"><!-- --></a>Quantity of the item.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">49.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">sellingModelType</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#SellingModelTypeEnum"><samp class="codeph apex_code">ConnectApi.​SellingModelType</samp></a></td>

              <td class="entry" headers="d769089e69" data-title="Description">Reserved for future use.</td>

              <td class="entry" headers="d769089e72" data-title="Available Version">60.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">subType</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#cartItemSubTypeEnum"><samp class="codeph apex_code">ConnectApi.​CartItemSubType</samp></a></td>

              <td class="entry" headers="d769089e69" data-title="Description">Subtype of item in a cart.
                Values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph apex_code">Bonus</samp>—A bonus product.
                  </li>
                  <li class="li">
                    <samp class="codeph apex_code">Gift</samp>—A gift product.
                  </li>
                </ul>
              </td>

              <td class="entry" headers="d769089e72" data-title="Available Version">64.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">subscriptionTerm</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type">Integer</td>

              <td class="entry" headers="d769089e69" data-title="Description"><span class="ph" id="subscriptionTerm"><a name="subscriptionTerm"><!-- --></a>Reserved for future
                  use.</span></td>

              <td class="entry" headers="d769089e72" data-title="Available Version">59.0</td>

            </tr>

            <tr>
              <td class="entry" headers="d769089e63" data-title="Property Name"><samp class="codeph apex_code">type</samp></td>

              <td class="entry" headers="d769089e66" data-title="Type"><a class="xref" href="https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/connectAPI_enums.htm#cartItemTypeEnum"><samp class="codeph apex_code">ConnectApi.​CartItemType</samp></a></td>

              <td class="entry" headers="d769089e69" data-title="Description">Type of item in a cart. Values
                are:<ul class="ul bulletList">
                  <li class="li"><samp class="codeph apex_code">DeliveryCharge</samp></li>
                  <li class="li"><samp class="codeph apex_code">Product</samp></li>
                </ul>
              </td>

              <td class="entry" headers="d769089e72" data-title="Available Version">49.0</td>

            </tr>

          </tbody>

        </table>

#### See Also

- [ConnectApi.CartItemResult](https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_connectapi_output_cart_item_result.htm "Result after requesting a cart item.")