Отправка сообщений в канал MAX Bot
Для отправки сообщений в канал MAX Bot используется метод api/v1/out-messages/max-bot.
Метод api/v1/out-messages/max-bot относится к новой версии API.
Вызов метода
Чтобы отправить сообщение в канал MAX Bot по методу api/v1/out-messages/max-bot, отправьте POST-запрос на URL-адрес https://app.edna.ru/api/v1/out-messages/max-bot
Пример запроса
Сообщение с текстом
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "TEXT",
"text": "Привет! Это моё первое сообщение в MAX Bot"
}
}
Сообщение с текстом и изображением
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "IMAGE",
"url": "https://avatarko.ru/img/kartinka/33/multfilm_lyagushka_32117.jpg",
"name": "Изображение для теста",
"caption": "Комментарий к изображению. Не отображается на устройстве получателя",
"text": "Привет! Смотри какая картинка!"
}
}
Сообщение с текстом и документом
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "DOCUMENT",
"url": "https://smpp.org/SMPP_v3_4_Issue1_2.pdf",
"name": "Документ для теста",
"caption": "Комментарий к документу. Не отображается на устройстве получателя",
"text": "Привет! Смотри описание протокола в документе"
}
}
Сообщение с текстом и видео
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "VIDEO",
"url": "https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4",
"name": "Видео для теста",
"text": "Привет! Видел?"
}
}
Сообщение с текстом и аудио
Текст на устройстве получателя будет отображаться отдельным сообщением.
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "AUDIO",
"url": "https://samplelib.com/lib/preview/mp3/sample-15s.mp3",
"name": "Аудио для теста",
"text": "Привет! Слышал?"
}
}
Голосовое сообщение с текстом
Текст на устройстве получателя будет отображаться отдельным сообщением.
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "VOICE",
"url": "https://samplelib.com/lib/preview/mp3/sample-15s.mp3",
"name": "Аудио для теста голосового сообщения",
"text": "Привет! Прослушай как появится время"
}
}
Сообщение с геолокацией
Текст на устройстве получателя будет отображаться отдельным сообщением.
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "LOCATION",
"latitude": "37.421999",
"longitude": "-122.084057",
"text": "Привет! Высылаю координаты"
}
}
Сообщение с текстом и кнопкой-ссылкой
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "BUTTON",
"button": {
"caption":"Нажми!",
"action":"https://edna.ru"
},
"text": "Добрый день! Ознакомьтесь с выгодным предложением."
}
}
Сообщение с текстом и клавиатурой — кнопка-ссылка
Клавиатура может содержать до 30 кнопок в одном сообщении, не более трёх кнопок в одном ряду.
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "KEYBOARD",
"text": "Добрый день! Ознакомьтесь с нашими продуктами",
"keyboard": {
"rows": [
{
"buttons": [
{
"type": "LINK",
"text": "edna Pulse",
"url": "https://docs-pulse.edna.ru/"
},
{
"type": "LINK",
"text": "edna Chat Center",
"url": "https://docs-chatcenter.edna.ru/"
},
{
"type": "LINK",
"text": "edna Prisma",
"url": "https://docs-prisma.edna.ru/"
}
]
},
{
"buttons": [
{
"type": "LINK",
"text": "Продукт 1",
"url": "https://edna.ru/whatsapp-chat-bot/"
},
{
"type": "LINK",
"text": "Продукт 2",
"url": "https://edna.ru/chat-center/"
},
{
"type": "LINK",
"text": "Продукт 3",
"url": "https://edna.ru/imsi/"
}
]
},
{
"buttons": [
{
"type": "LINK",
"text": "Продукт 4",
"url": "https://edna.ru/newsletters/"
},
{
"type": "LINK",
"text": "Продукт 5",
"url": "https://edna.ru/chatflow/"
},
{
"type": "LINK",
"text": "Продукт 6",
"url": "https://edna.ru/notifications/"
}
]
}
]
}
}
}
Сообщение с текстом и клавиатурой — кнопка отправки текста в чат
Клавиатура может содержать до 30 кнопок в одном сообщении, не более трёх кнопок в одном ряду.
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "KEYBOARD",
"text": "Добрый день! Ознакомьтесь с нашими предложениями",
"keyboard": {
"rows": [
{
"buttons": [
{
"type": "MESSAGE",
"text": "Расскажите подробнее"
},
{
"type": "MESSAGE",
"text": "Всё понятно"
},
{
"type": "MESSAGE",
"text": "Не интересно"
}
]
},
{
"buttons": [
{
"type": "MESSAGE",
"text": "Напишите позже"
},
{
"type": "MESSAGE",
"text": "Напишу позже"
},
{
"type": "MESSAGE",
"text": "Подумаю над вашим предложением"
}
]
},
{
"buttons": [
{
"type": "MESSAGE",
"text": "Позовите менеджера"
},
{
"type": "MESSAGE",
"text": "Хочу забронировать"
},
{
"type": "MESSAGE",
"text": "Хочу узнать детали"
}
]
}
]
}
}
}
Сообщение с текстом и клавиатурой — кнопка быстрого ответа (callback)
Клавиатура может содержать до 30 кнопок в одном сообщении, не более трёх кнопок в одном ряду.
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "KEYBOARD",
"text":"Добрый день! Ознакомьтесь с нашими предложениями",
"keyboard": {
"rows": [
{
"buttons": [
{
"type": "CALLBACK",
"text": "Хочу забронировать",
"payload": "01"
},
{
"type": "CALLBACK",
"text": "Хочу узнать детали",
"payload": "02"
},
{
"type": "CALLBACK",
"text": "Позвать менеджера",
"payload": "03"
}
]
},
{
"buttons": [
{
"type": "CALLBACK",
"text": "Рассказать подробнее",
"payload": "04"
},
{
"type": "CALLBACK",
"text": "Всё понятно",
"payload": "05"
},
{
"type": "CALLBACK",
"text": "Подумаю над вашим предложением",
"payload": "06"
}
]
},
{
"buttons": [
{
"type": "CALLBACK",
"text": "Написать позже",
"payload": "07"
},
{
"type": "CALLBACK",
"text": "Я напишу позже",
"payload": "08"
},
{
"type": "CALLBACK",
"text": "Не интересно",
"payload": "09"
}
]
}
]
}
}
}
Сообщение с текстом и клавиатурой — кнопка запроса геолокации
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "KEYBOARD",
"text": "Поделитесь своей локацией, чтобы мы могли Вам помочь",
"keyboard": {
"rows": [
{
"buttons": [
{
"type": "LOCATION_REQUEST",
"text": "запрос геолокации"
}
]
}
]
}
}
}
Сообщение с текстом и клавиатурой — кнопка запроса контакта
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "KEYBOARD",
"text": "Поделитесь своим контактом, чтобы мы могли Вам перезвонить",
"keyboard": {
"rows": [
{
"buttons": [
{
"type": "CONTACT_REQUEST",
"text": "запрос контакта"
}
]
}
]
}
}
}
Сообщение с текстом и клавиатурой — все типы кнопок
{
"sender": "MAX_TEST",
"maxId": "123456789",
"content": {
"type": "KEYBOARD",
"text": "Добрый день! Выберите подходящий вариант ответа",
"keyboard": {
"rows": [
{
"buttons": [
{
"type": "CALLBACK",
"text": "Напомнить позже",
"payload": "01"
},
{
"type": "MESSAGE",
"text": "Интересное предложение! Расскажите подробнее"
},
{
"type": "LINK",
"text": "Ознакомиться с предложением",
"url": "https://edna.ru/"
}
]
},
{
"buttons": [
{
"type": "LOCATION_REQUEST",
"text": "запрос геолокации"
},
{
"type": "CONTACT_REQUEST",
"text": "запрос контакта"
}
]
}
]
}
}
}
Параметры запроса
| Параметр | Тип данных | Характер | Описание |
|---|---|---|---|
sender | string | Обязательный | Название подписи.
Чтобы узнать название подписи, используйте метод API для получения списка каналов — параметр subject.
Получение списка каналов |
maxId | string | Обязательный | Адрес получателя — идентификатор пользователя в мессенджере MAX.
Чтобы узнать адрес получателя, используйте метод API для запроса данных получателей — параметр addresses.address.
Запрос данных получателей |
content | object | Обязательный | Объект с информацией о содержимом сообщения. |
content.type | string | Обязательный | Тип содержимого сообщения.
Возможные значения: - TEXT — текст;
- IMAGE — изображение;
- VIDEO — видео;
- AUDIO — аудио;
- VOICE — голосовое сообщение;
- DOCUMENT — документ;
- LOCATION — геолокация;
- BUTTON — кнопка-ссылка;
- KEYBOARD — клавиатура. |
content.text | string | Обязательный, если content.type = TEXT,BUTTON или KEYBOARD | Текст сообщения.
Максимальная длина — 4000 символов. Может содержать эмодзи. |
content.url | string | Обязательный, если content.type = IMAGE,VIDEO, AUDIO, VOICE или DOCUMENT | Общедоступный URL-адрес вложения — изображения, видео, аудио, голосового сообщения или документа.
Максимальная длина — 4096 символов на стороне edna Pulse. |
content.name | string | Обязательный, если content.type = IMAGE,VIDEO, AUDIO, VOICE или DOCUMENT | Имя файла — изображения, видео, аудио, голосового сообщения или документа. Не отображается на устройстве получателя.
Максимальная длина — 4096 символов на стороне edna Pulse. |
content.caption | string | Необязательный | Комментарий к вложению — изображению или документу. Не отображается на устройстве получателя.
Максимальная длина — 4096 символов на стороне edna Pulse. |
content.latitude | string | Обязательный, если content.type = LOCATION | Координаты (широта). Диапазон значений — от -90.000000 до 90.000000.
Поддерживается до 6 знаков после запятой на стороне edna Pulse. |
content.longitude | string | Обязательный, если content.type = LOCATION. | Координаты (долгота). Диапазон значений — от -180.000000 до 180.000000.
Поддерживается до 6 знаков после запятой на стороне edna Pulse. |
content.button | object | Обязательный, если content.type = BUTTON | Объект с информацией о кнопке-ссылке.
Если content.type = BUTTON, то в одном сообщении поддерживается только одна кнопка-ссылка. |
content.button.caption | string | Обязательный, если content.type = BUTTON | Текст кнопки.
Максимальная длина — 30 символов на стороне edna Pulse. |
content.button.action | string | Обязательный, если content.type = BUTTON | Общедоступный URL-адрес внешнего ресурса, на который выполняется переход по нажатию кнопки-ссылки.
Максимальная длина — 1024 символа на стороне edna Pulse. Поддерживается только протокол HTTPS. |
content.keyboard | object | Обязательный, если content.type = KEYBOARD | Объект клавиатуры. Максимум 30 кнопок в одном сообщении, из них:
- 1 кнопка запроса локации; - 1 кнопка запроса контакта; - до 30 кнопок-ссылок; - до 30 кнопок отправки текста в чат; - до 30 кнопок быстрого ответа (callback). |
content.keyboard.rows | array of objects | Обязательный, если content.type = KEYBOARD | Массив объектов, в котором настраивается количество рядов в клавиатуре.
Максимальное количество кнопок в одном ряду - 3. Максимальное количество кнопок в одном сообщении - 30. |
content.keyboard.rows.buttons | array of objects | Обязательный, если content.type = KEYBOARD | Массив объектов с информацией о кнопках клавиатуры. |
content.keyboard.rows.buttons.type | string | Обязательный, если content.type = KEYBOARD | Тип кнопки клавиатуры.
Возможные значения: - LINK — кнопка-ссылка; - MESSAGE — кнопка отправки текста в чат; - CALLBACK — кнопка быстрого ответа (callback); - LOCATION_REQUEST — кнопка запроса локации; - CONTACT_REQUEST — кнопка запроса контакта. |
content.keyboard.rows.buttons.text | string | Обяза тельный, если content.type = KEYBOARD | Текст кнопки. Указывается для кнопок всех типов.
Максимальная длина — 30 символов на стороне edna Pulse. Количество отображаемых символов зависит от количества кнопок в ряду. |
content.keyboard.rows.buttons.url | string | Обязательный, если content.keyboard.rows.buttons.type = LINK | Общедоступный URL-адрес внешнего ресурса, на который выполняется переход по нажатию кнопки-ссылки.
Максимальная длина — 1024 символа на стороне edna Pulse. Поддерживается только протокол HTTPS. |
content.keyboard.rows.buttons.payload | string | Обязательный, если content.keyboard.rows.buttons.type = CALLBACK | Код или текст кнопки быстрого ответа (callback), скрытый от получателя. Возвращается во входящем сообщении при нажатии кнопки быстрого ответа.
Максимальная длина — 1024 символа на стороне edna Pulse. |
Формат ответа
{
"outMessageId": "string",
"maxId": "string"
}
Пример ответа
{
"outMessageId": "020c669e-893d-7ea4-acd2-072a3392f3e8",
"maxId": "123456789"
}
Параметры ответа
| Параметр | Тип данных | Описание |
|---|---|---|
outMessageId | string | Внутренний идентификатор исходящего сообщения. |
maxId | string | Адрес получателя — идентификатор пользователя в мессенджере MAX. |