What is WhatsApp Catalog


WhatsApp Business users can share their products and services with customers by creating a catalog, which is displayed on their business profile. 


The WhatsApp Catalog Feature is a powerful tool designed to enhance the business experience within the WhatsApp messaging platform. With this feature, businesses can showcase their products and services visually appealingly, providing a seamless shopping experience for customers directly within the chat interface.


We will explore the key functionalities and benefits of the WhatsApp Catalog Feature, guiding businesses on how to leverage this tool to maximize their online presence and streamline customer interactions.


Key Features:


  1. Product Showcase: 

    1. Businesses can display a rich catalog of their products and services, complete with images, descriptions, and prices.

    2. Each item in the catalog is presented in a visually engaging format, allowing customers to browse and discover products effortlessly.

  2. Categorized Collections:

    1. Catalogs can be organized into different categories, making it easy for customers to navigate and find specific products of interest.

    2. Businesses can create and manage multiple collections, ensuring a well-organized and user-friendly shopping experience.

  3. Detailed Product Information:

    1. Comprehensive product details such as specifications, sizes, colors, and more can be included in the catalog.

    2. This feature enables businesses to provide customers with all the necessary information they need to make informed purchasing decisions.

  4. Quick Replies for Seamless Interaction:

    1. Customers can directly add the items to the cart or inquire about products directly through the catalog using the button.

    2. Businesses can set up predefined responses to common queries, ensuring efficient and prompt communication.



Components


The catalog message mainly consists of 4 components as presented in the below images: a) Mult-Product Message  & b) Single-Product Message


   


When a customer taps the View catalog button, your product catalog appears within WhatsApp.



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


  1. View products:

    1.  Customers can see a list of products or just one product. 

    2. Whenever a customer clicks on a specific item, we fetch the product's latest info and display the product in a Product Detail Page (PDP) format.

    3. 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: 

    1. Whenever a user adds a product to the shopping cart, we fetch the item’s latest info. 

    2. If there has been a state change on any of the items, we display a dialog saying "One or more items in your cart have been updated" — See Product Updates for more information. 

    3. A cart persists in a chat thread between you and your customer until the cart is sent to you.

  3. Send a shopping cart to you: 

    1. After adding all needed items, customers can send their cart to you. 

    2. After that, you can define the next steps, such as requesting delivery info giving payment options using the free-form messages, or connecting out Exotel Chatbot for a better solution.





Limitations


Currently, these types of messages can be received on the following platforms:


  1. iOS: 2.21.100 (Multi-Product Messages) and 2.21.210 (Single-Product Messages).

  2. Android: 2.21.9.15 (Multi-Product Messages) and 2.21.19 (Single-Product Messages).

  3. Web: The web client that supports these features has been launched.

  4. Customers can add up to 99 units of each single catalog item to a shopping cart, but there is no limit on the number of distinct items that can be added to a cart.

  5. Once a cart has been sent, no edits can be made. Customers can send a new cart if they need new items, or would like to change their order. Businesses cannot send carts to customers.

  6. Messages containing information about a single product or up to 30 products from your product catalog.


If the customer's app version does not support Multi- or Single-Product Messages, they will instead receive a message explaining that they were unable to receive a message because they are using an outdated version of WhatsApp. 




Expected Behavior for Messages


Multi-Product Messages and Single-Product Messages can be:


  1. Forwarded by one user to another.

  2. Reopened by a user within the same conversation.



Pre-Requisites


Create your WhatsApp Business Account


You can skip this part if you already have a WhatsApp Business Account.


  1. Sign up for Business Manager.

  2. Complete business verification.

  3. Create the Exotel Account with KYC.

  4. Onboard a number to the WhatsApp Messaging console, which will create your WhatsApp Business Account. 

    1. Follow this step-by-step guide for more information - WhatsApp Business Account Onboarding.


Enable Cart & Catalog storefront icon (optional)


You can enable or disable the shopping cart and the product catalog on a per-business phone number basis. By default, the shopping cart is enabled and the storefront icon is hidden for all business phone numbers associated with a WhatsApp Business Account.


When enabled, the catalog storefront icon and catalog-related buttons appear in conversation and business profile views as shown below:


Enable Cart: When enabled, cart-related buttons appear in the conversation, catalog, and product details views: 


Enable Catalog: When enabled, the catalog storefront icon and catalog-related buttons appear in conversation and business profile views:



When the catalog is disabled, the storefront icon and catalog-related buttons will not appear in any views and the catalog preview with thumbnails will not appear in the business profile view.



Requirements


  1. Connected Phone Number: The status of the number on which you want to enable the catalog should be Active. This can be checked from your WhatsApp Business Manager Account from the Meta or Exotel WhatsApp console.



  1. Compliance for India Region (Mandatory): Businesses based in India must comply with all online selling laws as explained in the below section - Read more here from the Meta document - Comply with laws for selling on WhatsApp Platform in India

    We at Exotel will get this information updated for your WhatsApp business number. The below section covers the details required for you to comply with the Meta policy here - Enable the Catalog with Exotel



Let's start to Enable and Set Up the Catalog for your business


Now that you have understood what is the WhatsApp Catalog and its capabilities, get ready with all the required details explained in the Pre-Requisites section and get started.


WhatsApp Catalog Feature Glossary:


  1. Enable Cart & Catalog Features:

    1. Enable Cart Button (Optional): Activate this feature if you wish to allow users to add items to their cart and place orders via WhatsApp. If you prefer not to facilitate orders through WhatsApp, you can request to disable this option.

    2. Enable/Disable Catalog Storefront Icon (Optional): This feature allows you to display your catalog in your business number's profile section. Enabling this option enables users to view and purchase products without the need for direct messages.

  2. Compliance with Indian Laws and Regulations: To sell in the Indian region, businesses must adhere to local laws and regulations. This involves providing accurate business details as per the policies outlined for selling online on the WhatsApp Business Platform in India.

  3. Create the Catalog on Meta

  4. Setup the Catalog on Meta

  5. Assign the access to the Partner (BSP)

  6. Connect your Catalog to the WhatsApp Business Account

  7. Send the Catalog Messages


Enable Cart & Catalog Features

Raise a Feature Enable request to support:


Enable the Catalog Cart, Storefront icon & Compliance Information by filling in this form and raising it to our support team to get the Cart, and Catalog enabled with the compliance approved for your number - Enable WhatsApp Catalog Form


The form consists of details as following which are mandatory to set up the catalog :


  1. Customer & Account Details:

    1. Email ID

    2. WABA ID

    3. Phone Number on which the catalog needs to be enabled (raise multiple forms for each phone number)

    4. Exotel Account SID

  2. Disable/Enable Cart button on the number (Optional) - 

    1. Enable this only if you want to allow users to add items to the cart and send you the order. 

    2. If you just want to display the catalogs and do not want the user to place any order via WhatsApp then you ask us to disable the Cart option.

    3. By default, this feature is enabled by Meta and you can disable it by providing the consent in the feature request form.  

  3. Enable/Disable Catalog storefront icon on the number (Optional) - 

    1. This allows you to display the Catalog on the Business number under the profile section.

    2. You can enable it on request where users can view and purchase the products without you sending any messages.

    3. By default, this feature is disabled by Meta and you can enable it by providing the consent in the feature request form. 

  4. Comply with the Indian laws and regulations - To sell in India region, you need to comply with the policy by providing your Business details. Read more here: Comply with laws for selling online on the WhatsApp Business Platform in India

Provide the following compliance information for your business:

  1. Legal name of business: Enter the full legal name of your business.

  2. Business type: Select your business type. The options include:

    1. Limited liability partnership

    2. Sole proprietorship

    3. Partnership

    4. Public Company

    5. Private Company

    6. Other

Note: If you select Partnership or Other as your business type, you will be asked if your business is registered under applicable laws (Yes or No). We assume that your business is registered under applicable law for all other options.

  1. Grievance officer information: Enter the contact information of the individual who will respond to and resolve any complaints from your customers.

    1. Name

    2. Email Address

    3. Contact Number

  2. Customer Care information: Enter the contact information of the individual who will respond to and resolve any support issues from your customers.

    1. Name

    2. Email Address

    3. Contact Number


This is a mandatory step to enable the Catalog feature and start selling in the India region. 


In parallel, you can start the steps mentioned below to create and set up your catalog. Let us try to understand the steps to Create and set up the catalog.


Create the Catalog


To create a Catalog, you will need access to the Meta Facebook account.


  1. Login to the Meta Business Manager Account with your admin access and go to the Commerce Manager as shown below or Click this link - https://business.facebook.com/commerce  



  1. Please verify the correct Meta Business Account selected in the Top Left dropdown as highlighted in blue in the above image.

  2. Once you open the Commerce Manager page with the correct Business Account, Click on the Add Catalogue button.


  1. Provide the basic details for your catalog like: 

    1. Select the Catalogue type that best describes the items that you sell.



  1. Now the second step is to Configure Settings, here you will have to choose the method of the inventory management and how would you want to upload the products to your catalogs. There are 2 methods:

    1. Google Sheet or Manual Upload: Here we will be covering the manual and the automated sheet method which allows you to add your items in bulk, Select the first method Upload Product Info option here.





  1. Connect E-commerce Platform: Additionally, businesses can also select the second option ‘Connect E-commerce Platform’ if they want to connect their 3rd party platform where you can automatically import items using a partner platform such as Shopify, BigCommerce, and more.
    Connect your catalog with your selected E-commerce Platform.


  1. Next, Select your own Meta Business Account in the dropdown under the Owner field, this will map this catalog to your Meta business account.

  1. Provide the name of your Catalog in the Catalogue Name section.

  2. Click on the Create button.


Please follow the below gif/image for reference.





Setup the Catalog


Now that you have created the catalog under your Meta business account, let us see how to set up the catalog and add items to it.


  1. Once the catalog is created under your Business Account you will be taken back to the home page, click on the Items option under the Catalogue section from the LHS Navigation bar.

  2. Click on the Add Items button from the top right.

  3. There are several ways to add items to your catalogue in Commerce Manager:

    1. Manual: Add items using a manual form in Commerce Manager.

    2. Data feed: Upload a spreadsheet or XML file from your computer or a file hosting website to add items in bulk. You can upload a file once or set up scheduled uploads to happen hourly, daily or weekly.

    3. Partner platform: If you already host your items on a partner platform that has an integration with Meta, you can import items to your catalogue in Commerce Manager. You can then continue to manage your items on your partner platform and any updates will automatically sync to Commerce Manager.

    4. Meta pixel: Import and update items automatically from your website using a pixel. This method is more complex to set up. You may need help from a developer to install microdata tags on your website.


Let us try to understand the Data Feed method in details:


This method allows you to upload the items in bulk and auto-sync the inventory based on the updates done in the sheet. Please follow the below steps:

  1. Download Template and Edit: After clicking on Add Items, Select the second option Data Feed, and then it will provide you with the Sample Template Sheet to use for the Data Feed. 

  2. Click on the Download Template button which appears in the RHS section.

  3. Open a new Google Sheets and import the newly downloaded file from the Meta console.

  4. Provide the name to this catalog file, this will be the primary source of all the items for your catalog with all the details.

  5. Please fill in all the mandatory details that are marked as #Required in the first row in the imported sample template, you can ignore the Optional columns or fill them as per your requirements.



  1. Important Step: For selling in the India region, you will have to manually add a few more columns to the sheet as mentioned below.

    1. The manual column headers to be added are: 

      1. origin_country

      2. Importer_name

      3. Importer_address

      4. Manufacturer_info

      5. wa_compliance_category 

    2. Please make sure you copy the exact text from here and paste it into the title row similar to other existing options (anywhere in the sheet). 

    3. The details for all the mandatory columns and the above India region specific columns are explained below with a sample sheet attached for your reference. Please refer to it for better understanding.

  2. Below are the mandatory details that need to be filled in your Catalog Google Sheet as explained below:


Attribute (Column)

Description

id (mandatory)

A unique content ID for the item. Use the item's SKU if you can. Each content ID must appear only once in your catalog. 

  • Character limit: 100. 

  • Example: 3241    

title (mandatory)

A specific and relevant title for the item. See title specifications. 

description (mandatory)

A short and relevant description of the item. Include specific or unique product features like material or color. Use plain text and don't enter text in all capital letters. 

availability (mandatory)

The current availability of the item. Supported values: 

  • in stock

  • out of stock

condition (mandatory)

The current condition of the item. Supported values: 

  • new

  • used

price (mandatory)

The price of the item. Format the price as a number followed by the 3-letter currency code (ISO 4217 standards). Use a period (.) as the decimal point; don't use a comma.

  • Example: 500.00 INR, 999.99 INR

link (mandatory)

The URL of the specific product page where people can see and buy the item.

  • Example: http://www.jaspersmarket.com/products/shirt

image_link (mandatory)

The URL for the main image of your item. 

  • Images must be in a supported format JPG/GIF/PNG.

  • With a resolution of at least 500 x 500 pixels.

  • Example: http://www.jaspersmarket.com/products/shirt.jpg

brand (mandatory)

The brand name of the item. You can also enter a unique manufacturer part number (MPN) or Global Trade Item Number (GTIN) instead. A GTIN can be one of the following:

  • UPC, EAN, JAN or ISBN. 

  • Character limit: 100.

  • Example: Jasper's Market

origin_country (mandatory and needs to be added manually for the India region)

The item's country of origin. Enter the two-letter ISO country code

  • Example value: IN

importer_name (mandatory and needs to be added manually for the India region)

If the country of origin is not India, provide the legal entity name of the item's importer

  • Example value: Jasper's Market Inc.

importer_address (mandatory and needs to be added manually for the India region)

If the country of origin is not India, provide the operational address of the importer. This field uses a JSON structure, which contains the following fields:

  • street1 - string, required. The first line of the street address

  • street2 - string, optional. The second line of the street address.

  • city - string, required. The city name.

  • region - string, optional. The region, state or province. (In the US this is to be used for US State)

  • postal_code - string, optional (in the US this is to be used for Zip Code)

  • country - required. Enter the ISO Country code (2-letter country code)



The overall address will be displayed to users in the following format: street1, street2 (if present), city, region (if present) postal_code (if present), country (full name, localized for the user).



  • This example value: { street1: "1 Hacker Way", street2: "Building 18", city: "Menlo Park", region: "CA", postal_code: "94025", country: "US" }

  • This will be rendered as "1 Hacker Way, Building 18, Menlo Park, CA 94025 United States of America"


manufacturer_info

(mandatory and needs to be added manually for the India region)


Required for Shops only.


Information about the product's manufacturer, such as the manufacturer's name and address.

  • Example: The Manufacturer Co. - 1 Hacker Way, Menlo Park, CA 94025 USA

wa_compliance_category (mandatory and needs to be added manually for the India region)

Required for selling on WhatsApp only.


If the item is a non-physical good sold in India, such as a service, use this field to indicate that the item is exempt from providing the country of origin (origin_country), importer name (importer_name) and importer address (importer_address).


Supported values (case sensitive):

  • COUNTRY_ORIGIN_EXEMPT: The item is exempt.

  • DEFAULT: The item is not exempt. This is the default value if you leave the field blank.


Sample Filled Sheet: Exotel Sample Catalog



  1. Once the data in the Google sheet is updated, click on Share, select Anyone with the link from General Access, and set it as View. Basically, make this sheet accessible to all with the link. 

  2. Copy the View All accessible URL of the Google Sheet and paste it into the Data Sources> Upload Data Feed section and click on Next. Refer to the below GIF.

  3. Now Set up the data sync-up time based on your requirements, this will auto-update the data from the uploaded sheet on a recurring basis. 

  4. Click on Confirm, this will take some time to upload the inventory based on the data size. 

  5. Once uploaded, check for the issues in the Issues section and try to resolve them if any. 
    You can refer to this document for some FAQs: Troubleshoot data feed errors in your catalog 

  6. Now the items present in the sheet added by you should be visible once they are successfully added. The catalog is now ready!!




Assign access to the Partner


Now that you have created the catalog and added items to the catalog by setting it up with your source data feed, enable Exotel to have the access to this Catalog as a BSP to start sending and receiving the messages. 


Follow the below steps to provide us the Partner access to your catalog. 


  1. Login to your Meta Business Account and Go to the Business Settings - https://business.facebook.com/settings/product-catalogs 

  2. Navigate to the Data Sources section from the LHS navigation bar.

  3. Click on Catalogue and search for your catalog with the name that was created above.

  4. Navigate and Click on the Assign Partners button

  5. Select the first option Business ID and paste this Ameyo BSP Business ID: 258365684821485.

  6. It will open a dialogue box asking for the level of access, Provide the Full Control by selecting the Manage Catalogue toggle as shown below.

  7. Click on Done.


Please refer to the below GIF.

Connect your catalog to your WABA


You need to connect the catalog to your WhatsApp Business Account to enable the Catalog messages to send or receive by your WhatsApp phone number. Please follow these last steps before you launch yoru catalog:


  1. Please login to your Meta Business Account and go to the WhatsApp Business Manager account  - https://business.facebook.com/wa/manage/home 

  2. Select the correct WhatsApp Business Manager Account (WABA) where you want to connect this Catalog which has the Phone number present.

  3. Go to the Catalogue section from the LHS navigation bar.

  4. Click on the Connect Catalogue button. 

    1. Please make sure that the user trying to connect a catalog has full access to the Catalogue. If not, then they will not be able to see the Catalog name in the dropdown. In such cases check the following things:

      1. If the catalog is created by you and someone else is trying to connect the catalog then that person should be granted full access to the catalog. Go to the Meta business settings >> Data Sources >> Catalogue >> Search Catalog >> Click on the name >> Assign People >> Add Email ID >> Full Control



  1. If the catalog is not created by you (seller) then reach out to your respective account manager or raise a ticket to our support on hello@exotel.in to get full access to the catalog by providing the catalog name & ID.


  1. Once you see the required catalog, select it and click on Done.


Please refer to this GIF to learn how to connect a Catalog to a WhatsApp Business Account


You are now ready to send messages to your users on WhatsApp. Please check the below section ‘Send Catalog Product Messages’ to learn how to send the catalog messages over WhatsApp.


Send Catalog Product Messages


Now you are ready to Send the Product catalog messages Businesses have multiple ways to share products with customers:


  1. Catalog Link Messages: Messages containing catalog thumbnails and a link to your entire product catalog.

  2. Product Messages: Messages containing information about a single product or up to 30 products from your product catalog.

  3. Catalog Template Messages: Template messages containing a button that, when tapped, displays your product catalog within WhatsApp. (to be supported soon)

  4. Multi-Product Template Messages: Template messages containing information about up to 30 products from your e-commerce catalog, organized in up to 10 sections, in a single message. (to be supported soon)


We will be covering points 1 & 2 below:


Before you start you will require these details:


  • catalog_id: This is your unique ID for the catalog. You can get the Catalog ID from your Commerce Manager - https://business.facebook.com/commerce/catalogs/

    1. Select your catalog from the Catalogue section.

    2. Go to the Settings option from the LHS navigation bar.

    3. Go to the Catalogue section from the newly opened Settings section.

    4. You will find the Catalog ID as highlighted in the below image.


  • product_retailer_id (content id): This is the unique ID of the item that you want to send as a catalog message.

    1. You can only send a single item in the Single Product Message catalog.

    2. You can get the product_retailed_id from the Meta Commerce Console, under the Items section here - https://business.facebook.com/commerce/catalogs/ 

    3. Go to Commerce Manager >> Items >> Search for your Item >> Copy the Content ID and share it in the API.

    4. This is the same ID as provided in the Data feed sheet in the first column



Postman Collection


WhatsApp Product Catalog API 


Single-Product Messages

To send a Single-Product Message, assemble an interactive object of type product with the following components:



Object

Description

body

Optional.

A body object. See all options for the body object.

footer

Optional.

A footer object. See all options for the footer object.

action

Required.

The action field must include:

catalog_id: ID for the catalog you want to use for this message. Retrieve this ID via Commerce Manager.

product_retailer_id: A product’s unique identifier.



Sample Request: 



{

   "custom_data""ORDER123456",

   "status_callback""https://abc.com",

   "whatsapp": {

       "messages": [

           {

               "from""9172XXXXXXXX",

               "to""9199XXXXXXXX",

               "content": {

                   "type""interactive",

                   "interactive": {

                       "type""product",

                       "body": {

                           "text""Now shop all our products from here on WhatsApp! "

                       },

                       "footer": {

                           "text""Thanks"

                       },

                       "action": {

                           "catalog_id""95675XXXXXXXX",

                           "product_retailer_id""XXXX"

                       }

                   }

               }

           }

       ]

   }

}



Multi-Product Messages

To send a Multi-Product Message, assemble an interactive object of type product_list with the following components:



Object

Description

header

Required.

The header’s type must be set to text. Remember to add a text object with the desired content. See all available header fields.

body

Required.

A body object. See all options for the body object.

footer

Optional.

A footer object. See all options for the footer object.

action

Required.

The action field must include:

catalog_id: ID for the catalog you want to use for this message. Retrieve this ID via Commerce Manager.

sections: Array of section objects. You must include at least one section.


Inside each section, you can include the following:

title: Include a title for each section if you plan to use more than one.

product_items: Array of product objects that should be displayed.


Each product object contains a product_retailer_id, which corresponds to a product’s unique identifier. Retrieve this ID via Commerce Manager. See all options for the action object.




Sample Request:



{

   "custom_data""ORDER123456",

   "status_callback""https://abc.com",

   "whatsapp": {

       "messages": [

           {

               "from""+9199XXXXXXXX",

               "to""+9199XXXXXXXX",

               "content": {

                   "type""interactive",

                   "interactive": {

                       "type""product_list",

                       "header": {

                           "type""text",

                           "text""header"

                       },

                       "body": {

                           "text""text-body-content"

                       },

                       "footer": {

                           "text""text-footer-content"

                       },

                       "action": {

                           "catalog_id""652XXXXXXX",

                           "sections": [

                               {

                                   "title""Book on mindset",

                                   "product_items": [

                                       {

                                           "product_retailer_id""10XX"

                                       },

                                       {

                                           "product_retailer_id""99XX"

                                       }

                                   ]

                               },

                               {

                                   "title""Book on self development",

                                   "product_items": [

                                       {

                                           "product_retailer_id""10XX"

                                       }

                                   ]

                               }

                           ]

                       }

                   }

               }

           }

       ]

   }

}


These required details are the same as Single Product Messages, the only change is that you can share multiple product items in this message in form of the sections.


Each section will have its own items visible and categorized separately. You can construct the API body as per your requirements.


Catalog Link Messages


Businesses can send a link to their entire product catalog by assembling a wa.me link and including it in a standard text message. 

  • When sending a text message, businesses can use the optional preview_url set to true to have the message render a set of product catalog thumbnails of any URL in the message body string.

  • Note: If businesses disable the catalog, wa.me links and the View Catalog button in catalog link messages will display an Invalid catalog link message when tapped.


To assemble wa.me link, append the business's business phone number, including country code, to the end of the following string: https://wa.me/c/


For example

https://wa.me/c/15555451111




Shopping Cart Experience


After viewing products, a customer can add them to their shopping cart and send that cart to a business. For the purposes of commerce on WhatsApp, a shopping cart:


  • Is unique to a person/business chat thread in a specific device: Only one cart is created per chat thread between customer and business and carts do not persist across multiple devices. Once a cart is sent, the customer can open another cart with the business and start the process again.

  • Has no expiration date: The cart persists in the chat thread until it is sent to the business. Once sent, the cart is cleared.



A business can only send upto 30 items in the multi-product message to the customer.


Once a cart has been sent, no edits can be made. Customers can send a new cart if they need new items, or would like to change their order. Businesses cannot send carts to customers.




Missing Items


  • If none of the items provided in the API calls above matches a product from the business’s Facebook catalog, an error message is sent and the Multi or Single Product Message is not sent to the user.

  • For Multi-Product Messages, at least one item from the products list must match an item from the business’s Facebook Catalog. In this case:

    • Messages are sent successfully.

    • Items without a match are dropped.

    • The business receives an error message asking for a catalog update.




FAQs


  1. Update a Data Feed for a Catalog in Commerce Manager | Meta Business Help Center

  2. How to Upload Items to a Catalog With a Data Feed in Commerce Manager | Meta Business Help Center

  3. Troubleshoot data feed errors in your catalog | Meta Business Help Center   

  4. How to add a Google or Facebook product category for items in your catalog | Meta Business Help Center 

  5. Comply with the Laws for Selling Online on WhatsApp Business Platform in India | Meta Business Help Center