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

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

Бета-версия

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

В данном разделе описывается формат входящего уведомления объекта 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": "outgoing",
    "idMessage": "BAE53E7C37B3C05A",
    "timestamp": 1747817913,
    "typeMessage": "interactiveButtons",
    "chatId": "79581004388@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"
            }
        ]
    },
    "statusMessage": "sent",
    "sendByApi": true
}

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

{
    "type": "outgoing",
    "idMessage": "BAE57AF3BBAFE9D4",
    "timestamp": 1747819050,
    "typeMessage": "interactiveButtons",
    "chatId": "79581004388@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
            }
        ]
    },
    "statusMessage": "delivered",
    "sendByApi": true
}