# Commerce functionalities The commercetools Frontend Store Launchpad for B2C Retail uses the commercetools commerce APIs to execute actions. The Store Launchpad for B2C Retail implements commerce functionality by using the [extension for commercetools commerce APIs](/frontend-development/using-the-commercetools-extension.md). Following are the actions available in the Store Launchpad for B2C Retail and the related commerce API actions. For more information, see the following files in the `actionControllers` folder of the extension for commercetools commerce APIs: - `AccountController.ts` - `CartController.ts` - `ProductController.ts` - `ProjectController.ts` - `WishlistController.ts` ## Account | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Create Customer account: `register` | [Create (sign up) Customer](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustomers%3APOST) | | Request confirmation email token: `requestConfirmationEmail` | [Create email token for Customer](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustomers%2Femail-token%3APOST) | | Confirm Customer's email with token: `confirm` | [Verify email of Customer](/api/projects/customers.md#verify-email-of-customer) | | Login account: `login` | [Authenticate (sign in) Customer](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Flogin%3APOST) | | Change password of account: `password` | [Change password of Customer](/api/projects/customers.md#change-password-of-customer) | | Generate token to reset password of account: `requestReset` | [Create password reset token for Customer](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcustomers%2Fpassword-token%3APOST) | | Reset password: `reset` | [Reset password of Customer](/api/projects/customers.md#reset-password-of-customer) | | Update account details - first name: `update` | [Set First Name](/api/projects/customers.md#set-first-name) | | Update account details - last name: `update` | [Set Last Name](/api/projects/customers.md#set-last-name) | | Update account details - salutation: `update` | [Set Salutation](/api/projects/customers.md#set-salutation) | | Update account details - date of birth: `update` | [Set Date of Birth](/api/projects/customers.md#set-date-of-birth) | | Add billing and shipping addresses: `addAddress` | [Add Address](/api/projects/customers.md#add-address) | | Update billing and shipping addresses: `updateAddress` | [Change Address](/api/projects/customers.md#change-address) | | Remove billing and shipping addresses: `removeAddress` | [Remove Address](/api/projects/customers.md#remove-address) | | Set default billing address: `setDefaultBillingAddress` | [Set Default Billing Address](/api/projects/customers.md#set-default-billing-address) | | Set default shipping address: `setDefaultShippingAddress` | [Set Default Shipping Address](/api/projects/customers.md#set-default-shipping-address) | ## Cart | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Get a Cart for an anonymous or logged in account: `getCart` | [Get Cart](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcarts%2F%7Bid%7D%3AGET) | | Add Line Item to Cart: `addToCart` | [Add LineItem](/api/projects/carts.md#add-lineitem) | | Update Cart Line Item: `updateLineItem` | [Change LineItem Quantity](/api/projects/carts.md#change-lineitem-quantity) | | Remove Cart Line Item: `removeLineItem` | [Remove LineItem](/api/projects/carts.md#remove-lineitem) | | Update Cart details - email: `updateCart` | [Set Customer Email](/api/projects/carts.md#set-customer-email) | | Update Cart details - shipping address: `updateCart` | [Set Shipping Address](/api/projects/carts.md#set-shipping-address) | | Update Cart details - billing address: `updateCart` | [Set Billing Address](/api/projects/carts.md#set-billing-address) | | Create Order from Cart: `checkout` | [Create Order from Cart](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Forders%3APOST) | | Get Orders for account: `getOrders` | [Query Orders](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Forders%3AGET) | | Get Shipping Methods: `getShippingMethods` | [Query ShippingMethods](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fshipping-methods%3AGET) | | Get Shipping Methods for matching location: `getShippingMethods` | [Get matching Shipping Methods for a Location](/api/projects/shippingMethods.md#for-a-location) | | Get Shipping Methods for a Cart: `getAvailableShippingMethods` | [Get matching Shipping Methods for a Cart](/api/projects/shippingMethods.md#for-a-cart) | | Set Shipping Method: `setShippingMethod` | [Set ShippingMethod](/api/projects/carts.md#set-shippingmethod) | | Redeem Discount: `redeemDiscount` | [Add DiscountCode](/api/projects/carts.md#add-discountcode) | | Remove Discount: `removeDiscount` | [Remove DiscountCode](/api/projects/carts.md#remove-discountcode) | | Add Payment by invoice: `addPaymentByInvoice` | [Create Payment](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fpayments%3APOST) | | Update Payment: `updatePayment` | [Update Payment](/api/projects/payments.md#update-payment) | ## Product | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Get Product by SKU or ID: `getProduct` | [Product Search](/api/projects/product-search.md) | | Query Products with filters, sorting, and pagination: `query` | [Product Search](/api/projects/product-search.md) | | Query Categories with pagination: `queryCategories` | [Query Categories](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fcategories%3AGET) | | Get searchable attributes: `searchableAttributes` | [Query ProductTypes](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fproduct-types%3AGET) | ## Project | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Get Project settings: `getProjectSettings` | [Get Project](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%3AGET) | ## Wishlist | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Create wishlist: `createWishlist` | [Create ShoppingList](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fshopping-lists%3APOST) | | Get a wishlist for an anonymous or logged in account: `getWishlist` | [Get ShoppingList](/urn?urn=ctp%3Aapi%3Aendpoint%3A%2F%7BprojectKey%7D%2Fshopping-lists%2F%7Bid%7D%3AGET) | | Add Product to wishlist: `addToWishlist` | [Add ShoppingListLineItem](/api/projects/shoppingLists.md#add-shoppinglistlineitem) | | Remove Product from wishlist: `removeLineItem` | [Remove ShoppingListLineItem](/api/projects/shoppingLists.md#remove-shoppinglistlineitem) | | Update Product count from wishlist: `updateLineItemCount` | [Change ShoppingListLineItem Quantity](/api/projects/shoppingLists.md#change-shoppinglistlineitem-quantity) | ## Related pages - [Area overview page with navigation](/frontend-development.md) - [Previous page: Change brand and style](/frontend-development/change-brand-and-style-for-b2c.md) - [Next page: Algolia](/frontend-development/algolia.md)