Carousel (CAROUSEL)
Yatay kaydırılabilir kart listesi. Her kart metin, görsel ve yanıt butonları içerebilir.
data şeması
{
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 }>;
}>;
}
| Alan | Tip | Açıklama |
|---|---|---|
body | string | Carousel üst başlık / özet metni |
cards | array | Kart listesi |
Kart alanları
| Alan | Tip | Açıklama |
|---|---|---|
id | string | Kart kimliği |
body | string | Kart metni |
file | object? | Kart görseli / medyası |
replyButtons | array? | Kart üzerindeki butonlar (id, title) |
Örnek
{
"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 önerisi
data.bodyüst başlık olarak gösterin.- Kartları yatay kaydırılabilir liste olarak render edin; her kartta
file.urlgörseli,bodymetni vereplyButtonsbutonları yer alsın. - Buton tıklanınca seçim genelde TEXT olarak gönderilir;
text= butontitle,payload= butonid.