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
          Omnichannel: Configuring Shipping Methods on POS App

          Omnichannel: Configuring Shipping Methods on POS App

          Configure shipping methods in Point of Sale CMS’s Point of Sale (POS) app to host and select how to ship goods without external calls.

          Merchants can find shipping methods by setting up the CMS by hand or by using external shipping services through the SPI. The SPI calls the merchant's chosen endpoint to return shipping options for the products they want.

          Prerequisites

          • Modern POS App Build: 9.0.1 or later
          • Platform Support: iPad and iPhone
          • Offline Support: no
          • Order SPI Spec: The order SPI spec has been updated for the Omni feature. Update your SPI endpoints for order posting and retrieval. Refer to the section, Order SPI Updates, this article for more information.
          • Shipping Method Spec (8.7.1 and later): Implement the Salesforce Shipping Method SPI when enabling External Shipping Provider.

          Configure Omnichannel Shipping Methods CMS - Configuration and Setup

          Configure Point of Sale CMS so merchants can host fixed shipping methods.

          For fixed shipping methods configured in the CMS, merchants can use our system to host, and we will allow selection without any external calls. You can configure shipping methods in the CMS by referring to this article

          Retrieving Shipping methods via SPI

          1. In CMS, go to Integrations and Custom Connectors.
          2. Select Create in the upper right.
          3. Under Connector Type, select SPI.
          4. Under Endpoint Name, select SHIPPING\_METHOD.
          5. Configure the rest of the fields by referring to Point of Sale API, SPI, and Webhook Specs.

          Enable Primary Shipping Method with Delivery Grouping

          Note
          Note Important: If enabling delivery grouping and you're also using Point of Sale's Get Order Detail SPI, you'll need to send "DeliveryGroup" list in the SPI response. See Point of Sale API, SPI, and Webhook Specs

          If only one shipping method is allowed in the cart:

          1. In CMS, go to Store Management > Store Settings > Store Fulfillment.
          2. Under Omni Settings, select the pencil to show the window.
          3. Turn on the flags:
            • Enable Order Delivery Grouping
            • Enable external shipping provider
          4. Disable Allow multiple shipping methods.
          5. Set and save your changes.

          Enabling Multiple Shipping Methods with Delivery Grouping

          Note
          Note Important: If enabling delivery grouping and you're also using Point of Sale's Get Order Detail SPI, you'll need to send "DeliveryGroup" list in the SPI response. See Point of Sale API, SPI, and Webhook Specs

          If multiple shipping methods are allowed in the cart:

          1. In CMS, go to Store Management > Store Settings > Store Fulfillment.
          2. Under Omni Settings, select the pencil to show the window.
          3. Turn on on the flags:
            • Enable Order Delivery Grouping
            • Allow multiple shipping methods
          4. Disable Enable external shipping provider.
          5. Set and save your changes.

          Omnichannel Shipping Methods POS App Flow

          View the workflow for configuring shipping methods in the Point of Sale (POS) app.

          Retrieving Shipping Methods via SPI at Order Level

          After a shipping address is entered for the cart, the store associate can select a shipping method. This action triggers the Shipping Method SPI, which retrieves and displays the applicable shipping options for the products in the cart.

          The app resets the shipping method if a change occurs in the quantity of endless-aisle products (add, delete, change in fulfillment type, change in quantity, and so on) or a change in the shipping address.

          Retrieving Shipping Methods via SPI at Item Level

          After entering a shipping address for a product in the cart, the store associate can select a shipping method for that item. This triggers the Shipping Method SPI, which retrieves and displays the applicable shipping options. Checkout can't be completed until a shipping method is selected for all applicable products.

          Delivery Groupings

          Items with the same fulfillment method, shipping address, delivery date, and shipping method are grouped together for delivery. The POS app receives the delivery groups in a sorted order from Point of Sale's backend, and this sorting order is shown in the cart. Each group has a sequential shipment number, starting with Shipment one.

          If one of the items has changed (for example, the way it's shipped or the address), it'll be in a different shipment. The number of these shipment increases by one (for example, Shipment two).

          Omnichannel Shipping and Receiving SPI Sample Request

          Review sample request and response payloads for the Shipping Method SPI

          The SPI is designed to send a list of items in the request. However, for shipping methods at the item level, it sends a list with a single item and expects a list of shipping methods as a response for the given item. Additionally, the request contains a single product with the fulfillment details but doesn't include the fulfillment type: Fulfillment location/store, shipping address, delivery date/time, price/quantity, and other product attributes from the feed.

          SPI Request Payload

          {
              "customerId": "string",
              "cartItemList": [
              {
              "productId": "3661601595547",
              "title": "E18PENDANT1",
              "description": "Number 1 medallion",
              "productClass": "Merchandise",
              "categories": "Accessories > Categories > Jewelry, New Arrival > Jewelry",
              "googleCategory": "Accessories > Categories > Jewelry",
              "imageUrl": "https://us.ps.com/en/categories/jewelry/numero1/3661601595547.html",
              "additionalImageUrls": "['https://us.ps.com/en/categories/jewelry/numero1/3661601595547.html','https://us.ps.com/en/categories/jewelry/numero1/3661601595548.html']",
              "condition": "NEW",
              "availability": "Available",
              "listPrice": 60,
              "salePrice": 60,
              "storePrice": 55,
              "currencyCode": "USD",
              "brand": "Gucci",
              "gtin": "065100004327",
              "mpn": "100-440-0.750-3434-A",
              "gender": "Unisex",
              "ageGroup": "10-45",
              "subVariantGroupId": "string",
              "variantGroupId": "E18PENDANT1",
              "color": "Silver",
              "colorSwatchUrl": "string",
              "size": "M",
              "pattern": "Oval",
              "sku": "3661601595547",
              "isOnSale": false,
              "promotionTitle": "Summer22",
              "promotionPrice": 55,
              "customString0": "string",
              "customString1": "string",
              "customString2": "string",
              "customString3": "string",
              "customString4": "string",
              "customString5": "string",
              "customString6": "string",
              "customString7": "string",
              "customString8": "string",
              "customString9": "string",
              "customString10": "string",
              "customString11": "string",
              "customString12": "string",
              "customInt0": 0,
              "customInt1": 0,
              "customDecimal0": 0,
              "customDecimal1": 0,
              "customDateTime0": 0,
              "customDateTime1": 0,
              "onlineInventory": 0,
              "material": "Metal",
              "manufacturer": "ABC Jewellers",
              "sizeGuideUrl": "string",
              "manufacturerDetails": "string",
              "manufacturerLocation": "string",
              "productLocation": "string",
              "banner": "string",
              "availableStores": [
              "string"
              ],
              "lastUpdate": "2024-08-27T20:33:10.655Z",
              "storeInventory": 0,
              "isVirtual": true,
              "multipleGTINs": [
              "string"
              ],
              "storeProductDetails": {
              "storeId": "string",
              "productId": "string",
              "storeInventory": 0,
              "storePrice": 0,
              "storePromoText": "string",
              "listPrice": 0,
              "salesPrice": 0,
              "storePromoBanner": "string",
              "clearanceItems": [
              {
              "serialNumber": "string",
              "clearancePrice": 0,
              "itemLocationWithinStore": "string",
              "instructionText": "string"
              }
              ],
              "allocatedQuantity": 0,
              "safetyStockQuantity": 0,
              "quantityOnHand": 0,
              "quantityInTransit": 0,
              "quantityOnOrder": 0,
              "notForSaleQuantity": 0,
              "returnedItemsQuantity": 0,
              "floorDemoQuantity": 0,
              "fullPriceSerialNumbers": [
              "string"
              ],
              "storeOnlineQuantity": 0,
              "customString0": "string",
              "customString1": "string",
              "quantity": 0
              },
              "onlineAvailableStores": [
              "string"
              ],
              "costPrice": 0,
              "casePackQuantity": 0,
              "additionalCharges": "string",
              "casePackID": "string",
              "availabilityStartTime": "2024-08-27T20:33:10.655Z",
              "availabilityEndTime": "2024-08-27T20:33:10.655Z",
              "price": 0,
              "quantity": 0,
              "fulfillmentLocation": {
              "storeId": "string",
              "name": "string",
              "addressLine1": "string",
              "addressLine2": "string",
              "city": "string",
              "state": "string",
              "postalCode": "string",
              "countryCode": "string",
              "email": "string",
              "phone": "string",
              "fax": "string",
              "hours": [
              {
              "day": "string",
              "open": "string",
              "close": "string"
              }
              ],
              "latitude": 0,
              "longitude": 0,
              "storeType": "Regular",
              "timeZoneId": "string",
              "storeGroupID": "string"
              },
              "shippingAddress": {
              "firstName": "string",
              "lastName": "string",
              "addressLine1": "string",
              "addressLine2": "string",
              "city": "string",
              "state": "string",
              "postalCode": "string",
              "countryCode": "string",
              "phone": "string",
              "storeId": "string",
              "emailAddress": "string"
              },
              "deliveryDate": 0,
              "deliveryTimeSlot": "09:00 - 12:00"
              }
            ]
          }
             

          SPI Response Payload

          {
              "shippingMethods": [
              {
              "shippingMethodId": "001",
              "name": "Standard Shipping",
              "description": "string",
              "carrier": "UPS",
              "serviceLevel": "3-5 Days",
              "price": 0,
              "priceAfterShippingDiscount": 0,
              "sortOrder": 0,
              "taxRates": [
              {
              "countryCode": "US",
              "state": "string",
              "postalCode": "string",
              "taxType": "CLASS",
              "chargeType": "TAX",
              "nonRefundable": false,
              "taxRate": 7.25,
              "taxClass": "Tax Class for Shoes and Clothing - PS0001",
              "taxCode": "string",
             

          Additional Omnichannel Shipping Methods Information

          Review information about Omnichannel shipping methods in Point of Sale CMS, such as known issues and frequently asked questions.

          Configuring Multiple Delivery & Pickup Dates

          For details on how to turn on multiple delivery and pickup dates in a single order, refer to this article.

          Order Management System (OMS)

          With this feature, the selected shipping methods are passed to OMS connectors at checkout. Additionally, grouped shipping methods are applied to “Order Delivery Group”. For more information, refer to this article.

          Transaction Logs (TLogs)

          TLogs support multishipment at the item level. The delivery items will have the SaleForDelivery log attribute.

          Known Issues and Restrictions

          The sections below contain known issues and restrictions for Omnichannel shipping methods.

          Online vs. In-Store Shipping Methods

          If a merchant doesn't support multiple shipping methods (Allow multiple shipments per cart/order flag disabled) and has shipment items that are both online and in-store (for example send sale), the POS app will only display the online shipping methods and associated costs. If the store wants to charge a different shipping fee for in-store shipments, we suggest making a different SKU that store workers can be taught to add to the cart.

          Frequently Asked Questions

          The sections below contain frequently asked questions about shipping methods.

          What happens if the cart isn't finalized and the shipping method is selected first for each item? How’s the shipping cost determined in this situation?

          The shipping cost will depend on the shipping preferences selected at each line level. If the items have the same delivery attributes, such as the shipping method and delivery day, they can be grouped into the same delivery group. For example, if each item in the cart shares these same delivery attributes, they’re treated as part of a single delivery group.

           
          Loading
          Salesforce Help | Article