customerCartBill
Requires a customer (portal or buyer app) session.
Server-side re-priced bill for the current cart (step 4). Every line is re-resolved fresh — never the stored cart price — and throws NO_PRICE_IN_CURRENCY if any line cannot be priced in the org currency.
Errors: a failed call returns a GraphQL errors entry, not a field on the result, and data may be null or partial. Read the entry's extensions.code and message; every shape and code is in the Error reference.
Example:
- GraphQL
- cURL
query CustomerCartBill {
customerCartBill {
asOf
deliveryFee
deliveryFeeWaived
deliveryOptionId
deliveryQuoteRequired
deliverySelectionRequired
lines {
baseUnitPrice
cartItemId
discountAmount
discountPercent
lineTotal
quantity
}
}
}
curl -X POST "https://<api-host>/graphql" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
--data @- <<'EOF'
{
"query": "query CustomerCartBill {\n customerCartBill {\n asOf\n deliveryFee\n deliveryFeeWaived\n deliveryOptionId\n deliveryQuoteRequired\n deliverySelectionRequired\n lines {\n baseUnitPrice\n cartItemId\n discountAmount\n discountPercent\n lineTotal\n quantity\n }\n }\n}"
}
EOF
Response:
{
"data": {
"customerCartBill": {
"asOf": "2025-01-15T00:00:00Z",
"deliveryFee": 0,
"deliveryFeeWaived": true,
"deliveryOptionId": "id",
"deliveryQuoteRequired": true,
"deliverySelectionRequired": true,
"lines": [
{
"baseUnitPrice": 0,
"cartItemId": "id",
"discountAmount": 0,
"discountPercent": 0,
"lineTotal": 0,
"quantity": 0
}
]
}
}
}
customerCartBill(
deliveryOptionId: ID
): CartBill!
Arguments
customerCartBill.deliveryOptionId ● ID scalar
the chosen live delivery option (customerDeliveryOptions). Without it a live-quote store returns deliveryFee null and deliverySelectionRequired true.
Type
CartBill object
Server-side re-priced bill for the current cart. Every line is re-resolved through LinePricingService at read time — a line with no price in the requested currency throws NO_PRICE_IN_CURRENCY rather than falling back to the stored price (step 4).