Maytapi/Документация//interactive
/interactiveБез одобрения шаблоновAPI интерактивных сообщений WhatsApp
Отправляйте кнопки ответа, кнопки-ссылки и кнопки звонка, меню-списки и карусели товаров со своего номера WhatsApp. Один эндпоинт sendMessage, без одобрения шаблонов — выбор клиента приходит на ваш вебхук.
- кнопки ответа
- ссылки и звонки
- сообщения-списки
- карусели

Все интерактивные форматы в одном эндпоинте
Выберите поле type и тип кнопки — остальной запрос не меняется.
-
buttons · id
Кнопки ответа
Быстрые ответы вроде «Подтвердить» или «Отменить». Id кнопки возвращается, и код знает, что выбрано.
-
buttons · url
Кнопки-ссылки
Откройте страницу отслеживания, ссылку на оплату или ваш сайт одним нажатием.
-
buttons · phoneNumber
Кнопки звонка
Клиент звонит в поддержку прямо из сообщения.
-
buttons · code
Кнопки копирования кода
Отправьте промокод или код подтверждения, который клиент скопирует одним нажатием.
-
type: list
Сообщения-списки
Кнопка меню, открывающая разделы и строки, — идеально для меню поддержки и выбора времени записи.
-
type: carousel
Карусели
До 10 листаемых карточек, у каждой медиа и до 5 кнопок, для товаров и акций.
Кнопки с медиа, заголовком и подписью
Добавьте изображение или видео, заголовок, текст и подпись, а затем сочетайте кнопки ответа, ссылки, звонка и копирования кода в одном сообщении.
- ✓Кнопки ответа возвращают свой id на вебхук
- ✓Кнопки-ссылки и звонка не требуют настройки
- ✓Кнопки копирования кода для промокодов и одноразовых кодов
Меню-списки для множества вариантов
Когда трёх кнопок мало, отправьте список. Клиент открывает его по вашей кнопке и выбирает строку из разделов.
- ✓Группируйте строки в разделы с заголовками
- ✓У каждой строки есть заголовок, описание и rowId
- ✓Подходит для меню поддержки, филиалов и выбора времени
Листаемые карточки товаров
Показывайте несколько товаров или акций рядом. У каждой карточки свои медиа, текст и кнопки.
- ✓До 10 карточек в карусели
- ✓До 5 кнопок на карточку
- ✓Медиа обязательно для каждой карточки
Один эндпоинт, разный type
Кнопки, списки и карусели отправляются через POST /sendMessage. Меняются только поле type и его параметры.
- ✓Работает из cURL, Node.js, Python, PHP и любого HTTP-клиента
- ✓Без проверки шаблонов — отправляйте сразу
curl -X POST "https://api.maytapi.com/api/$PID/$PHONE_ID/sendMessage" \
-H "x-maytapi-key: $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to_number": "7916xxxxx67@c.us",
"type": "buttons",
"title": "Your order #10482",
"message": "Your order is ready to ship. Please confirm the delivery address.",
"footer": "Maytapi Store",
"media": "https://example.com/order.jpg",
"buttons": [
{
"id": "confirm",
"text": "Confirm"
},
{
"url": "https://example.com/track/10482",
"text": "Track order"
},
{
"phoneNumber": "7916xxxxx67",
"text": "Call us"
}
]
}'curl -X POST "https://api.maytapi.com/api/$PID/$PHONE_ID/sendMessage" \
-H "x-maytapi-key: $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to_number": "7916xxxxx67@c.us",
"type": "buttons",
"message": "Here is 10% off your next order.",
"buttons": [
{
"code": "WELCOME10",
"text": "Copy code"
}
]
}'curl -X POST "https://api.maytapi.com/api/$PID/$PHONE_ID/sendMessage" \
-H "x-maytapi-key: $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to_number": "7916xxxxx67@c.us",
"type": "list",
"title": "How can we help?",
"message": "Choose a topic and we will connect you to the right team.",
"footer": "Support",
"button_text": "See options",
"sections": [
{
"title": "Support topics",
"rows": [
{
"rowId": "status",
"title": "Order status",
"description": "Track a recent order"
},
{
"rowId": "returns",
"title": "Returns",
"description": "Start a return or exchange"
}
]
}
]
}'curl -X POST "https://api.maytapi.com/api/$PID/$PHONE_ID/sendMessage" \
-H "x-maytapi-key: $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"to_number": "7916xxxxx67@c.us",
"type": "carousel",
"message": "New arrivals this week",
"cards": [
{
"title": "Classic sneaker",
"body": "Sizes 38–45",
"media": "https://example.com/sneaker.jpg",
"buttons": [
{
"id": "add_sneaker",
"text": "Add to cart"
},
{
"url": "https://example.com/sneaker",
"text": "Details"
}
]
},
{
"title": "Canvas backpack",
"body": "Free shipping",
"media": "https://example.com/backpack.jpg",
"buttons": [
{
"id": "add_backpack",
"text": "Add to cart"
},
{
"url": "https://example.com/backpack",
"text": "Details"
}
]
}
]
}'Где интерактивные сообщения работают лучше всего
-
Подтверждение заказов
Подтверждение, изменение или отмена заказа одним нажатием вместо текстового ответа.
-
Напоминания о записи
Отправьте напоминание с кнопками «Подтвердить» и «Перенести» и обновляйте календарь по вебхуку.
-
Меню поддержки
Направляйте клиента в нужную команду через список ещё до подключения оператора.
-
Витрина товаров
Показывайте новинки в карусели с кнопками «В корзину» и «Подробнее».
-
Промокоды и коды
Отправляйте скидочные коды и коды подтверждения с кнопкой копирования.
-
Сценарии чат-ботов
Ведите диалог с ботом через кнопки, чтобы ответы оставались структурированными.
Вопросы об интерактивных сообщениях
Задайте любой вопрос поддержке в WhatsApp. Среднее время ответа — меньше 24 часов.
Центр помощи →Нужно ли одобрение шаблонов для отправки кнопок?
Нет. Maytapi отправляет интерактивные сообщения с вашего номера через WhatsApp Web, поэтому проверки шаблонов Meta нет. Отправлять можно сразу.
Какие типы кнопок поддерживаются?
Кнопки ответа с id, кнопки-ссылки с url, кнопки звонка с phoneNumber и кнопки копирования кода с code. Заголовок, подпись и медиа необязательны.
Сколько карточек может быть в карусели?
До 10 карточек в карусели. Для каждой карточки нужно медиа, и на неё можно добавить до 5 кнопок.
Как узнать, какую кнопку нажал клиент?
Выбор клиента приходит на ваш вебхук как обычное входящее сообщение, и код может сразу на него отреагировать.
Можно ли добавить изображение к сообщению с кнопками?
Да. Добавьте в запрос адрес media — изображение или видео появится над текстом сообщения.
Другие возможности WhatsApp API

Получите ключ и отправьте первое сообщение за десять минут
Без одобрения, без шаблонов, без карты. Все эндпоинты открыты на три дня.