# Commerce functionalities The Store Launchpad for B2B Manufacturing uses the commercetools commerce APIs to execute actions. The Store Launchpad for B2B Manufacturing implements commerce functionality by using the [extension for commercetools commerce APIs](/frontend-development/using-the-commercetools-extension.md) for B2B. Following are the actions available in the Store Launchpad for B2B Manufacturing and the related commerce API actions. For more information, see the following files in the `actionControllers` folder of the extension for commercetools commerce APIs for B2B: - `AccountController.ts` - `BusinessUnitController.ts` - `CartController.ts` - `ProductController.ts` - `ProjectController.ts` - `QuoteController.ts` - `WishlistController.ts` ## Account | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Create Customer account: `register` | [Create (sign up) Customer](/search.md?urn=ctp:api:endpoint:/{projectKey}/customers:POST) | | Request confirmation email token: `requestConfirmationEmail` | [Create email token for Customer](/search.md?urn=ctp:api:endpoint:/{projectKey}/customers/email-token:POST) | | 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](/search.md?urn=ctp:api:endpoint:/{projectKey}/login:POST) | | 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](/search.md?urn=ctp:api:endpoint:/{projectKey}/customers/password-token:POST) | | 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 address: `addAddress` | [Add Address](/api/projects/customers.md#add-address) | | Update address: `updateAddress` | [Change Address](/api/projects/customers.md#change-address) | | Remove address: `removeAddress` | [Remove Address](/api/projects/customers.md#remove-address) | | Add shipping address: `addShippingAddress` | [Add Address](/api/projects/customers.md#add-address), [Add Shipping Address ID](/api/projects/customers.md#add-shipping-address-id), [Set Default Shipping Address](/api/projects/customers.md#set-default-shipping-address) | | Add billing address: `addBillingAddress` | [Add Address](/api/projects/customers.md#add-address), [Add Billing Address ID](/api/projects/customers.md#add-billing-address-id), [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) | | Set default billing address: `setDefaultBillingAddress` | [Set Default Billing Address](/api/projects/customers.md#set-default-billing-address) | | Delete account: `deleteAccount` | [Delete Customer](/search.md?urn=ctp:api:endpoint:/{projectKey}/customers/{id}:DELETE) | ## Business Unit | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Get all Business Units: `getBusinessUnits` | [Query Business Units](/search.md?urn=ctp:api:endpoint:/{projectKey}/business-units:GET) | | Get Business Unit by key: `getBusinessUnit` | [Get Business Unit by Key](/search.md?urn=ctp:api:endpoint:/{projectKey}/business-units/key={key}:GET) | | Get Orders for Business Unit: `getBusinessUnitOrders` | [Query Orders](/search.md?urn=ctp:api:endpoint:/{projectKey}/orders:GET) | | Create Business Unit: `create` | [Create BusinessUnit](/search.md?urn=ctp:api:endpoint:/{projectKey}/business-units:POST) | | Update Business Unit details: `updateBusinessUnit` | [Update BusinessUnit](/api/projects/business-units.md#update-businessunit) | | Add address: `addBusinessUnitAddress` | [Add Address](/api/projects/business-units.md#add-address) | | Update address: `updateBusinessUnitAddress` | [Change Address](/api/projects/business-units.md#change-address) | | Remove address: `removeBusinessUnitAddress` | [Remove Address](/api/projects/business-units.md#remove-address) | | Add Associate: `addAssociate` | [Add Associate](/api/projects/business-units.md#add-associate) | | Remove Associate: `removeAssociate` | [Remove Associate](/api/projects/business-units.md#remove-associate) | | Get Associate: `getAssociate` | [Get Associate](/search.md?urn=ctp:api:endpoint:/{projectKey}/business-units/key={key}/associates/{associateId}:GET) | | Get Associate Roles: `getAssociateRoles` | [Query AssociateRoles](/search.md?urn=ctp:api:endpoint:/{projectKey}/associate-roles:GET) | | Update Associate Roles: `updateAssociate` | [Change Associate](/api/projects/business-units.md#change-associate) | ## Cart | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Get a Cart for an anonymous or logged in account: `getCart` | [Get Cart](/search.md?urn=ctp:api:endpoint:/{projectKey}/carts/{id}:GET) | | 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](/search.md?urn=ctp:api:endpoint:/{projectKey}/orders:POST) | | Query Orders: `queryOrders` | [Query Orders](/search.md?urn=ctp:api:endpoint:/{projectKey}/orders:GET) | | Get Shipping Methods: `getShippingMethods` | [Query ShippingMethods](/search.md?urn=ctp:api:endpoint:/{projectKey}/shipping-methods:GET) | | 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](/search.md?urn=ctp:api:endpoint:/{projectKey}/payments:POST) | | Update Payment: `updatePayment` | [Update Payment](/api/projects/payments.md#update-payment) | | Return Line Item: `returnItems` | [Update Order](/api/projects/orders.md#update-order) | | Cancel Order: `cancelOrder` | [Change OrderState](/api/projects/orders.md#change-orderstate) | | Replicate Cart from Order: `replicateOrder` | [Replicate Cart](/search.md?urn=ctp:api:endpoint:/{projectKey}/carts/replicate:POST) | | Split Line Item shipping: `splitLineItem` | [Update Cart](/api/projects/carts.md#update-cart) | | Reassign Cart to another Customer: `reassignCart` | [Update Cart](/api/projects/carts.md#update-cart) | ## 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](/search.md?urn=ctp:api:endpoint:/{projectKey}/categories:GET) | | Get searchable attributes: `searchableAttributes` | [Query ProductTypes](/search.md?urn=ctp:api:endpoint:/{projectKey}/product-types:GET) | ## Project | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Get Project settings: `getProjectSettings` | [Get Project](/search.md?urn=ctp:api:endpoint:/{projectKey}:GET) | ## Quote | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Create Quote Request: `createQuoteRequest` | [Create QuoteRequest](/search.md?urn=ctp:api:endpoint:/{projectKey}/quote-requests:POST) | | Query Quote Requests: `queryQuoteRequests` | [Query QuoteRequests](/search.md?urn=ctp:api:endpoint:/{projectKey}/quote-requests:GET) | | Cancel Quote Request: `cancelQuoteRequest` | [Change Quote Request State](/api/projects/quote-requests.md#change-quote-request-state) | | Query Quotes: `query` | [Query Quotes](/search.md?urn=ctp:api:endpoint:/{projectKey}/quotes:GET) | | Accept Quote: `acceptQuote` | [Change Quote State](/api/projects/quotes.md#change-quote-state) | | Decline Quote: `declineQuote` | [Change Quote State](/api/projects/quotes.md#change-quote-state) | | Renegotiate Quote: `renegotiateQuote` | [Request Quote Renegotiation](/api/projects/quotes.md#request-quote-renegotiation) | ## Wishlist | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Get all wishlists: `queryWishlists` | [Query ShoppingLists](/search.md?urn=ctp:api:endpoint:/{projectKey}/shopping-lists:GET) | | Get a wishlist for an anonymous or logged in account: `getWishlist` | [Get ShoppingList](/search.md?urn=ctp:api:endpoint:/{projectKey}/shopping-lists/{id}:GET) | | Create wishlist: `createWishlist` | [Create ShoppingList](/search.md?urn=ctp:api:endpoint:/{projectKey}/shopping-lists:POST) | | Delete wishlist: `deleteWishlist` | [Delete ShoppingList by ID](/search.md?urn=ctp:api:endpoint:/{projectKey}/shopping-lists/{id}:DELETE) | | Add Product to a wishlist: `addToWishlist` | [Add ShoppingListLineItem](/api/projects/shoppingLists.md#add-shoppinglistlineitem) | | Add Product to multiple wishlists: `addToWishlists` | [Add ShoppingListLineItem](/api/projects/shoppingLists.md#add-shoppinglistlineitem) | | Remove Product from wishlist: `removeLineItem` | [Remove ShoppingListLineItem](/api/projects/shoppingLists.md#remove-shoppinglistlineitem) | | Remove Products from wishlist: `removeLineItems` | [Remove ShoppingListLineItem](/api/projects/shoppingLists.md#remove-shoppinglistlineitem) | | Update Product count from wishlist: `updateLineItemCount` | [Change ShoppingListLineItem Quantity](/api/projects/shoppingLists.md#change-shoppinglistlineitem-quantity) | | Update wishlist details: `updateWishlist` | [Update ShoppingList by ID](/api/projects/shoppingLists.md#update-shoppinglist-by-id) | ## Approvals | commercetools Frontend action | commercetools commerce API action | | --- | --- | | Approve Approval Flow: `approveApprovalFlow` | [Approve](/api/projects/approval-flows.md#approve) | | Reject Approval Flow: `approveApprovalFlow` | [Reject](/api/projects/approval-flows.md#reject) | | Query Approval Flows: `queryApprovalFlows` | [Query ApprovalFlow in BusinessUnit](/search.md?urn=ctp:api:endpoint:/{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/approval-flows:GET) | | Create Approval Rule: `createApprovalRule` | [Create ApprovalRule](/search.md?urn=ctp:api:endpoint:/{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/approval-rules:POST) | | Update Approval Rule: `updateApprovalRule` | [Update ApprovalRule](/api/projects/approval-rules.md#update-approvalrule-in-businessunit) | | Query Approval Rules: `queryApprovalRules` | [Query ApprovalRule in BusinessUnit](/search.md?urn=ctp:api:endpoint:/{projectKey}/as-associate/{associateId}/in-business-unit/key={businessUnitKey}/approval-rules:GET) | ## Related pages - [Area overview page with navigation](/frontend-development.md) - [Previous page: Change brand and style](/frontend-development/change-brand-and-style-for-b2b.md) - [Next page: Approvals](/frontend-development/b2b-buyer-approval-flows.md) - [Search documentation and API specs](/search.md)