Skip to content

Latest commit

 

History

History
373 lines (270 loc) · 7.71 KB

api_cart.Cart.md

File metadata and controls

373 lines (270 loc) · 7.71 KB

@square/site-theme-sdk / Modules / api/cart / Cart

Class: Cart

api/cart.Cart

Table of contents

Constructors

Methods

Constructors

constructor

new Cart()

Methods

getActiveId

getActiveId(): undefined | string

Retrieves the active cart id if it exists.

	const cartId = sdk.cart.getActiveId();

Returns

undefined | string


clear

clear(): void

Clears the cart from the cookies.

	sdk.cart.clear();

Returns

void


addItem

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
	}

Parameters

Name Type
request AddItemRequest

Returns

Promise<CartResponse>

Throws

CartError


attachLoyaltyReward

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
	}

Parameters

Name Type
request AttachLoyaltyRewardRequest

Returns

Promise<CartResponse>

Throws

CartError


removeLoyaltyReward

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
	}

Parameters

Name Type
request RemoveLoyaltyRewardRequest

Returns

Promise<CartResponse>

Throws

CartError


buyNowItem

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
	}

Parameters

Name Type
request BuyNowItemRequest

Returns

Promise<void>

Throws

CartError


updateItemQuantity

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
	}

Parameters

Name Type
request UpdateItemQuantityRequest

Returns

Promise<CartResponse>

Throws

CartError


removeItem

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
	}

Parameters

Name Type
request RemoveItemRequest

Returns

Promise<CartResponse>

Throws

CartError


putFulfillment

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
	}

Parameters

Name Type
request PutFulfillmentRequest

Returns

Promise<CartResponse>

Throws

CartError