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

Отправленное сообщение с интерактивными кнопками#

Бета-версия

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

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

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

typeWebhook = outgoingMessageReceived || outgoingAPIMessageReceived

messageData.typeMessage = interactiveButtons

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

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

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

  2. Через метод SetSettings включить настройки outgoingMessageWebhook и outgoingAPIMessageWebhook
    (дополнительно outgoingWebhook для получения уведомлений о статусах отправленного сообщения)

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

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

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

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

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

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

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

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

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

{
  "typeWebhook": "outgoingAPIMessageReceived",
  "instanceData": {
    "idInstance": 9903183013,
    "wid": "79301111111@c.us",
    "typeInstance": "whatsapp"
  },
  "timestamp": 1749562107,
  "idMessage": "BAE56A7C7602C683",
  "senderData": {
    "chatId": "79871234567@c.us",
    "chatName": "Ev",
    "sender": "79301111111@c.us",
    "senderName": "я тест",
    "senderContactName": "<><>SWE999Check&8-"
  },
  "messageData": {
    "typeMessage": "interactiveButtons",
    "interactiveButtons": {
      "titleText": "Header text",
      "contentText": "I use Green-API to send this message to you!",
      "footerText": "Footer text",
      "buttons": [
        {
          "type": "copy",
          "buttonId": "1",
          "buttonText": "Copy me",
          "copyCode": "Text copied"
        },
        {
          "type": "call",
          "buttonId": "2",
          "buttonText": "Call me",
          "phoneNumber": "79879876543"
        },
        {
          "type": "url",
          "buttonId": "3",
          "buttonText": "GREEN-API",
          "url": "https://greenapi.com/"
        }
      ]
    }
  }
}