Update Items already in cart (cart decoupled) - Fabric
Update Items already in cart (cart decoupled)
cURL
curl --request PATCH \
--url https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart-decoupled/{cartId}/items \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '\n{\n "items": [\
{\
"lineItemId": "1",\
"itemId": "15",\
"quantity": "1",\
"group": [\
"123123123123123123123123"\
],\
"price": {\
"currency": "USD",\
"sale": 0,\
"base": 19,\
"discount": {\
"price": 0\
}\
}\
}\
]\
}'
Python
import requests
url = "https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart-decoupled/{cartId}/items"
payload = { "items": [\
{\
"lineItemId": "1",\
"itemId": "15",\
"quantity": "1",\
"group": ["123123123123123123123123"],\
"price": {\
"currency": "USD",\
"sale": 0,\
"base": 19,\
"discount": { "price": 0 }\
}\
}\
] }
headers = {\
"x-site-context": "<x-site-context>",\
"Content-Type": "application/json"\
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)
JavaScript (Fetch API)
const options = {\
method: 'PATCH',\
headers: {'x-site-context': '<x-site-context>', 'Content-Type': 'application/json'},\
body: JSON.stringify({\
items: [\
{\
lineItemId: '1',\
itemId: '15',\
quantity: '1',\
group: ['123123123123123123123123'],\
price: {currency: 'USD', sale: 0, base: 19, discount: {price: 0}}\
}\
]\
})\
};
fetch('https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart-decoupled/{cartId}/items', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, [\
CURLOPT_URL => "https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart-decoupled/{cartId}/items",\
CURLOPT_RETURNTRANSFER => true,\
CURLOPT_ENCODING => "",\
CURLOPT_MAXREDIRS => 10,\
CURLOPT_TIMEOUT => 30,\
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,\
CURLOPT_CUSTOMREQUEST => "PATCH",\
CURLOPT_POSTFIELDS => json_encode([\
'items' => [\
[\
'lineItemId' => '1',\
'itemId' => '15',\
'quantity' => '1',\
'group' => [\
'123123123123123123123123'\
],\
'price' => [\
'currency' => 'USD',\
'sale' => 0,\
'base' => 19,\
'discount' => [\
'price' => 0\
]\
]\
]\
]\
]),\
CURLOPT_HTTPHEADER => [\
"Content-Type: application/json",\
"x-site-context: <x-site-context>"\
],\
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
?>
Go
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod01-apigw.yourcompany.fabric.zone/api-cart/cart-decoupled/{cartId}/items"
payload := strings.NewReader("{\n \"items\": [\n {\n \"lineItemId\": \"1\",\n \"itemId\": \"15\",\n \"quantity\": \"1\",\n \"group\": [\n \"123123123123123123123123\"\n ],\n \"price\": {\n \"currency\": \"USD\",\n \"sale\": 0,\n \"base\": 19,\n \"discount\": {\n \"price\": 0\n }\n }\n }\n ]}\")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
Response
200
{
"registeredUser": false,
"account": "<string>",
"approver": "<string>",
"po": "<string>",
"cartId": 111166,
"status": "pending",
"allPromosApplied": [<array>],
"attributes": [<array>],
"__v": 0,
"totalAmount": {
"currency": "USD",
"amount": 38
},
"quantity": 2,
"_id": "5fee9d59f2f08a1b3cbdea08",
"createdAt": "2020-12-31T02:09:53.914Z",
"updatedAt": "2020-12-31T02:09:53.914Z",
"deleted": false,
"items": [\
{\
"price": {\
"discount": {\
"discountAmount": 0,\
"price": 0,\
"promosApplied": [<array>]
},\
"sale": 0,\
"base": 19,\
"currency": "USD"
},\
"sample": false,\
"isUnique": false,\
"discountedQuantity": 0,\
"group": [\
"123123123123123123123123"
],\
"weightUnit": "lb",
"isPickup": false,
"itemId": 15,
"sku": "sk231212",
"taxCode": "TC1234567890",
"title": "fabric t-shirt",
"weight": 4.2,
"quantity": 2,
"lineItemId": 1,
"attributeTotalPrice": 0,
"totalPrice": {
"currency": "USD",
"amount": 38
},
"attributes": [<array>],
"id": "6141a40c13f13a000876272a",
"_id": "5fee9d59f2f08a1b3cbdea08",
"createdAt": "2020-12-31T02:09:53.914Z",
"updatedAt": "2020-12-31T02:09:53.914Z"
}
]
}
Errors
{
"code": "CART_NOT_FOUND",
"message": "Cart not found."
}