Skip to main content

Catalogue & Product messages

Catalogue and product messages let users browse your products and add them to a shopping cart without leaving WhatsApp. When a user sends their cart, you receive it as an order on your MO webhook.

Message typeShows
Catalogue messageA View catalog button that opens your entire catalogue.
Single product messageOne product, presented as a product detail page.
Product list messageA selection of up to 30 products, grouped in sections.

All three are interactive messages and can only be sent within the customer service window.

Before you begin​

  • Create a product catalogue in Meta's Commerce Manager and add your products.
  • Connect the catalogue to your WhatsApp Business Account.
  • Link your WhatsApp Business number to the corresponding Facebook Business page.

For details, see Meta's commerce guide.


Catalogue message​

A catalogue message contains a View catalog button. When the user taps it, your full catalogue opens in WhatsApp.

Catalogue message

FieldRequiredDescription
typeYescatalog_message
body.textYesMessage text.
footer.textNoFooter text.
action.nameYescatalog_message
Catalogue message
{
"messages": {
"authentication": {
"productToken": "YOUR_PRODUCT_TOKEN"
},
"msg": [
{
"from": "00316098765432",
"to": [
{ "number": "00316012345678" }
],
"body": {
"type": "auto",
"content": "Fallback text"
},
"allowedChannels": ["WhatsApp"],
"richContent": {
"conversation": [
{
"interactive": {
"type": "catalog_message",
"body": {
"text": "Check out our product catalogue!"
},
"footer": {
"text": "Enjoy great products!"
},
"action": {
"name": "catalog_message"
}
}
}
]
}
}
]
}
}

Single product message​

A single product message shows one product from your catalogue.

Single product message

FieldRequiredDescription
typeYesproduct
body.textNoMessage text.
footer.textNoFooter text.
action.catalog_idYesID of your catalogue in Commerce Manager.
action.product_retailer_idYesRetailer ID (content ID) of the product.

The example below shows the conversation item. Place it in a request like the catalogue message example.

Single product message
{
"interactive": {
"type": "product",
"body": {
"text": "Do you want to enjoy the fun of a new mousepad?"
},
"footer": {
"text": "Limited edition, only 1 per order."
},
"action": {
"catalog_id": "123456789012345",
"product_retailer_id": "cmcomdevelop-mousepad"
}
}
}

Product list message​

A product list message shows up to 30 products, grouped into sections.

Product list message

FieldRequiredDescription
typeYesproduct_list
headerYesHeader of type text.
body.textYesMessage text.
footer.textNoFooter text.
action.catalog_idYesID of your catalogue in Commerce Manager.
action.sections[].titleYesSection title.
action.sections[].product_items[].product_retailer_idYesRetailer ID of each product. Up to 30 products in total.
Product list message
{
"interactive": {
"type": "product_list",
"header": {
"type": "text",
"text": "New products"
},
"body": {
"text": "Hi! We have some new products in stock."
},
"action": {
"catalog_id": "123456789012345",
"sections": [
{
"title": "Products",
"product_items": [
{ "product_retailer_id": "cmcomdevelop-frisbee" },
{ "product_retailer_id": "cmcomdevelop-coaster" },
{ "product_retailer_id": "cmcomdevelop-mousepad" }
]
}
]
}
}
}

Next steps​