Skip to main content

Add Item to Cart

Adds a new product to the cart or increases quantity if the product already exists.

HTTP Request

POST/api/shop/cart/items

Authorization

Authorization

  • Required: Yes
  • Permission: Authenticated User
  • Authentication: Token-based (Authorization: Token <your_api_key>)

Request Body

FieldTypeRequiredDescription
productIntegerYesProduct ID to add to cart
quantityIntegerNoQuantity to add (default: 1, minimum: 1)
notesStringNoCustomer notes for this item (max 500 chars)

Example Requests

1import requests
2
3# Add product to cart
4response = requests.post('http://www.example.com/api/shop/cart/items', 
5  json={
6      'product': 123,
7      'quantity': 2,
8      'notes': 'Please pack carefully'
9  },
10  headers={'Authorization': 'Token <your_api_key>'}
11)
12print(response.json())
13
14# Add single item
15response = requests.post('http://www.example.com/api/shop/cart/items', 
16  json={
17      'product': 456
18  },
19  headers={'Authorization': 'Token <your_api_key>'}
20)
21print(response.json())

Status Codes

CodeDescription
200Item added to cart successfully
400Bad request — invalid product, insufficient stock, or validation error
401Unauthorized — authentication required
500Internal server error

Response Fields

FieldTypeDescription
idIntegerUnique ID of the product
addressIntegerSelected delivery address ID
shipping_methodIntegerSelected shipping method ID
payment_methodIntegerSelected payment method ID
created_atString (ISO 8601)Timestamp when cart was created
updated_atString (ISO 8601)Timestamp when cart was last updated
countIntegerNumber of unique items in cart
quantityIntegerTotal quantity of all items
is_emptyBooleanWhether the cart is empty
items_subtotalIntegerSubtotal of all items before discounts
items_discountIntegerTotal discount amount on items
subtotalIntegerCart subtotal after item discounts
discountIntegerAdditional cart-level discount
totalIntegerFinal cart total
itemsArrayArray of cart items (see Cart Item fields)

Cart Item Fields

FieldTypeDescription
idIntegerUnique ID of the cart item
refStringItem reference (read-only)
productObjectProduct information with `id`, `name`, `image`
quantityIntegerItem quantity
notesStringCustomer notes for this item
created_atString (ISO 8601)Timestamp when item was added
updated_atString (ISO 8601)Timestamp when item was last updated
unit_priceIntegerPrice per unit (read-only)
unit_discountIntegerDiscount per unit (read-only)
subtotalIntegerItem subtotal before discount (read-only)
discountIntegerTotal item discount (read-only)
totalIntegerFinal item total (read-only)