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

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

Бета-версия

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

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

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

typeWebhook = outgoingMessageReceived || outgoingAPIMessageReceived

messageData.typeMessage = interactiveButtons

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

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

Поля объекта 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, ссылка на которую будет осуществляться переход при нажатии на кнопку

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

Пример тела уведомления кнопок отправленных методом sendInteractiveButtons#

{
    "type": "incoming",
    "idMessage": "BAE53E7C37B3C05A",
    "timestamp": 1747817915,
    "typeMessage": "interactiveButtons",
    "chatId": "79081152219@c.us",
    "interactiveButtons": {
        "titleText": "Header",
        "contentText": "Body",
        "footerText": "Footer",
        "buttons": [
            {
                "type": "copy",
                "buttonId": "1",
                "buttonText": "Copy me",
                "copyCode": "3333",
                "phoneNumber": null,
                "url": null
            },
            {
                "type": "call",
                "buttonId": "2",
                "buttonText": "Call me",
                "copyCode": null,
                "phoneNumber": "79329843267",
                "url": null
            },
            {
                "type": "url",
                "buttonId": "3",
                "buttonText": "Green-api",
                "copyCode": null,
                "phoneNumber": null,
                "url": "https://green-api.com"
            }
        ]
    },
    "senderId": "79081152219@c.us",
    "senderName": "",
    "senderContactName": ""
}

Пример тела уведомления кнопок отправленных методом sendInteractiveButtonsReply#

{
    "type": "incoming",
    "idMessage": "BAE5C3BB4C5A226C",
    "timestamp": 1747819281,
    "typeMessage": "interactiveButtons",
    "chatId": "79081152219@c.us",
    "interactiveButtons": {
        "titleText": "Header",
        "contentText": "Body",
        "footerText": "Footer",
        "buttons": [
            {
                "type": "reply",
                "buttonId": "1",
                "buttonText": "First Button",
                "copyCode": null,
                "phoneNumber": null,
                "url": null
            },
            {
                "type": "reply",
                "buttonId": "2",
                "buttonText": "Second Button",
                "copyCode": null,
                "phoneNumber": null,
                "url": null
            },
            {
                "type": "reply",
                "buttonId": "3",
                "buttonText": "Third Button",
                "copyCode": null,
                "phoneNumber": null,
                "url": null
            }
        ]
    },
    "senderId": "79081152219@c.us",
    "senderName": "79081152219",
    "senderContactName": ""
}