Arrow
Начало работы с Wazzup
Arrow
Как подключить мессенджер
Arrow
Как пользоваться чатами Wazzup
Arrow
Как оплатить
Arrow
Битрикс24
Arrow
Как подключить Wazzup
Arrow
Как переписываться
Arrow
Как настроить автоматизацию
Arrow
Сквозная аналитика
Arrow
Решение проблем
Arrow
amoCRM
Arrow
Как подключить Wazzup
Arrow
Как переписываться
Arrow
Как настроить автоматизацию
Arrow
Сквозная аналитика
Arrow
Решение проблем
Arrow
Другие CRM
Arrow
1С: УНФ
Arrow
HubSpot
Arrow
Zoho
Arrow
Pipedrive
Arrow
ПланФикс
Arrow
Еще CRM
Arrow
Как продавать еще удобнее
Arrow
Всё о WABA
Arrow
Для партнеров
Arrow
Публичное API
Для партнеров
Arrow

Сообщения

В статье рассказываем про отправку, обновление статуса, редактирование и удаление сообщений.

Вы можете использовать встроенный интерфейс Wazzup для переписки. Так вам не придётся разрабатывать, дорабатывать, поддерживать свои интерфейсы для обработки диалогов.

При работе с перечисленными методами используйте в заголовках токен дочернего аккаунта client_access_token, который получили с помощью упрощенной авторизации или OAuth: Authorization: Bearer client_access_token

Методы

  • POST /v2/messages — отправить сообщение.
  • PATCH /v2/messages/{message_id} — редактировать сообщение.
  • DELETE /v2/messages/{message_id} — удалить сообщение (только для поддерживаемых транспортов).

Отправка сообщения

Отправка сообщений асинхронна. В случае успешной отправки, вы получаете request_id. Наличие request_id не гарантирует доставку, оно сообщает о том что Wazzup принял ваше сообщение в обработку. Итог обработки и реальный message_id вы получите с вебхуком, обновляющим статус сообщения.

В одном запросе на отправку сообщения нельзя передать одновременно текст (параметр text) и вложение (attachment). При таком запросе вернется ошибка: "Cannot provide more that one of text, attachment or template". Используйте разные запросы, чтобы отправить текст и файл.

Метод POST /v2/messages

Параметры:

Параметр. Обязательные отмечены * Тип параметра Описание параметра
channel_id * string(uuid) ID канала
quoted_message_id string(uuid) ID цитируемого сообщения
recipient * object Получатель сообщения
recipient.chat_type * string

Тип чата. Доступные значения:

  • whatsapp — индивидуальные чаты в WhatsApp,
  • whatsgroup — групповые чаты в WhatsApp,
  • viber — чаты Viber,
  • instagram — чаты Instagram*,
  • telegram — индивидуальные чаты в Telegram,
  • telegroup — групповые чаты в Telegram,
  • vk — чаты ВКонтакте,
  • avito — чаты Авито,
  • max — индивидуальные чаты MAX,
  • maxgroup — для групповых чатов MAX.
recipient.chat_id string

Вариант идентификации для всех типов чата — ID чата, то есть аккаунт контакта в мессенджере.

  • Для whatsapp и viber — только цифры, формат 79011112233.
  • Для instagram — аккаунт без @ вначале.
  • Для whatsgroup, maxgroup, avito, vk приходит в вебхуках входящих сообщений.
  • Для telegram, max тоже приходит в вебхуках входящих сообщений, не совпадает с номером телефона
recipient.username string Только для Telegram. Имя пользователя в Telegram, без @ в начале. Можно использовать при отправке сообщений через Telegram, если неизвестен chatId
recipient.phone string Только для Telegram, MAX. Телефон контакта в международном формате, без + и иных символов: только цифры с корректным кодом страны. Может использоваться при отправке сообщений через Telegram, если неизвестен chatId
recipient.crm_contact_name string Имя контакта в CRM
text string Текст сообщения. Одно из полей text или attachment должно быть заполнено. Отправить в одном запросе text и attachment нельзя
attachment object Вложение. Одно из полей text или attachment должно быть заполнено. Отправить в одном запросе text и attachment нельзя
attachment.url * string Прямая ссылка на файл
attachment.name string Название файла
attachment.mimetype string(mime-type) MIME-тип файла
attachment.size number Размер файла
attachment.sha1 string(hex) Хэш SHA1
crm_user_id string ID пользователя в CRM
reset_unanswered boolean Сбросить ли счетчик неотвеченных. Чтобы сообщение не сбрасывало счетчик, укажите false
Для шаблонов WABA
template object Объект шаблона
template.id * string(uuid) Код шаблона WABA. Как получить коды шаблонов WABA
template.values array(string) Значения переменных шаблона
template.buttons array(object) Кнопки, прикрепленные к шаблону WABA. При работе с шаблонами объект buttons пригодится, только если хотите привязать к кнопкам полезную нагрузку. Тексты кнопок, которые отправятся с шаблоном WABA, прописывать не надо.
template.buttons.text string Текст кнопки
template.buttons.type string Тип кнопки
template.buttons.payload * string Payload кнопки
Для интерактивных сообщений WABA и Telegram Bot
keyboard object Интерактивные кнопки
Для интерактивных сообщений WABA
keyboard.buttons * array(object) Массив объектов с кнопками. Не более 10. Если кнопок больше 10, возьмем первые 10.
keyboard.buttons.text string Текст кнопки. Ограничение — 20 символов
keyboard.buttons.type string Тип кнопки
keyboard.buttons.payload * string Payload кнопки
Для сообщений Telegram Bot
keyboard.reply_markup string Тип Telegram-клавиатуры: inline, reply
keyboard.one_time_keyboard boolean Если значение true, то кастомная клавиатура скрывается (не удаляется) после нажатия кнопки
keyboard.resize_keyboard boolean Изменение размера
keyboard.selective boolean Селективная клавиатура
keyboard.remove_keyboard boolean Используется для удаления кастомной клавиатуры при передаче значения true
keyboard.buttons[].text string Для inline-кнопок. Текст кнопки. Ограничение — 64 символа
keyboard.buttons[].url string(url) Для inline-кнопок. URL, который будет открываться при нажатии кнопки
keyboard.buttons[].callback_data string Для inline-кнопок. Payload callback. Данные, которые будут отправлены в обратном запросе боту при нажатии кнопки, 1-64 байта
keyboard.buttons[].text * string Для reply-кнопок. Текст кнопки. Ограничение — 64 символа
Для сообщений MAX-бота
keyboard.buttons * array of arrays Кнопки в виде двумерного массива
keyboard.buttons[].type * string Тип кнопки. Возможные значения: callback, link, message
keyboard.buttons[].text * string Текст кнопки для всех типов
keyboard.buttons[].payload * string Payload кнопки. Только для типа callback
keyboard.buttons[].intent string Интенция кнопки. Возможные значения: default, positive, negative
keyboard.buttons[].url * string Ссылка в кнопке. Только для типа link

Пример отправки текстового сообщения:

curl -L 'https://tech.wazzup24.com/v2/messages'
-H 'Authorization: Bearer <client_access_token>'
-H 'Content-Type: application/json'
-d '{
"channel_id": "020e3f61-e5df-447f-8ef9-ce8258e92c7a",
"recipient": {
"chat_type": "whatsapp",
"chat_id": "79999999999"
},
"text": "Hello World"
}'

Пример отправки сообщения с контентом:

curl -L 'https://tech.wazzup24.com/v2/messages'
-H 'Authorization: Bearer <client_access_token>'
-H 'Content-Type: application/json'
-d '{
"channel_id": "020e3f61-e5df-447f-8ef9-ce8258e92c7a",
"recipient": {
"chat_type": "whatsapp",
"chat_id": "79385005913"
},
"attachment": {
"url": "https://drive.google.com/uc?export=download&id=123456test",
"name": "new.pdf",
"mimetype": "application/pdf",
"size": 86176,
"sha1": "153e030466873745ce4a66da02d0610a7ee6ce4f",
},
"crm_user_id": "crm-123"
}'

Пример отправки шаблона:

curl -L 'https://tech.wazzup24.com/v2/messages'
-H 'Authorization: Bearer <client_access_token>'
-H 'Content-Type: application/json'
-d '{
"channel_id": "020e3f61-e5df-447f-8ef9-ce8258e92c7a",
"recipient": {
"chat_type": "whatsapp",
"chat_id": "79385005913"
},
"template": {
"id": "385bf0c5-9f2a-4f9f-be85-9b84d797cf95",
"values": [
"https://drive.google.com/uc?export=download&id=123456test"
]
},
"buttons": [
{
"text": "Спасибо!",
"type": "text",
"payload": "yes"
},
{
"text": "Мне нужно еще!",
"type": "text",
"payload": "yes"
},
{
"text": "Мне нужно еще 2!",
"type": "text",
"payload": "yes"
}
]
}'

Пример ответа:

{
"data": {
"request_id": "9820d14f-66ae-4170-997f-0f06c0800664",
"chat_id": 79385005913
},
"meta": {
"timestamp": 1759492896
}
}

Результат: Запрос на отправку принят. Вы получите вебхук со статусом доставки.

Редактировать сообщение

Каналы, на которых доступно редактирование:

  • Whatsapp Web (только текст)
  • Telegram Personal
  • Telegram Bot
  • MAX
  • бот MAX (кроме сообщений с клавиатурой)

Редактировать сообщение можно в течение 15 минут после доставки. Узнайте в нашей инструкции больше о том, как работает редактирование сообщений.

Метод PATCH /v2/messages/{message_id}

Path-параметры
message_id — ID сообщения, которое нужно изменить.

Body-параметр. Обязательные отмечены * Тип Описание
text string Текст сообщения. Одно из полей text или attachment должно быть заполнено.
attachment object Объект с вложением. Одно из полей text или attachment должно быть заполнено.
attachment.url * string Прямая ссылка на файл.
attachment.name string Название файла.
attachment.mimetype string($mime-type) MIME-тип файла.
attachment.size number Размер файла.
attachment.sha1 string($hex) Хэш файла SHA-1.
crm_user_id string ID пользователя в CRM, который изменяет сообщение

Пример:

curl -L -X PATCH 'https://tech.wazzup24.com/v2/messages/8e074add-828d-4f35-afcc-99ccbfa9d0ae'
-H 'Authorization: Bearer <client_access_token>'
-H 'Content-Type: application/json'
-d '{
"text": "Отредактированное сообщение"
}'

Пример ответа:

{
"data": {
"message_id": "8e074add-828d-4f35-afcc-99ccbfa9d0ae",
"chat_id": "1234567890"
},
"meta": {
"timestamp": 1759397203
}
}

Результат: Сообщение message_id: 8e074add-828d-4f35-afcc-99ccbfa9d0ae отредактировано.

Удалить сообщение

Каналы, на которых доступно удаление сообщений:

  • Whatsapp
  • Telegram Personal
  • Telegram Bot
  • MAX
  • бот MAX

Сообщение удаляется в мессенджере у отправителя и собеседника. При этом в iframe Wazzup сообщение будет отображаться с отметкой, что удалено.

Узнайте в нашей инструкции больше о том, как работает удаление сообщений.

Метод DELETE /v2/messages/{message_id}

Path-параметры
message_id — ID сообщения, которое нужно удалить.

Пример:

curl -L -X DELETE 'https://tech.wazzup24.com/v2/messages/8a3f7a93-2b25-45da-8695-671bd56439e5'
-H 'Authorization: Bearer <client_access_token>'

Пример ответа:

{
"data": {
"message_id": "8a3f7a93-2b25-45da-8695-671bd56439e5",
"chat_id": "1234567890"
},
"meta": {
"timestamp": 1759397203
}
}

Результат: Сообщение message_id: 8a3f7a93-2b25-45da-8695-671bd56439e5 удалено.

*Запрещены и признаны экстремистскими на территории РФ