@square/site-theme-sdk / Modules / api/cart / Cart
api/cart.Cart
- getActiveId
- clear
- addItem
- attachLoyaltyReward
- removeLoyaltyReward
- buyNowItem
- updateItemQuantity
- removeItem
- putFulfillment
• new Cart()
▸ getActiveId(): undefined
| string
Retrieves the active cart id if it exists.
const cartId = sdk.cart.getActiveId();
undefined
| string
▸ clear(): void
Clears the cart from the cookies.
sdk.cart.clear();
void
▸ addItem(request
): Promise
<CartResponse
>
Adds an item to your cart order.
const addItemRequest = {
lineItem: {
itemId: '47HCEE6ZQUFFY3Y7X52CRVCO',
variationId: '6YOTMYGOFTJR4PTTYRCLE7BH',
quantity: 1,
modifiers: [
{
id: '6WVGAE3PKEHRWZHF54KR2PIN',
type: 'CHOICE',
choiceSelections: ['E3MWZ3PJ3VZDQWGW4G3KFZGW', 'GKCUYTB7ARN25J7BTRTOSVHO']
},
{
id: '11ede91fbff63a3ab4dbde667deefb9b',
type: 'TEXT',
textEntry: 'my t-shirt-text'
},
{
id: '11ee185ca1cd3e98a25c9e3d692ffefb',
type: 'GIFT_WRAP',
choiceSelections: ['11ee185ca1cd7daebd029e3d692ffefb']
},
{
id: '11ee185ca17973e490449e3d692ffefb',
type: 'GIFT_MESSAGE',
textEntry: 'happy bday'
}
]
},
fulfillment: {
fulfillmentType: 'SHIPMENT'
},
locationId: 'L36RW9ABXQTEE'
};
try {
const response = await sdk.cart.addItem(addItemRequest);
} catch (error) {
// Handle errors
}
Name | Type |
---|---|
request |
AddItemRequest |
Promise
<CartResponse
>
Throws
▸ attachLoyaltyReward(request
): Promise
<CartResponse
>
Applies a loyalty reward to the cart if eligible
const attachLoyaltyRewardRequest = {
loyaltyAccountId: "5bcdb22f-0b57-4feb-af5a-d7f8ae33eb9f",
loyaltyRewardTierId: "0534d095-9a58-427d-8e7a-0d28e5897b37",
loyaltyRewardName: "$2.00 off one Breakfast sandwich",
discountType: "FIXED_AMOUNT",
discountScope: "LINE_ITEM",
discountValue: 200,
itemIds: [
"YGXQM2QSBTXHBNBCT4GTTIPD"
],
orderId: "11ef1d135548d3a88c6b089e019fd17a"
};
try {
const response = await sdk.cart.attachLoyaltyReward(attachLoyaltyRewardRequest);
} catch (error) {
// Handle errors
}
Name | Type |
---|---|
request |
AttachLoyaltyRewardRequest |
Promise
<CartResponse
>
Throws
▸ removeLoyaltyReward(request
): Promise
<CartResponse
>
Removes loyalty reward from the cart if present
const removeLoyaltyRewardRequest = {
rewardId: "11ef116173e1369d8c6b089e019fd17a",
orderId: "11ef1d135548d3a88c6b089e019fd17a"
};
try {
const response = await sdk.cart.removeLoyaltyReward(removeLoyaltyRewardRequest);
} catch (error) {
// Handle errors
}
Name | Type |
---|---|
request |
RemoveLoyaltyRewardRequest |
Promise
<CartResponse
>
Throws
▸ buyNowItem(request
): Promise
<void
>
Adds an item to a new order and redirects to checkout on success.
const buyNowItemRequest = {
lineItem: {
itemId: '47HCEE6ZQUFFY3Y7X52CRVCO',
variationId: '6YOTMYGOFTJR4PTTYRCLE7BH',
quantity: 1,
modifiers: [
{
id: '6WVGAE3PKEHRWZHF54KR2PIN',
type: 'CHOICE',
choiceSelections: ['E3MWZ3PJ3VZDQWGW4G3KFZGW', 'GKCUYTB7ARN25J7BTRTOSVHO']
},
{
id: '11ede91fbff63a3ab4dbde667deefb9b',
type: 'TEXT',
textEntry: 'my t-shirt-text'
},
{
id: '11ee185ca1cd3e98a25c9e3d692ffefb',
type: 'GIFT_WRAP',
choiceSelections: ['11ee185ca1cd7daebd029e3d692ffefb']
},
{
id: '11ee185ca17973e490449e3d692ffefb',
type: 'GIFT_MESSAGE',
textEntry: 'happy bday'
}
]
},
fulfillment: {
fulfillmentType: 'SHIPMENT'
},
locationId: 'L36RW9ABXQTEE'
};
try {
await sdk.cart.buyNowItem(buyNowItemRequest);
} catch (error) {
// Handle errors
}
Name | Type |
---|---|
request |
BuyNowItemRequest |
Promise
<void
>
Throws
▸ updateItemQuantity(request
): Promise
<CartResponse
>
Updates the quantity of an item on an order. Quantity must be greater than 0.
const updateItemQuantityRequest = {
orderItemId: '11ee2722e42886d182fa089e019fd17a',
quantity: 2
};
try {
const response = await SDK.cart.updateItemQuantity(updateItemQuantityRequest);
} catch (error) {
// Handle errors
}
Name | Type |
---|---|
request |
UpdateItemQuantityRequest |
Promise
<CartResponse
>
Throws
▸ removeItem(request
): Promise
<CartResponse
>
Removes a line item from an order.
const removeItemRequest = {
orderItemId: '11ee2722e42886d182fa089e019fd17a'
};
try {
const response = await SDK.cart.removeItem(removeItemRequest);
} catch (error) {
// Handle errors
}
Name | Type |
---|---|
request |
RemoveItemRequest |
Promise
<CartResponse
>
Throws
▸ putFulfillment(request
): Promise
<CartResponse
>
Replaces the fulfillment on an order.
const putFulfillmentRequest = {
fulfillment: {
fulfillmentType: 'PICKUP',
pickupDetails: {
curbsidePickupRequested: true,
curbsidePickupDetails: {
curbsideDetails: 'Contactless please'
},
}
}
};
try {
const response = await sdk.cart.putFulfillment(putFulfillmentRequest);
} catch (error) {
// Handle errors
}
Name | Type |
---|---|
request |
PutFulfillmentRequest |
Promise
<CartResponse
>
Throws