Add or update cart attributes - Fabric
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Add or update cart attributes
cURL
curl --request PATCH \
--url https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data @- <<EOF
{
"account": "61b8e921d0cf2e000882b09f",
"approver": "620d8896058edb0009385311",
"purchaseOrder": "112-2624363-4906652",
"pricedAttributes": [\
{\
"attributeId": "60c2a368eb2ec30008ae70a2",\
"attributeValue": "true"\
}\
],
"name": "cart-sales",
"description": "cart for sales team",
"company": "fabric Inc",
"sharedUserIds": [\
"[\"*\"] or [userId1,userId2]"\
],
"extra": {
"productFamily": "Laptop computers"
},
"fees": [\
{\
"feeId": "73bc09d0-874a-4c3d-84d0-df1670d03578",\
"name": "gift",\
"type": "gift_wrap",\
"amount": 10.5,\
"attributes": "{'from': 'sam', 'to': 'david' }"\
}\
]
}
EOF
import requests
url = "https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes"
payload = {
"account": "61b8e921d0cf2e000882b09f",
"approver": "620d8896058edb0009385311",
"purchaseOrder": "112-2624363-4906652",
"pricedAttributes": [\
{\
"attributeId": "60c2a368eb2ec30008ae70a2",\
"attributeValue": "true"\
}\
],
"name": "cart-sales",
"description": "cart for sales team",
"company": "fabric Inc",
"sharedUserIds": ["[\"*\"] or [userId1,userId2]"],
"extra": { "productFamily": "Laptop computers" },
"fees": [\
{\
"feeId": "73bc09d0-874a-4c3d-84d0-df1670d03578",\
"name": "gift",\
"type": "gift_wrap",\
"amount": 10.5,\
"attributes": "{'from': 'sam', 'to': 'david' }"\
}\
]
}
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)
const options = {
method: 'PATCH',
headers: {
'x-site-context': '<x-site-context>',
Authorization: '<authorization>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
account: '61b8e921d0cf2e000882b09f',
approver: '620d8896058edb0009385311',
purchaseOrder: '112-2624363-4906652',
pricedAttributes: [{attributeId: '60c2a368eb2ec30008ae70a2', attributeValue: 'true'}],
name: 'cart-sales',
description: 'cart for sales team',
company: 'fabric Inc',
sharedUserIds: ['["*"] or [userId1,userId2]'],
extra: {productFamily: 'Laptop computers'},
fees: [\
{\
feeId: '73bc09d0-874a-4c3d-84d0-df1670d03578',\
name: 'gift',\
type: 'gift_wrap',\
amount: 10.5,\
attributes: '{\'from\': \'sam\', \'to\': \'david\' }'\
}\
]
})
};
fetch('https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php
$curl = curl_init();
curl_setopt_array($curl, [\
CURLOPT_URL => "https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes",\
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([\
'account' => '61b8e921d0cf2e000882b09f',\
'approver' => '620d8896058edb0009385311',\
'purchaseOrder' => '112-2624363-4906652',\
'pricedAttributes' => [\
[\
'attributeId' => '60c2a368eb2ec30008ae70a2',\
'attributeValue' => 'true'\
]\
],\
'name' => 'cart-sales',\
'description' => 'cart for sales team',\
'company' => 'fabric Inc',\
'sharedUserIds' => [\
'["*"] or [userId1,userId2]'\
],\
'extra' => [\
'productFamily' => 'Laptop computers'\
],\
'fees' => [\
[\
'feeId' => '73bc09d0-874a-4c3d-84d0-df1670d03578',\
'name' => 'gift',\
'type' => 'gift_wrap',\
'amount' => 10.5,\
'attributes' => '{\'from\': \'sam\', \'to\': \'david\' }'\
]\
]\
]),\
CURLOPT_HTTPHEADER => [\
"Authorization: <authorization>",\
"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;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes"
payload := strings.NewReader("{\n \"account\": \"61b8e921d0cf2e000882b09f\",\n \"approver\": \"620d8896058edb0009385311\",\n \"purchaseOrder\": \"112-2624363-4906652\",\n \"pricedAttributes\": [\n {\n \"attributeId\": \"60c2a368eb2ec30008ae70a2\",\n \"attributeValue\": \"true\"\n }\n ],\n \"name\": \"cart-sales\",\n \"description\": \"cart for sales team\",\n \"company\": \"fabric Inc\",\n \"sharedUserIds\": [\n \"[\\\"*\\\"] or [userId1,userId2]\"\n ],\n \"extra\": {\n \"productFamily\": \"Laptop computers\"\n },\n \"fees\": [\n {\n \"feeId\": \"73bc09d0-874a-4c3d-84d0-df1670d03578\",\n \"name\": \"gift\",\n \"type\": \"gift_wrap\",\n \"amount\": 10.5,\n \"attributes\": \"{'from': 'sam', 'to': 'david' }\"\n }\n ]\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("Authorization", "<authorization>")
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))
}
HttpResponse<String> response = Unirest.patch("https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"account\": \"61b8e921d0cf2e000882b09f\",\n \"approver\": \"620d8896058edb0009385311\",\n \"purchaseOrder\": \"112-2624363-4906652\",\n \"pricedAttributes\": [\n {\n \"attributeId\": \"60c2a368eb2ec30008ae70a2\",\n \"attributeValue\": \"true\"\n }\n ],\n \"name\": \"cart-sales\",\n \"description\": \"cart for sales team\",\n \"company\": \"fabric Inc\",\n \"sharedUserIds\": [\n \"[\\\"*\\\"] or [userId1,userId2]\"\n ],\n \"extra\": {\n \"productFamily\": \"Laptop computers\"\n },\n \"fees\": [\n {\n \"feeId\": \"73bc09d0-874a-4c3d-84d0-df1670d03578\",\n \"name\": \"gift\",\n \"type\": \"gift_wrap\",\n \"amount\": 10.5,\n \"attributes\": \"{'from': 'sam', 'to': 'david' }\"\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'
url = URI("https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["x-site-context"] = '<x-site-context>'
request["Authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"account\": \"61b8e921d0cf2e000882b09f\",\n \"approver\": \"620d8896058edb0009385311\",\n \"purchaseOrder\": \"112-2624363-4906652\",\n \"pricedAttributes\": [\n {\n \"attributeId\": \"60c2a368eb2ec30008ae70a2\",\n \"attributeValue\": \"true\"\n }\n ],\n \"name\": \"cart-sales\",\n \"description\": \"cart for sales team\",\n \"company\": \"fabric Inc\",\n \"sharedUserIds\": [\n \"[\\\"*\\\"] or [userId1,userId2]\"\n ],\n \"extra\": {\n \"productFamily\": \"Laptop computers\"\n },\n \"fees\": [\n {\n \"feeId\": \"73bc09d0-874a-4c3d-84d0-df1670d03578\",\n \"name\": \"gift\",\n \"type\": \"gift_wrap\",\n \"amount\": 10.5,\n \"attributes\": \"{'from': 'sam', 'to': 'david' }\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body
200
400
404
500
{
"items": [\
{\
"sku": "16B2GS8LD5FDS",\
"items": [\
{\
"sku": "13B9CL6WT2SLW",\
"quantity": 15,\
"items": [\
"<unknown>"\
],\
"cartItemId": "12gved0f-7645-40cb-y7b0-167f8bggdb3z",\
"itemId": "1730902008",\
"title": "Light Cover",\
"attributes": [\
{\
"attributeId": "60c2a358eb2ec30008ae70a1",\
"name": "gift wrapping (small)",\
"type": "GIFT",\
"price": 10,\
"description": "Gift wrapping for a small package",\
"mapping": "ITEM",\
"value": "true",\
"level": "order",\
"items": [\
"1000000001"\
]\
}\
],\
"createdAt": "2022-02-18T15:12:40.974580",\
"updatedAt": "2022-02-18T15:12:40.974580",\
"type": "WEB_SHIP",\
"subType": "Border-free",\
"priceListId": "108674",\
"lineItemId": 1,\
"isActive": true,\
"unitPrice": {\
"currency": "USD",\
"amount": 100,\
"discount": {\
"price": 80,\
"promosApplied": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"value": "20",\
"unit": "%OFF"\
}\
],\
"discounts": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"promoTitle": "New Year discount",\
"quantity": 1,\
"amount": 20,\
"value": 20,\
"groupId": "new-items",\
"promotionType": "PROMOTION",\
"priority": 1,\
"stackable": false,\
"sku": "16B2GS8LD5FDS",\
"itemId": "1000000001",\
"itemKey": "Key1234",\
"message": "New Year Promotion",\
"unit": "%OFF",\
"proratedQuantity": 1,\
"proratedAmount": 3.33\
}\
],\
"discountAmount": 20\
},\
"sale": 80\
},\
"totalPrice": {\
"currency": "USD",\
"amount": 100,\
"discount": {\
"price": 80,\
"promosApplied": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"value": "20",\
"unit": "%OFF"\
}\
],\
"discounts": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"promoTitle": "New Year discount",\
"quantity": 1,\
"amount": 20,\
"value": 20,\
"groupId": "new-items",\
"promotionType": "PROMOTION",\
"priority": 1,\
"stackable": false,\
"sku": "16B2GS8LD5FDS",\
"itemId": "1000000001",\
"itemKey": "Key1234",\
"message": "New Year Promotion",\
"unit": "%OFF",\
"proratedQuantity": 1,\
"proratedAmount": 3.33\
}\
],\
"discountAmount": 20\
},\
"sale": 80\
},\
"attributeTotalPrice": 10,\
"group": [\
"61d38e117162b7dba69c3d6d"\
],\
"extra": {\
"productFamily": "Laptop computers"\
},\
"channel": 12,\
"isPickup": true,\
"warehouseId": "XYZ-1234",\
"shipToId": "fef78121-bee3-4448-bf1c-d5b5461dbda2",\
"shipTo": {\
"shipToId": "fef78121-bee3-4448-bf1c-d5b5461dbda2",\
"cartId": "d7e78a21-bee3-4448-bf1c-d5b5461dbda2",\
"createdAt": "2022-02-18T15:12:40.974580",\
"updatedAt": "2022-02-18T15:12:40.974580",\
"shipMethod": {\
"cost": {\
"amount": 10,\
"currency": "USD",\
"discount": 5\
},\
"shipMethodId": "1234",\
"shipmentCarrier": "FedEx",\
"shipmentMethod": "Next Day"\
},\
"address": {\
"attention": "Billing manager",\
"street1": "100 NE 100th St.",\
"street2": "Suite 710",\
"street3": "Seventh floor",\
"street4": "Attention: Pat E. Kake",\
"city": "Seattle",\
"state": "Washington",\
"country": "USA",\
"zipCode": "98125",\
"email": "test@mail.com",\
"kind": "shipping",\
"name": {\
"first": "Pat",\
"middle": "E",\
"last": "Kake"\
},\
"phone": {\
"number": "123-456-7899",\
"kind": "MOBILE"\
}\
},\
"shipToType": "SHIP_TO_ADDRESS",\
"taxCode": "FR1000",\
"isPickup": true,\
"altPickupPerson": {\
"name": {\
"first": "Pat",\
"middle": "E",\
"last": "Kake"\
},\
"phone": {\
"number": "123-456-7899",\
"kind": "MOBILE"\
},\
"email": "test@mail.com"\
},\
"pickupPerson": {\
"name": {\
"first": "Pat",\
"middle": "E",\
"last": "Kake"\
},\
"phone": {\
"number": "123-456-7899",\
"kind": "MOBILE"\
},\
"email": "test@mail.com"\
},\
"warehouseId": "XYZ-1234",\
"storeId": "ABC-123"\
},\
"fulfillment": {\
"type": "WEB_SHIP",\
"networkCode": "ShipToCNC",\
"channelId": "12",\
"inventoryType": "availablePreorder",\
"inventory": {\
"virtualCounters": {\
"availableToPurchase": 10\
},\
"id": "62272e917b12209e68751d94",\
"sku": "SKU00025",\
"itemId": 4225678911,\
"locationNum": 473746,\
"channelId": 12,\
"vendorId": "vendor123",\
"leadTime": 1234,\
"inventoryType": "Safety stock",\
"infiniteInventory": true,\
"counters": {\
"on-hand": 10\
},\
"attributes": {\
"buy online, pick up in-store (bopis)": true\
},\
"backOrderDate": "2022-08-08T00:00:00.000Z",\
"preOrderDate": "2022-08-08T00:00:00.000Z",\
"backOrderLimit": 100,\
"preOrderLimit": 100,\
"safetyStock": 10,\
"lowStock": 10,\
"segment": "Clothing",\
"region": "US"\
}\
}\
}\
],\
"quantity": 1,\
"isPickup": true,\
"cartItemId": "88cded0f-1439-40eb-a7a0-167e8bffdb3b",\
"itemId": "1000000001",\
"title": "Varnet Garden Light Kit",\
"attributeTotalPrice": 10,\
"createdAt": "2022-02-18T15:12:40.974580",\
"updatedAt": "2022-02-18T15:12:40.974580",\
"priceListId": "100000",\
"lineItemId": 1,\
"isActive": true,\
"unitPrice": {\
"currency": "USD",\
"amount": 100,\
"discount": {\
"price": 80,\
"promosApplied": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"value": "20",\
"unit": "%OFF"\
}\
],\
"discounts": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"promoTitle": "New Year discount",\
"quantity": 1,\
"amount": 20,\
"value": 20,\
"groupId": "new-items",\
"promotionType": "PROMOTION",\
"priority": 1,\
"stackable": false,\
"sku": "16B2GS8LD5FDS",\
"itemId": "1000000001",\
"itemKey": "Key1234",\
"message": "New Year Promotion",\
"unit": "%OFF",\
"proratedQuantity": 1,\
"proratedAmount": 3.33\
}\
],\
"discountAmount": 20\
},\
"sale": 80\
},\
"totalPrice": {\
"currency": "USD",\
"amount": 100,\
"discount": {\
"price": 80,\
"promosApplied": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"value": "20",\
"unit": "%OFF"\
}\
],\
"discounts": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"promoTitle": "New Year discount",\
"quantity": 1,\
"amount": 20,\
"value": 20,\
"groupId": "new-items",\
"promotionType": "PROMOTION",\
"priority": 1,\
"stackable": false,\
"sku": "16B2GS8LD5FDS",\
"itemId": "1000000001",\
"itemKey": "Key1234",\
"message": "New Year Promotion",\
"unit": "%OFF",\
"proratedQuantity": 1,\
"proratedAmount": 3.33\
}\
],\
"discountAmount": 20\
},\
"sale": 80\
},\
"attributes": [\
{\
"attributeId": "60c2a358eb2ec30008ae70a1",\
"name": "gift wrapping (small)",\
"type": "GIFT",\
"price": 10,\
"description": "Gift wrapping for a small package",\
"mapping": "ITEM",\
"value": "true",\
"level": "order",\
"items": [\
"1000000001"\
]\
}\
],\
"priceAdjustments": [\
{\
"id": "d7e78a21-bee3-4448-bf1c-d5b5461dbda2",\
"reason": "compensation for delay",\
"amount": 20,\
"attributes": {\
"goldMember": [\
false\
]\
}\
}\
],\
"warehouseId": "XYZ-1234",\
"shipTo": {\
"shipToId": "fef78121-bee3-4448-bf1c-d5b5461dbda2",\
"cartId": "d7e78a21-bee3-4448-bf1c-d5b5461dbda2",\
"createdAt": "2022-02-18T15:12:40.974580",\
"updatedAt": "2022-02-18T15:12:40.974580",\
"shipMethod": {\
"cost": {\
"amount": 10,\
"currency": "USD",\
"discount": 5\
},\
"shipMethodId": "1234",\
"shipmentCarrier": "FedEx",\
"shipmentMethod": "Next Day"\
},\
"address": {\
"attention": "Billing manager",\
"street1": "100 NE 100th St.",\
"street2": "Suite 710",\
"street3": "Seventh floor",\
"street4": "Attention: Pat E. Kake",\
"city": "Seattle",\
"state": "Washington",\
"country": "USA",\
"zipCode": "98125",\
"email": "test@mail.com",\
"kind": "shipping",\
"name": {\
"first": "Pat",\
"middle": "E",\
"last": "Kake"\
},\
"phone": {\
"number": "123-456-7899",\
"kind": "MOBILE"\
}\
},\
"shipToType": "SHIP_TO_ADDRESS",\
"taxCode": "FR1000",\
"isPickup": true,\
"altPickupPerson": {\
"name": {\
"first": "Pat",\
"middle": "E",\
"last": "Kake"\
},\
"phone": {\
"number": "123-456-7899",\
"kind": "MOBILE"\
},\
"email": "test@mail.com"\
},\
"pickupPerson": {\
"name": {\
"first": "Pat",\
"middle": "E",\
"last": "Kake"\
},\
"phone": {\
"number": "123-456-7899",\
"kind": "MOBILE"\
},\
"email": "test@mail.com"\
},\
"warehouseId": "XYZ-1234",\
"storeId": "ABC-123"\
},\
"channel": 12,\
"group": [\
"61d38e117162b7dba69c3d6d"\
],\
"fees": [\
{\
"feeId": "73bc09d0-874a-4c3d-84d0-df1670d03578",\
"name": "gift",\
"type": "gift_wrap",\
"amount": 10.5,\
"attributes": "{'from': 'sam', 'to': 'david' }"\
}\
]\
}\
],
"currency": "USD",
"metadata": {
"approver": "620d8896058edb0009385311"
},
"allPromosApplied": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"value": "20",\
"unit": "%OFF"\
}\
],
"sharedUserIds": [\
"[\"*\"] or [userId1,userId2]"\
],
"error": {
"price": [\
{\
"price": {\
"base": 20,\
"sale": 10,\
"cost": 20,\
"currency": "USD",\
"finalPrice": 10,\
"totalPrice": 20,\
"kind": "Promotion",\
"discount": 5.5\
},\
"channel": 12,\
"kind": "PROMOTION",\
"lineItemId": 1,\
"discounts": [\
{\
"promoId": "fza065tdr787",\
"promoCode": "coupon123",\
"promoTitle": "New Year discount",\
"quantity": 1,\
"amount": 20,\
"value": 20,\
"groupId": "new-items",\
"promotionType": "PROMOTION",\
"priority": 1,\
"stackable": false,\
"sku": "16B2GS8LD5FDS",\
"itemId": "1000000001",\
"itemKey": "Key1234",\
"message": "New Year Promotion",\
"unit": "%OFF",\
"proratedQuantity": 1,\
"proratedAmount": 3.33\
}\
]\
}\
],
"promo": [\
{\
"detail": "Item is out of stock",\
"itemId": "1000000001",\
"sku": "16B2GS8LD5FDS",\
"lineItemId": 1\
}\
],
"inventory": [\
{\
"detail": "Item is out of stock",\
"itemId": "1000000001",\
"sku": "16B2GS8LD5FDS",\
"lineItemId": 1\
}\
]
},
"cartId": "d7e78a21-bee3-4448-bf1c-d5b5461dbda2",
"createdAt": "2022-02-11T14:09:40.836703",
"updatedAt": "2022-02-22T22:36:40.194293",
"totalItems": 3,
"totalUniqueItems": 2,
"cartState": "PENDING",
"tenantId": "5f689caa4216e7000750d1ef",
"accountId": "5f689caa4216e7000750d1ef",
"userId": "61b8e921d0cf2e000882b09f",
"configuration": {
"allowAnonymousUser": true,
"orderNumberSource": "CART_ID",
"softReserve": true,
"addItemBySkuEnabled": true
},
"customer": {
"id": "d7e78a21-bee3-4448-bf1c-d5b5461dbda2",
"type": "EMPLOYEE",
"attributes": {
"goldMember": [\
false\
]
},
"segments": {
"age": 23,
"gender": "female"
}
},
"totalAmount": 95,
"subTotal": 120,
"totalDiscount": 25,
"totalFees": 25,
"attributes": [\
{\
"attributeId": "60c2a358eb2ec30008ae70a1",\
"name": "gift wrapping (small)",\
"type": "GIFT",\
"price": 10,\
"description": "Gift wrapping for a small package",\
"mapping": "ITEM",\
"value": "true",\
"level": "order",\
"items": [\
"1000000001"\
]\
}\
],
"fees": [\
{\
"feeId": "73bc09d0-874a-4c3d-84d0-df1670d03578",\
"name": "gift",\
"type": "gift_wrap",\
"amount": 10.5,\
"attributes": "{'from': 'sam', 'to': 'david' }"\
}\
],
"suggestedProducts": [\
{\
"promotionId": "fef78121-bee3-4448-bf1c-d5b5461dbda2",\
"promotionTitle": "Buy one get one free",\
"itemId": 19,\
"itemIds": [\
19\
],\
"eligiblePriceLists": [\
1000000001\
],\
"quantity": 1,\
"promotionQuantity": 1,\
"free": true,\
"discountType": "AMOUNT_OFF",\
"amount": 10\
}\
]
}
{
"code": "Bad Request",
"message": "User ID or Cart ID does not exist"
}
{
"code": "Cart or item not found",
"message": "If the issue persists please contact support@fabric.inc."
}
{
"code": "Internal Server Error",
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}
PATCH
/
v2
/
carts
/
{cartId}
/
attributes
Try it
Add or update cart attributes
cURL
import requests
url = "https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes"
response = requests.patch(url, json=payload, headers=headers)
print(response.text)
<?php
$curl = curl_init();
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes"
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
req.Header.Add("Authorization", "<authorization>")
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))
}
require 'uri'
require 'net/http'
url = URI("https://prod.cart.fabric.inc/v2/carts/{cartId}/attributes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
response = http.request(request)
puts response.read_body
200
400
404
500
{
"code": "Bad Request",
"message": "User ID or Cart ID does not exist"
}
{
"code": "Cart or item not found",
"message": "If the issue persists please contact support@fabric.inc."
}
{
"code": "Internal Server Error",
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}
Headers
x-site-context
string
required
The x-site-context header is a JSON object that contains information about the source you wish to pull from. The mandatory account is the 24 character identifier found in Copilot. The channel (Sales channel ID), stage (environment name), and date attributes can be used to further narrow the scope of your data source.
Example:
"{\"date\": \"2023-01-01T00:00:00.000Z\", \"channel\": 12, \"account\": \"1234abcd5678efgh9ijklmno\",\"stage\":\"production\"}"
x-api-key
string
API Key for Gateway
Example:
"zaCELgL.0imfnc8mVLWwsAawjYr4Rx-Af50DDqtlx"
Authorization
string
required
Authorization token for the user
Example:
"eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjYxZjIyMTU4..."
Path Parameters
cartId
string
required
ID of cart for which attributes will be added or updated
Example:
"d7e78a21-bee3-4448-bf1c-d5b5461dbda2"
Body
application/json
Cart attribute information to be added or updated
Cart attribute information
account
string | null
Cart account ID
Example:
"61b8e921d0cf2e000882b09f"
approver
string | null
Cart approver ID
Example:
"620d8896058edb0009385311"
purchaseOrder
string | null
Cart purchase order
Example:
"112-2624363-4906652"
pricedAttributes
object[] | null
Attributes added at the cart level
Showchild attributes
name
string | null
Name for the cart
Example:
"cart-sales"
description
string | null
Description for the cart
Example:
"cart for sales team"
company
string | null
Company name for the cart
Example:
"fabric Inc"
sharedUserIds
string[] | null
UserIds that represents the users who share the cart
extra
object | null
Extra metadata for the cart
Example:
{ "productFamily": "Laptop computers" }
fees
object[] | null
Fees associated with a specific cart or an individual line item of a cart
Showchild attributes
Response
200
application/json
OK
Cart details
items
object[]
required
Items in cart
Showchild attributes
currency
string
default:USD
required
Currency type
Example:
"USD"
metadata
object
required
Metadata for this cart
Example:
{ "approver": "620d8896058edb0009385311" }
allPromosApplied
object[]
required
All promotions or coupons for items in this cart
Showchild attributes
sharedUserIds
string[] | null
required
UserIds of the users who share the cart
error
object
required
Errors in this cart
Showchild attributes
cartId
string | null
Cart ID
Example:
"d7e78a21-bee3-4448-bf1c-d5b5461dbda2"
createdAt
string | null
Cart creation time
Example:
"2022-02-11T14:09:40.836703"
updatedAt
string
Last time cart was updated
Example:
"2022-02-22T22:36:40.194293"
totalItems
integer
Number of items in the cart
Example:
3
totalUniqueItems
integer
Number of unique items in the cart based on line item ID
Example:
2
cartState
enum
Cart status
Available options:
ACTIVE,
PENDING,
PENDING_APPROVAL,
APPROVED,
SUBMITTED,
DELETED,
REJECTED
Example:
"PENDING"
tenantId
string | null
Merchant ID
Example:
"5f689caa4216e7000750d1ef"
accountId
string | null
Customer account ID
Example:
"5f689caa4216e7000750d1ef"
userId
string | null
User ID
Example:
"61b8e921d0cf2e000882b09f"
configuration
object | null
Cart configurations
Showchild attributes
customer
object | null
Customer context
Showchild attributes
totalAmount
number
Total price of cart items after discount including Shipping and Shipping Discount
Example:
95
subTotal
number
Total price of cart items including Shipping without any discount
Example:
120
totalDiscount
number
Total discount applied to cart
Example:
25
totalFees
number
Total fees applied to cart
Example:
25
attributes
object[] | null
Additional item options
Showchild attributes
fees
object[] | null
Fees associated with a specific cart or an individual line item of a cart
Showchild attributes
suggestedProducts
object[] | null
List of recommended products that are available for purchase along with the item added to the cart
Showchild attributes
Was this page helpful?
YesNo
Delete specific cart fee Delete item fees
Ctrl+I
Assistant
Responses are generated using AI and may contain mistakes.