Loading
Point of Sale
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Point of Sale - SFCC (Salesforce Commerce) Integration

          Point of Sale - SFCC (Salesforce Commerce) Integration

          Use the cartridge integration and OCAPI’s to expose Salesforce Commerce's endless aisle functionality. POS integrates with Salesforce Commerce (SFCC) via OCAPI’s interfaces. This approach lets SFCC build and manage the cart (tax, promos). Point of Sale is a Salesforce-certified commerce integrator and is certified for OCAPI 21 integration. There is also a cartridge with default hooks for customization for client needs.

          Prerequisites

          Refer to POS Access List - URLs and IP Addresses for a list of URLs and IP addresses to allowlist, which turns on necessary communication.

          POS Flows

          • Store associate placing a guest order
          • Store associate placing an order on behalf of the customer
          • Pulling commerce order history
          • Store associates can sign up a new customer on commerce
          • Store associate doing clienteling using Commerce customer list

          Point of Sale + SFCC via OCAPI - OMNI Use Cases

          The items listed before lists the support capabilities of SFCC via OCAPI with Retail Cloud's omnichannel solutions.

          • Real time inventory visibility between POS & E-commerce - Supported
          • Endless Aisle - Supported
          • Mixed Cart - Not Supported
          • Buy Online, Return In-Store (BORIS) - Supported
          • Buy Online, Pickup In-Store (BOPIS) - Not Supported
          • Buy Online, Ship From Store (BOSIS) - Not Supported

          Reference Architecture

          The architecture of the integration between Point of Sale and the Commerce shop API

          POS UI - SFCC Mapping

          POS Screens Point of Sale Object APIs
          • Customer Search
          • Clienteling Screen/Customer Profile
          • Create New Customer SignUp
          • Update Customer Profile
          • Customer wishlist
          Customer

          CustomerLists Resource (Data API)

          Customers Resources

          • Checkout
          Cart SHOP APIs - Basket Resources
          • Order Search
          • Order Details
          Order

          Order Search Resources

          Order Resources

          SFCC Integration Details

          Check this Salesforce Commerce documentation here for Authentication.

          Salesforce Commerce APIs

          Get details of the Salesforce Commerce APIs

          Authentication

          To access the OCAPI resources we need a client id and the password (Obtain a Client Credentials grant). This client id and password is used to generate the OAuth token. This token can be used to place an order as a guest. If the customer is logging himself and placing an order these credentials will work. In the case of POS apps the store associate will be logging on behalf of the customer so we need alleviated business manager access. (Obtain a Business Manager user grant).

          Authorization: This is controlled using the OCAPI settings. In the Point of Sale cartridge there is a copy of required permissions and ocapi settings json file.

          For retrieving OCAPI endpoints Point of Sale calls, it can be found by referring API Logs in CMS. Please reach out to your Customer Success Manager for more information.

          SHOP APIs - Basket Resources

          This table list all the basket resources that are accessed to place an order.

          HTTP Method Resource Description
          POST /baskets Create a basket
          GET /baskets/{basket_id} Get a basket
          PATCH /baskets/{basket_id} Updates a basket
          DELETE /baskets/{basket_id} Remove a basket
          PUT /baskets/{basket_id}/billing_address Sets the billing address of a basket
          POST /baskets/{basket_id}/coupons Adds a coupon to an existing basket
          DELETE /baskets/{basket_id}/coupons/{coupon_item_id} Removes a coupon from the basket
          PUT /baskets/{basket_id}/customer Sets customer information for an existing basket
          POST /baskets/{basket_id}/gift_certificate_items Adds a gift certificate item to an existing basket
          DELETE /baskets/{basket_id}/gift_certificate_items/{gift_certificate_item_id} Deletes a gift certificate item from an existing basket
          PATCH /baskets/{basket_id}/gift_certificate_items/{gift_certificate_item_id} Updates a gift certificate item of an existing basket
          POST /baskets/{basket_id}/items Adds new items to a basket
          PATCH /baskets/{basket_id}/items/{item_id} Updates an item in a basket
          DELETE /baskets/{basket_id}/items/{item_id} Removes a product item from the basket
          POST /baskets/{basket_id}/payment_instruments Adds a payment instrument to a basket
          PATCH /baskets/{basket_id}/payment_instruments/{payment_instrument_id} Updates a payment instrument of a basket
          DELETE /baskets/{basket_id}/payment_instruments/{payment_instrument_id} Removes a payment instrument from a basket
          GET /baskets/{basket_id}/payment_methods Gets applicable payment methods for an existing basket considering the open payment amount only
          POST /baskets/{basket_id}/price_adjustments Adds a custom manual price adjustment to the basket
          DELETE /baskets/{basket_id}/price_adjustments/{price_adjustment_id} Removes a custom manual price adjustment from the basket
          PATCH /baskets/{basket_id}/price_adjustments/{price_adjustment_id} Updates a custom manual price adjustment on the basket
          POST /baskets/{basket_id}/shipments Creates a new shipment for a basket
          PATCH /baskets/{basket_id}/shipments/{shipment_id} Updates a shipment for a basket
          DELETE /baskets/{basket_id}/shipments/{shipment_id} Removes a specified shipment
          PUT /baskets/{basket_id}/shipments/{shipment_id}/shipping_address Sets a shipping address of a specific shipment of a basket
          PUT /baskets/{basket_id}/shipments/{shipment_id}/shipping_method Sets a shipping method to a specific shipment of a basket
          GET /baskets/{basket_id}/shipments/{shipment_id}/shipping_methods Gets the applicable shipping methods for a certain shipment of a basket

          CustomerLists Resource (Data API)

          HTTP Method Resource Description
          POST /customer_lists/{customer_list_id}/customer_search Used for Clientelling in Customer Search

          Customers Resources

          HTTP Method Resource Description
          POST /customers Registers a customer
          DELETE /customers/auth Invalidates the JWT provided in the header
          PATCH /customers/{customer_id} Updates a customer
          GET /customers/{customer_id}/addresses Returns a sorted pageable list of all customer addresses in the address book.
          POST /customers/{customer_id}/addresses Creates a new address with the given name for the given customer
          GET /customers/{customer_id}/addresses/{address_name} Retrieves a customer's address by address name
          DELETE /customers/{customer_id}/addresses/{address_name} Deletes a customer's address by address name
          PATCH /customers/{customer_id}/addresses/{address_name} Updates a customer's address by address name
          POST /customers/{customer_id}/auth Obtains a new agent on behalf of a registered customer
          GET /customers/{customer_id}/baskets Get the baskets of a customer
          GET /customers/{customer_id}/orders Returns a pageable list of all customer's orders. The default page size is 10
          POST /customers/{customer_id}/password_reset Starts a password reset process
          POST /customers/{customer_id}/product_lists Creates a customer product list
          GET /customers/{customer_id}/product_lists/{list_id} Returns a customer product list of the given customer
          GET /customers/{customer_id}/product_lists/{list_id}/items Returns a pageable list of all items of a customer's product list. The default page size is 10.
          POST /customers/{customer_id}/product_lists/{list_id}/items Adds an item to the customer's product list
          GET /customers/{customer_id}/product_lists/{list_id}/items/{item_id} Returns an item of a customer product list
          DELETE /customers/{customer_id}/product_lists/{list_id}/items/{item_id} Removes an item from a customer product list

          Order Resources

          HTTP Method Resource Description
          POST /orders Submits an order based on a prepared basket
          GET /orders/{order_no} Get information for an order
          PATCH /orders/{order_no} Update an order
          PATCH /orders/{order_no}/payment_instruments/{payment_instrument_id} Updates a payment instrument of an order
           
          Loading
          Salesforce Help | Article