Перейти к содержанию

Входящее сообщение с интерактивными кнопками ответа#

Бета-версия

Функциональность находится в режиме бета-версии. Функции могут быть изменены, а также могут работать нестабильно.

В данном разделе описывается формат входящего уведомления объекта messageData для входящего сообщения с интерактивными кнопками. Для получения описания общего формата входящих уведомлений обратитесь к разделу Отправленные сообщения.

Для получения входящих уведомлений данного вида требуется выполнение двух условий:

typeWebhook = incomingMessageReceived

messageData.typeMessage = interactiveButtonsReply

Настройка инстанса

Чтобы получать входящие уведомления о входящих сообщениях, необходимо включить настройки одним из представленных вариантов:

  1. Через личный кабинет включить настройку Получать уведомления о входящих сообщениях и файлах

  2. Через метод SetSettings включить настройку incomingWebhook

Уведомление#

Формат уведомления#

Поля объекта messageData

Параметр Тип Описание
typeMessage string Тип принятого сообщения. Для сообщений данного типа поле принимает значение interactiveButtons
interactiveButtonsReply object Объект данных с кнопками

Поля объекта interactiveButtons#

Параметр Тип Описание
header string Заголовок сообщения
body string Текст сообщения. Поддерживаются символы emoji 😃
footer string Подвал сообщения. Удобен для визуального выделения текста, который относится к кнопкам
buttons array Кнопки сообщения

Поля объекта buttons#

Параметр Тип Описание
type string Тип отправляемого сообщения. Всего существует 1 тип: reply
buttonId string Идентификатор кнопки
buttonText string Текст на кнопке
copyCode string Поле для кнопки с типом COPY, является значением для копирования при нажатии на кнопку
phoneNumber string Поле для кнопки с типом CALL, номер телефона на который будет осуществляться звонок при нажатии на кнопку
url string Поле для кнопки с типом URL, ссылка на которую будет осуществляться переход при нажатии на кнопку

Пример тела уведомления#

{
  "typeWebhook": "incomingMessageReceived",
  "instanceData": {
    "idInstance": 9903183012,
    "wid": "79871234567@c.us",
    "typeInstance": "whatsapp"
  },
  "timestamp": 1749560558,
  "idMessage": "BAE5A7BA6D6E28EB",
  "senderData": {
    "chatId": "79301111111@c.us",
    "chatName": "я тест",
    "sender": "79301111111@c.us",
    "senderName": "я тест",
    "senderContactName": "я тест"
  },
  "messageData": {
    "typeMessage": "interactiveButtonsReply",
    "interactiveButtonsReply": {
      "titleText": "Header text",
      "contentText": "I use Green-API to send this message to you!",
      "footerText": "Footer text",
      "buttons": [
        {
          "type": "reply",
          "buttonId": "1",
          "buttonText": "First Button"
        },
        {
          "type": "reply",
          "buttonId": "2",
          "buttonText": "Second Button"
        },
        {
          "type": "reply",
          "buttonId": "3",
          "buttonText": "Third Button"
        }
      ]
    }
  }
}

Пример тела уведомления с нажатой кнопкой#

{
  "typeWebhook": "incomingMessageReceived",
  "instanceData": {
    "idInstance": 9903183013,
    "wid": "79871234567@c.us",
    "typeInstance": "whatsapp"
  },
  "timestamp": 1749562001,
  "idMessage": "C0CD39BB261589D5C98412D255CD000B",
  "senderData": {
    "chatId": "79301111111@c.us",
    "chatName": "<><>SWE999Check&8-",
    "sender": "79301111111@c.us",
    "senderName": "<><>SWE999Check&8-",
    "senderContactName": "<><>SWE999Check&8-"
  },
  "messageData": {
    "typeMessage": "templateButtonsReplyMessage",
    "templateButtonReplyMessage": {
      "stanzaId": "BAE5A7BA6D6E28EB",
      "selectedIndex": 0,
      "selectedId": "1",
      "selectedDisplayText": "First Button"
    }
  }
}