Request
Usetype as interactive and set interactive.type to carousel.
A product carousel displays 2 to 10 product cards from the same catalog in a horizontally scrollable format. Each card supports the same Single-Product Message actions — view, add to cart, send order.
Field types
to: string (required)type: string =interactive(required)interactive: object (required)interactive.type: string =carousel(required)interactive.body: object (required)interactive.body.text: string (required)interactive.action: object (required)interactive.action.cards: array of objects (required, 2 to 10)interactive.action.cards[].card_index: integer 0-9 (required, unique per message)interactive.action.cards[].type: string =product(required)interactive.action.cards[].action: object (required)interactive.action.cards[].action.product_retailer_id: string (required)interactive.action.cards[].action.catalog_id: string (required)tags: array of strings (optional)metadata: object | string (optional)
Field behavior and limits
interactive.body.textis required, max 1024 characters.interactive.action.cardsmust contain between 2 and 10 cards.interactive.action.cards[].card_indexmust be a unique integer between 0 and 9 across the cards in the message.- Each card must reference the same
catalog_id— a carousel cannot mix products from different catalogs. - Each card must be of
type: "product". - Do not include a
header,footer, orbuttonson the interactive object — the carousel message only acceptsbodyandaction. - Product data (image, name, price, stock) is fetched by WhatsApp at delivery time — the recipient always sees the latest catalog state.
- Cannot be sent as a notification — only inside an existing conversation.