Single and Multi Product Messages

You can only send an interactive message up until 24 hours after receiving a message from the user. If you have not received a message from the user within this time, you will need to start a new conversation by sending a Template message.

You can use Single and Multi Product messages to share your products with customers. See Products and Catalogs.

Single-product messages are designed to focus on one product, highlighting its unique features and benefits. Multi-product messages, on the other hand, offer a wide array of up to 30 items from a business' inventory, providing customers with a comprehensive overview of their product offerings and encouraging cross-selling opportunities.

Users that receive Multi and Single Product Messages can perform 3 main actions:

  1. View products: Customers can see a list of products or just one product. Whenever a user clicks on a specific item, the API fetches the product's latest info and display the product in a Product Detail Page (PDP) format. Currently, PDPs only support product images —any videos and/or GIFs added to the product won’t be displayed in the PDP.

  2. Add products to a cart: A user can add a product to their cart, or amend quantities directly from the list or in the product detail page. Whenever a user adds a product to the shopping cart, the API fetches the item’s latest info. A cart persists in a chat thread between business and customer until the cart is sent to the business —See Shopping Cart Experience for details.

  3. Send a shopping cart to the business: After adding all needed items, customers can send their cart to the business they’re messaging with. After that, businesses can define the next steps, such as requesting delivery info or giving payment options.

If a customer has Multiple devices linked to the same WhatsApp account, the Multi-Product and Single Product Messages will be synced between devices. However, the shopping cart is local to each specific device. See Shopping Cart Experience for details.

How to send Single and Multi-Product Messages

See how to send Interactive Messages using Cloud API hosting in the specific Meta documentation.

Example to send a Product Message

POST https://waba-v2.360dialog.io/messages

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "{{destination_wa_id}}",
  "type": "interactive",
  "interactive": {
    "type": "product",
    "body": {
      "text": "BODY_TEXT"
    },
    "footer": {
      "text": "FOOTER_TEXT"
    },
    "action": {
      "catalog_id": "{{catalog_id}}",
      "product_retailer_id": "{{SKU-1}}"
    }
  }
}

Example to send a Multi-Product Message

POST https://waba-v2.360dialog.io/messages

{
  "messaging_product": "whatsapp",
  "recipient_type": "individual",
  "to": "PHONE_NUMBER",
  "type": "interactive",
  "interactive": {
    "type": "product_list",
    "header":{
      "type": "text",
      "text": "HEADER_CONTENT"
    },
    "body": {
      "text": "BODY_CONTENT"
    },
    "footer": {
      "text": "FOOTER_CONTENT"
    },
    "action": {
      "catalog_id": "CATALOG_ID",
      "sections": [
        {
          "title": "SECTION_TITLE",
          "product_items": [
            { "product_retailer_id": "PRODUCT-SKU" },
            { "product_retailer_id": "PRODUCT-SKU" },
            ...
          ]

        },
        {
          "title": "SECTION_TITLE",
          "product_items": [
            { "product_retailer_id": "PRODUCT-SKU" },
            { "product_retailer_id": "PRODUCT-SKU" },
            ...
          ]
        }
      ]
    }
  }
}

[will be deprecated] If the WABA is registered in On-premise API

As announced in November 2023, Meta is transitioning to a fully Cloud-hosted WhatsApp Business Platform and will stop supporting On-Premise API in October 2025.

Starting from On-Premise client v2.53, all new feature updates will be exclusively delivered to Cloud API. While the On-Premise API client will receive quarterly releases, they will focus solely on bug fixes and security patches. From May 15, 2024, 360dialog will not allow for new numbers to be onboarded with On-Premise API. We will continue supporting already registered On-Premise API throughout 2024, but we strongly recommend to start changing the hosting type of numbers to Cloud as soon as possible. Learn here how to integrate with Cloud API.

See how to send Interactive Messages using On-premise Hosting in the specific Meta documentation.

Example to send a Single Product Message

POST https://waba.360dialog.io/v1/messages

{
    "recipient_type": "individual",
    "to": "{{destination_wa_id}}",
    "type": "interactive",
    "interactive": {
        "type": "product",
        "body": {
            "text": "text-body-content"
        },
        "footer": {
            "text": "text-footer-content"
        },
        "action": {
            "catalog_id": "{{catalog_id}}",
            "product_retailer_id": "{{SKU-1}}"
        }
    }
}

Example to send a Multi-Product Message

POST https://waba.360dialog.io/v1/messages

{
    "recipient_type": "individual",
    "to": "{{destination_wa_id}}",
    "type": "interactive",
    "interactive": {
        "type": "product_list",
        "header": {
            "type": "text",
            "text": "text-header-content"
        },
        "body": {
            "text": "text-body-content"
        },
        "footer": {
            "text": "text-footer-content"
        },
        "action": {
            "catalog_id": "{{catalog_id}}",
            "sections": [
                {
                    "title": "the-section-title",
                    "product_items": [
                        {
                            "product_retailer_id": "{{SKU-1}}"
                        },
                        {
                            "product_retailer_id": "{{SKU-2}}"
                        }
                    ]
                },
                {
                    "title": "the-section-title2",
                    "product_items": [
                        {
                            "product_retailer_id": "{{SKU-1}}"
                        }
                    ]
                }
            ]
        }
    }
}

Receive Responses From Customers

Track webhooks to get questions and orders from customers.

If the WABA is registered in Cloud API

Example: A webhooks notification for when a customer places an order looks like this:

{
  "object": "whatsapp_business_account",
  "entry": [
    {
      "id": "8856996819413533",
      "changes": [
        {
          "value": {
              "messaging_product": "whatsapp",
              "metadata": {
                   "display_phone_number": "16505553333",
                   "phone_number_id": "phone-number-id",
              },
              "contacts": [
                {
                  "profile": {
                    "name": "Kerry Fisher"
                  },
                  "wa_id": "16315551234"
                }
              ],
              "messages": [
                {
                  "from": "16315551234",
                  "id": "wamid.ABGGFlCGg0cvAgo6cHbBhfK5760V",
                  "order": {
                    "catalog_id": "the-catalog_id",
                    "product_items": [
                      {
                        "product_retailer_id":"the-product-SKU-identifier",
                        "quantity":"number-of-item",
                        "item_price":"unitary-price-of-item",
                        "currency":"price-currency"
                      },
                      ...
                    ],
                    "text":"text-message-sent-along-with-the-order"
                  },
                  "context": {
                    "from": "16315551234",
                    "id": "wamid.gBGGFlaCGg0xcvAdgmZ9plHrf2Mh-o"
                  },
                  "timestamp": "1603069091",
                  "type": "order"
                }
              ]
          },
          "field": "messages"
        }
      ]
    }
  ]
}

[will be deprecated] If the WABA is registered in On-Premise API

Example: Customer placed an order after receiving a Multi or Single Product Message

{
   "messages": [ {
      "from": "customer-whatsapp-id",
      "group_id": "group-id",
      "id": "message-ID",
      "timestamp": "message-timestamp",
      "type": "order"
      "order": {
         "catalog_id": "catalog_id",
         "product_items": [
            {
            "product_retailer_id":"product-ID",
            "quantity":"number-of-items",
            "item_price":"unitary-price-of-item",
            "currency":"price-currency"
            },
                 ...
         ],
         "text":"text-message-sent-along-with-the-order"
      }
   }
}

If you are using On-Premise API, remember that it is being discontinued by Meta. No new signups will be allowed with this type of integration from May 15, 2024.

Numbers registered before this date will still be supported, but should start planning a change of hosting type as soon as possible.

Last updated