Перейти к основному содержимому

Интерактивные кнопки ответа | Документация для разработчиков

Интерактивные кнопки ответа на сообщения

Обновлено: 3 ноября 2025 г
Интерактивные кнопки ответа позволяют отправлять до трех предопределенных вариантов ответа на выбор пользователя.
Пользователи могут ответить на сообщение, выбрав одну из предопределенных кнопок, что запускает веб-перехватчик сообщений, описывающий их выбор.

Синтаксис запроса

Используйте POST / /messages для отправки сообщения с интерактивными кнопками ответа пользователю WhatsApp.
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": "button", "header": {<MESSAGE_HEADER> }, "body": { "text": "<BODY_TEXT> " }, "футер": { "текст": "<FOOTER_TEXT> " }, "action": { "buttons": [ { "type": "reply", "reply": { "id": "<BUTTON_ID> ", "заголовок": "<BUTTON_LABEL_TEXT> " } }<!-- Additional buttons would go here (maximum 3) --> ] } } }'

Параметры запроса

Заполнитель Описание Пример значения
<ACCESS_TOKEN>
Нить
EAAAN6tcBzAUBOZC82CW7iR2LiaZBwUHS4Y7FDtQxRUPy1PHZClDGZBZCgWdrTisgMjpFKiZAi1FBBQNO2IqZBAzdZAA16lmUs0XgRcCf6z1LLxQCgLXDEpg80d41UZBt1FKJZCqJFcTYXJvSMeHLvOdZwFyZBrV9ZPHZASSqxDZBUZASyFdzjiy2A1sippEsF4DVV5W2IlkOSr2LrMLuYoNMYBy8xQczzOKDOMccqHEZD
<API_VERSION>
Нить
Необязательный.
Версия Graph API.
v25.0
<BODY_TEXT>
Нить
Необходимый.
Основной текст. URL-адреса автоматически преобразуются в гиперссылки.
Максимальное количество символов: 1024.
Привет, Пабло! Твой мастер-класс по садоводству запланирован на завтра, на 9 утра. Если тебе нужно перенести занятие, воспользуйся кнопками. Спасибо!
<BUTTON_ID>
Нить
Необходимый.
Для каждой кнопки присваивается уникальный идентификатор. Поддерживает до 3 кнопок.
Максимальное количество символов: 256.
кнопка изменения
<BUTTON_LABEL_TEXT>
Нить
Необходимый.
Текст надписи на кнопке. Должен быть уникальным, если используется несколько кнопок.
Максимум 20 символов.
Изменять
<FOOTER_TEXT>
Нить
Обязательно, если используется нижний колонтитул.
Текст в нижнем колонтитуле. URL-адреса автоматически преобразуются в гиперссылки.
Максимум 60 символов.
Счастливый кустарник: ваш путь к суккулентам!™
<MESSAGE_HEADER>
Объект JSON
Необязательный.
Содержимое заголовка. Поддерживаются следующие типы:
    документизображениетекствидео
    Медиафайлы можно отправлять, используя  идентификатор загруженного медиафайла или URL- ссылку (не рекомендуется).
    Пример заголовка изображения с использованием идентификатора загруженного медиафайла (одинаковая базовая структура для всех типов медиафайлов):
    { "type": "image", "image": { "id": "2762702990552401" }
    
    Пример заголовка изображения с использованием размещенных медиафайлов:
    { "type": "image", "image": { "link": "https://www.luckyshrub.com/media/workshop-banner.png" }
    
    Пример текстового заголовка:
    { "type":"text", "text": "Подробности мастер-класса" }
    <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": "button", "header": { "type": "image", "image": { "id": "2762702990552401" } }, "body": { "text": "Привет, Пабло! Твой мастер-класс по садоводству запланирован на 9 утра завтра. Используй кнопки, если тебе нужно перенести занятие. Спасибо!" }, "footer": { "text": "Счастливый кустарник: ваш путь к суккулентам!™" }, "action": { "buttons": [ { "type": "reply", "reply": { "id": "change-button", "title": "Изменить" } }, { "type": "reply", "reply": { "id": "cancel-button", "title": "Отменить" } } ] } } }'
    

    Пример ответа

    { "messaging_product": "whatsapp", "contacts": [ { "input": "+16505551234", "wa_id": "16505551234" } ], "messages": [ { "id": "wamid.HBgLMTY0NjcwNDM1OTUVAgARGBI1RjQyNUE3NEYxMzAzMzQ5MkEA" } ] }

    Вебхуки

    Когда пользователь WhatsApp нажимает кнопку «Ответить», срабатывает веб-перехватчик сообщений button_reply :
    "button_reply": { "id": "<BUTTON_ID> ", "заголовок": "<BUTTON_LABEL_TEXT> " }
      — Идентификатор кнопки, на которую нажал пользователь.— Текст подписи кнопки, на которую нажал пользователь.

      Пример веб-перехватчика

      { "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.HBgLMTY0NjcwNDM1OTUVAgARGBJBM0Y4RUU0RUNFQkFDMjYzQUMA" }, "from": "16505551234", "id": "wamid.HBgLMTY0NjcwNDM1OTUVAgASGBQzQThBREYwNzc2RDc2QjA1QTIwMgA=", "timestamp": "1714510003", "type": "interactive", "interactive": { "type": "button_reply", "button_reply": { "id": "change-button", "title": "Change" } } } ] }, "field": "messages" } ] } ] }