Carousel (CAROUSEL)
A horizontally scrollable list of cards. Each card can include text, an image, and reply buttons.
data schema
{
body: string;
cards: Array<{
id: string;
body: string;
file?: {
url: string;
mime: string;
path: string;
size: number;
fileName: string;
extension: string;
};
replyButtons?: Array<{ id: string; title: string }>;
}>;
}
| Field | Type | Description |
|---|---|---|
body | string | Carousel header / summary text |
cards | array | Card list |
Card fields
| Field | Type | Description |
|---|---|---|
id | string | Card ID |
body | string | Card text |
file | object? | Card image / media |
replyButtons | array? | Buttons on the card (id, title) |
Example
{
"id": "9aef970e-a5c2-4711-8e78-713e50d5aa4c",
"createdAt": "2026-08-03T14:52:19.092Z",
"type": "CAROUSEL",
"nameOfSender": "Support Bot",
"isFromSupport": true,
"data": {
"body": "*La Bien Alaçatı Hotel (İzmir, Çeşme)* — oda seçenekleri · ⭐ 9.2/10",
"cards": [
{
"id": "room_idx1",
"body": "*Standart Oda Bahçe Katı*\n💰 49,999 TL toplam · 🍽️ İadesiz Oda Kahvaltı",
"file": {
"url": "https://os.chatbot.aithinks.net/chat-assets/chats/.../b8986b-1785768738782.jpg",
"mime": "image/jpeg",
"path": "chats/.../b8986b-1785768738782.jpg",
"size": 254512,
"fileName": "b8986b-1785768738782.jpg",
"extension": "jpg"
},
"replyButtons": [
{ "id": "btn_select_room_idx1", "title": "Bu odayı seç" }
]
},
{
"id": "room_idx2",
"body": "*Deluxe Balkonlu Oda*\n💰 64,999 TL toplam · 🍽️ İadesiz Oda Kahvaltı",
"file": {
"url": "https://os.chatbot.aithinks.net/chat-assets/chats/.../8986b4-1785768738865.jpg",
"mime": "image/jpeg",
"path": "chats/.../8986b4-1785768738865.jpg",
"size": 262728,
"fileName": "8986b4-1785768738865.jpg",
"extension": "jpg"
},
"replyButtons": [
{ "id": "btn_select_room_idx2", "title": "Bu odayı seç" }
]
}
]
}
}
UI recommendation
- Show
data.bodyas the header. - Render cards as a horizontally scrollable list; each card should include the
file.urlimage,bodytext, andreplyButtons. - On button click, the selection is usually sent as TEXT;
text= buttontitle,payload= buttonid.