Интерактивные сообщения в списках | Документация для разработчиков
Интерактивные сообщения списка
Обновлено: 3 ноября 2025 г
Интерактивные сообщения-списки позволяют отображать пользователям WhatsApp список вариантов на выбор (варианты определяются как строки в полезной нагрузке запроса):

Когда пользователь нажимает на кнопку в сообщении, отображается модальное окно со списком доступных вариантов:

Затем пользователи могут выбрать один из вариантов, и их выбор будет отправлен в качестве ответа:

Это запускает веб-перехватчик, который определяет выбранный пользователем вариант.
Интерактивные списки сообщений поддерживают до 10 разделов, при этом общее количество строк во всех разделах не должно превышать 10, и могут включать необязательные верхний и нижний колонтитулы.
Синтаксис запроса
curl 'https://graph.facebook.com/<API_VERSION> /<WHATSAPP_BUSINESS_PHONE_NUMBER_ID> /messages' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer<ACCESS_TOKEN> ' \ -d ' { "messaging_product": "whatsapp", "recipient_type": "individual", "to": "<WHATSAPP_USER_PHONE_NUMBER> ", "type": "interactive", "interactive": { "type": "list", "header": { "type": "text", "text": "<MESSAGE_HEADER_TEXT> " }, "body": { "text": "<MESSAGE_BODY_TEXT> " }, "футер": { "текст": "<MESSAGE_FOOTER_TEXT> " }, "action": { "button": "<BUTTON_TEXT> ", "разделы": [ { "заголовок": "<SECTION_TITLE_TEXT> ", "rows": [ { "id": "<ROW_ID> ", "заголовок": "<ROW_TITLE_TEXT> ", "описание": "<ROW_DESCRIPTION_TEXT> " }<!-- Additional rows would go here --> ] }<!-- Additional sections would go here --> ] } } }'Параметры запроса
| Заполнитель | Описание | Пример значения |
|---|---|---|
<ACCESS_TOKEN>Нить | Необходимый. Системный токен или бизнес-токен . | |
<API_VERSION>Нить | Необязательный. Версия Graph API. | v25.0 |
<BUTTON_TEXT>Нить | Необходимый. Текст надписи на кнопке. При нажатии отображает строки (параметры, которые может выбрать пользователь WhatsApp). Поддерживается одна кнопка. Максимум 20 символов. | Варианты доставки |
<MESSAGE_BODY_TEXT>Нить | Необходимый. Текст сообщения. Поддерживает URL-адреса. Максимальное количество символов: 4096. | Какой способ доставки вы предпочитаете? |
<MESSAGE_FOOTER_TEXT>Нить | Необязательный. Текст в нижней части сообщения. Максимум 60 символов. | Счастливый кустарник: ваш путь к суккулентам™ |
<MESSAGE_HEADER_TEXT>Нить | Необязательный. Объект заголовка является необязательным. Поддерживается текстовый заголовок.Максимум 60 символов. | Выберите способ доставки |
<ROW_DESCRIPTION_TEXT>Нить | Необязательный. Описание строки. Максимальное количество символов: 72. | От следующего дня до двух дней |
<ROW_ID>Нить | Необходимый. Произвольная строка, идентифицирующая строку. Этот идентификатор будет включен в полезную нагрузку веб-перехватчика, если пользователь выберет нужный вариант. Требуется как минимум одна строка. Поддерживается до 10 строк. Максимум 200 символов. | приоритет_экспресс |
<ROW_TITLE_TEXT>Нить | Необходимый. Заголовок строки. Требуется как минимум 1 строка. Поддерживается до 10 строк. Максимум 24 символа. | Экспресс-почта Priority Mail |
<SECTION_TITLE_TEXT>Нить | Необходимый. Текст заголовка раздела. Требуется как минимум 1 раздел. Поддерживается до 10 разделов. Максимум 24 символа. | Мне это нужно как можно скорее! |
<WHATSAPP_BUSINESS_PHONE_NUMBER_ID>Нить | Необходимый. Идентификатор бизнес-телефона WhatsApp. | 106540352242922 |
<WHATSAPP_USER_PHONE_NUMBER>Нить | Необходимый. Номер телефона пользователя WhatsApp. | +16505551234 |
Пример запроса
Пример запроса на отправку интерактивного сообщения в виде списка, содержащего заголовок, тело сообщения, нижний колонтитул и два раздела, каждый из которых состоит из двух строк.
curl 'https://graph.facebook.com/ v25.0 /106540352242922/messages' \ - H 'Content-Type: application/json' \ - H 'Authorization: Bearer EAAJB...' \ - d ' { "messaging_product": "whatsapp", "recipient_type": "individual", "to": "+16505551234", "type": "interactive", "interactive": { "type": "list", "header": { "type": "text", "text": "Выберите вариант доставки" }, "body": { "text": "Какой вариант доставки вы предпочитаете?" }, "футер": { "текст": "Счастливый кустарник: ваш путь к суккулентам™" }, "действие": { "кнопка": "Варианты доставки", "разделы": [ { "заголовок": "Мне нужно как можно скорее!", "строки": [ { "id": "priority_express", "title": "Приоритетная почта экспресс", "описание": "От следующего дня до 2 дней" }, { "id": "priority_mail", "title": "Приоритетная почта", "описание": "1–3 дня" } ] }, { "заголовок": "Я могу немного подождать", "строки": [ { "id": "usps_ground_advantage", "title": "USPS Ground Advantage", "описание": "2–5 дней" }, { "id": "media_mail", "title": "Media Mail", "описание": "2–8 дней" } ] } ] } } }'Пример ответа
{ "messaging_product": "whatsapp", "contacts": [ { "input": "+16505551234", "wa_id": "16505551234" } ], "messages": [ { "id": "wamid.HBgLMTY0NjcwNDM1OTUVAgARGBI1RjQyNUE3NEYxMzAzMzQ5MkEA" } ] }Вебхуки
Когда пользователь WhatsApp выбирает опцию и отправляет сообщение, срабатывает веб-перехватчик сообщений
id ) выбранной опции.{ "object": "whatsapp_business_account", "entry": [ { "id": "102290129340398", "changes": [ { "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "15550783881", "phone_number_id": "106540352242922" }, "contacts": [ { "profile": { "name": "Pablo Morales" }, "wa_id": "16505551234" } ], "messages": [ { "context": { "from": "15550783881", "id": "wamid.HBgLMTY0NjcwNDM1OTUVAgARGBIwMjg0RkMxOEMyMkNEQUFFRDgA" }, "from": "16505551234", "id": "wamid.HBgLMTY0NjcwNDM1OTUVAgASGBQzQTZDMzFGRUFBQjlDMzIzMzlEQwA=", "timestamp": "1712595443", "type": "interactive", "interactive": { "type": "list_reply", "list_reply": { "id": "priority_express", "title": "Priority Mail Express", "description": "Next Day to 2 Days" } } } ] }, "field": "messages" } ] } ] }