Cart
The cart every page has, with no attribute to put it there. Read it with data-next-query (cart.total), list its lines with data-next-each (cart.lines), and change it with actions. next.query('cart') and every cart.* event carry the same object.
CODE
<span data-next-query="cart.total"></span>
<p data-next-show="cart.total_discount > 0">You save <span data-next-query="cart.total_discount"></span></p>
<div data-next-each="cart.lines">
<template>
<span data-next-query="product_title"></span> × <span data-next-query="quantity"></span>
<span data-next-query="total"></span>
<button data-next-action="removeItem">Remove</button>
</template>
</div>Totals add up: total = subtotal − total_discount + shipping_method.price. A line's own: total = subtotal − total_discount, with price and original_price for one package.
Fields
| Field | Type | Present | |
|---|---|---|---|
lines | CartItem[] | always | Every line in the cart, the same package's lines merged. |
coupons | string[] | always | The codes the shopper applied, uppercase. A bundle card's own codes are not listed. |
currency | string | campaign | ISO 4217, such as USD. |
shipping_method | ShippingMethod | optional | The selected shipping method, and what shipping costs. |
subtotal | number | priced | The products before discounts, without shipping. |
total_discount | number | priced | The discounts on the products, without shipping's: the sum of discounts. |
total | number | priced | What the shopper pays. |
discounts | Discount[] | priced | The discounts on the products, one per offer. |
discount_percentage | number | priced | total_discount ÷ subtotal × 100, to two decimals; 0 without a discount. |
quantity | number | always | Units in the cart: each line's quantity. |
CartItem
A line of the cart. Its prices are there once the server priced the cart.
| Field | Type | Present | |
|---|---|---|---|
package_id | number | always | The package's ref_id in the campaign. |
quantity | number | always | Package quantity. |
is_upsell | boolean | optional | true for a line added after the order. |
properties | Record<string, string> | optional | Line properties, such as a variant picked in a bundle slot. |
product_id | number | campaign | The product in the store. |
product_title | string | campaign | The product's name as customers see it, as on an order line; the package's name for a package without one. |
variant_id | number | campaign | The product variant, for a product with variants. |
variant_title | string | campaign | The variant's name, such as Black / M, for a product with variants. |
sku | string | campaign | The product's Stock Keeping Unit. |
image | string | campaign | The package's image URL. |
price | number | priced | What one package costs after discounts. |
original_price | number | priced | What one package costs before discounts; equal to price when nothing is taken off. |
total_discount | number | priced | The discount on the line. |
total | number | priced | price × quantity. |
subtotal | number | priced | The line before discounts: total = subtotal − total_discount. |
discount_percentage | number | priced | total_discount ÷ subtotal × 100, to two decimals; 0 without a discount. |
discounts | Discount[] | priced | The discounts on the line. |
subscription | Subscription | campaign | For a package billed again every interval. |
ShippingMethod
The selected shipping method, and what shipping costs.
| Field | Type | Present | |
|---|---|---|---|
id | number | always | The method's ref_id. |
code | string | campaign | Such as standard. |
name | string | priced | The method's name. |
price | number | priced | What shipping costs after discounts; 0 is free shipping. |
original_price | number | priced | What shipping costs before discounts. |
discounts | Discount[] | priced | The discounts on shipping, such as a free-shipping offer. |
Discount
A discount on the cart's products or on its shipping. Amounts are in the cart's currency.
| Field | Type | Present | |
|---|---|---|---|
name | string | always | The offer's name. |
amount | number | always | The amount taken off. |
source | "offer" | "coupon" | always | coupon for a code the shopper entered (it is in coupons); offer for an automatic offer or a bundle card's own code. |
code | string | optional | The code, for a coupon. |
offer_id | number | always | The offer that gave it. |
percentage | number | optional | The percentage the offer is set to take off, as the API reports it, such as 20. Its configured value, for a label such as “20% off”; the amount actually taken off is amount. |
Subscription
A package billed again every interval.
| Field | Type | Present | |
|---|---|---|---|
interval | "day" | "month" | always | The unit of the renewal interval. |
interval_count | number | always | How many intervals between renewals. |
price | number | priced | What each renewal charges, after discounts. |
original_price | number | priced | What each renewal charges before discounts. |