Cart / Order Line Items
Last updated
Was this helpful?
Last updated
Was this helpful?
You can enable a mini cart view in the following requests to show changes to the cart immediately. Find out more in the Views for Cart modifying operations
access_token
from Headless API Authentication
cartId
from
catalogId
from Catalogs
priceGroupId
from Price Groups (string)
cultureCode
, e.g. en-US
(string)
sku
(string)
quantity
(integer)
addToExistingOrderline
(default: true
).
If false
, a new order line will be added even if the SKU is already in the Cart. (boolean)
variantSku
used alongside sku
to identify a product variant. (string)
customProperties
a list of key
(string) and value
(string) pairs
price
custom unit price for the line item (decimal)
curl -D- -X POST <base_url>/api/v1/carts/<cartId>/lines \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
-H 'Content-Type: application/json' \
-d '{
"quantity": <quantity>,
"sku": <sku>,
"variantSku": <variantSku>,
"priceGroupId": <priceGroupId>,
"catalogId": <productCatalogId>,
"cultureCode": <cultureCode>,
"price" : <price>
"customProperties": [
{
"key" : <propKey>,
"value": <propValue>
}
]
}'
By default, Ucommerce calculates the price of the order line based on the product's price. To use a custom price instead, this can be specified in the price
parameter.
Note: Due to risks associated with explicitly setting a product price, we recommend not to use custom price operations in publicly available applications and/or endpoints. Additionally, if the client can access price setters, you are potentially open to price interception. We recommend not to use the transactions:custom:price
scope outside of internal applications.
A Line Item can be removed by either ID or SKU (and Variant SKU in case of a variant).
priceGroupId
from the Cart or from Price Groups
cultureCode
, e.g. en-US
(string)
sku
(string) or lineId
(string)
variantSku
, if the product being removed is a variant (string)
curl -D- -X DELETE <base_url>/api/v1/carts/<cartId>/lines/<lineId> \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
-H 'Content-Type: application/json' \
-d '{
"PriceGroupId": <priceGroupId>,
"CultureCode": <cultureCode>
}'
The following properties can be updated on a Line Item during checkout:
Quantity
Price
TaxRate
lineId
(string)
priceGroupId
Price Groups
cultureCode
, e.g. en-US
(string)
quantity
(integer)
price
(decimal)
taxRate
(decimal)
curl -D- -X PATCH <base_url>/api/v1/carts/<cartId>/lines/<lineId>?PriceGroupId=<id>&CultureCode=<culture> \
-H 'Authorization: Bearer <ACCESS_TOKEN>'
-H 'Content-Type: application/json' \
-d '{
"Quantity": <quantity>,
"Price": <price>,
"TaxRate": <taxRate>
}'
BadRequest (400)
The product does not exist; Price Group does not exist; Order Line does not exist; Mismatch between Cart and Price Group's currency; pipeline execution fails.
Unauthorized (401)
The token is expired.
Forbidden (403)
The token does not have access to this endpoint.
NotFound (404)
Cart does not exist.
Error Response Example
{
"errors":
[
{
"error-description": "Cart does not exist..",
"error": "NotFound"
}
]
}