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

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

Бета-версия

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

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

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

typeWebhook = incomingMessageReceived

messageData.typeMessage = interactiveButtonsReply

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

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

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

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

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

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

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

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

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

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

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

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

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

{
  "typeWebhook": "incomingMessageReceived",
  "idMessage": "BAE5A7BA6D6E28EB",
  "instanceData": {
    "idInstance": 9903183012,
    "wid": "79876543210@c.us",
    "typeInstance": "whatsapp"
  },
  "timestamp": 1749560558,
  "senderData": {
    "chatId": "79123456789@c.us",
    "chatName": "Иван",
    "sender": "79123456789@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",
  "idMessage": "C0CD39BB261589D5C98412D255CD000B",
  "instanceData": {
    "idInstance": 9903183013,
    "wid": "79876543210@c.us",
    "typeInstance": "whatsapp"
  },
  "timestamp": 1749562001,
  "senderData": {
    "chatId": "79123456789@c.us",
    "sender": "79123456789@c.us",
    "senderName": "Иван",
    "senderContactName": "Иван Царевич",
    "chatName": "Иван",
  },
  "messageData": {
    "typeMessage": "interactiveButtonsResponse",
    "quotedMessage": {
        "typeMessage": "interactiveButtons",
        "interactiveButtons": {
            "titleText": "заголовок",
            "contentText": "SendInteractiveButtonsReply",
            "footerText": "Подвал",
            "buttons": [
                {
                    "type": "reply",
                    "buttonId": "1",
                    "buttonText": "кнопка 1"
                },
                {
                    "type": "reply",
                    "buttonId": "2",
                    "buttonText": "кнопка 2"
                },
                {
                    "type": "reply",
                    "buttonId": "3",
                    "buttonText": "кнопка 3"
                }
            ]
        },
        "stanzaId": "3EB0A5815E6EBF7DE71DE3",
        "participant": "79876543210@c.us"
    },
    "interactiveButtonsResponse": {
        "stanzaId": "3EB0A5815E6EBF7DE71DE3",
        "selectedIndex": 0,
        "selectedId": "1",
        "selectedDisplayText": "кнопка 1"
    }
}
}