Request
Usetype as interactive and set interactive.type to product_list.
A multi-product message displays products from your catalog grouped in sections. The recipient can browse, view details, add items to their WhatsApp cart, and send the cart back as an order.
Field types
to: string (required)type: string =interactive(required)interactive: object (required)interactive.type: string =product_list(required)interactive.header: object (required)interactive.header.type: string =text(required)interactive.header.text: string (required)interactive.body: object (required)interactive.body.text: string (required)interactive.footer: object (optional)interactive.footer.text: string (optional)interactive.action: object (required)interactive.action.catalog_id: string (required)interactive.action.sections: array of objects (required)interactive.action.sections[].title: string (required)interactive.action.sections[].product_items: array of objects (required)interactive.action.sections[].product_items[].product_retailer_id: string (required)tags: array of strings (optional)metadata: object | string (optional)
Field behavior and limits
interactive.header.textis required, max 60 characters. The header type must betext.interactive.body.textis required, max 1024 characters.interactive.footer.textis optional, max 60 characters.interactive.action.catalog_idis the ID of the Meta catalog connected to the WhatsApp Business account.interactive.action.sectionsrequires at least 1 section.- Across all sections, at most 30
product_itemsin total. - Product data (image, name, price, stock) is fetched by WhatsApp at delivery time — the recipient always sees the latest catalog state.
- If none of the
product_retailer_idvalues match a product in the catalog, the message is not delivered and an error is returned. If at least one matches, the message is sent and missing items are dropped silently. - Cannot be sent as a notification — only inside an existing conversation.