Чаты
Список доступных источников чатов можно получить здесь: https://api.radist.online/v2/docs#/Messaging/MessagingGetChatsSources
У каждого источника указано, как через него можно создавать новые чаты.
В зависимости от мессенджера, чат можно создать либо с использованием номера телефона клиента (WhatsApp, Telegram), либо с использованием имени пользователя (Telegram).
При создании чата сразу происходит его привязка к контакту. Она работает следующим образом:
- 1.При создании чата с использованием номера телефона, если в компании уже существует контакт с этим номером, чат будет привязан к нему
- 2.При создании чата в Telegram/Telegram Bot по возможности чат будет привязан к контакту, у которого уже есть чаты с этим пользователем. Пример: есть чат через бота с пользователем @example привязанный к контакту с
id=456
. Создаём новый чат через личный номер telegram с тем же пользователем @example. Будет создан новый чат, но привязан он будет к контакту сid=456
- 3.При создании чата можно явно указать
contact_id
, тогда чат будет привязан к указанному контакту, если чат ещё не существует. Если существует, будет возвращёт существующий чат с существующим контактом. - 4.Если 1-3 не сработали, будет создан новый контакт
Чаты привязаны к контактам. Этот метод позволяет получить список чатов, сгруппированных по контактам. У одного контакта может быть несколько чатов.
Для итерации используйте параметр
cursor
, который возвращается в запросе.Как отсортирована выдача:
- Сначала идут те контакты, у которых есть чаты с неотвеченными сообщениями
- Затем все остальные, отсортированные по времени последнего сообщения (более свежие выше)
Сообщения отсортированы от старых к новым. Для итерации используйте параметр
until
.Если вам нужно получать все сообщения в реальном времени, не загружайте их этим методом, подпишитесь на вебхуки.
Для отправки сообщения необходимо знать id чата, в который сообщение отправляется, и id подключения, через которое сообщение будет отправлено.
Нужно указать тип сообщения и заполнить поле, имя которого совпадает с типом сообщения. Например, для сообщения с типом
text
нужно заполнить структуру text
.Для отправки файла его необходимо загрузить к нам. Если отправляете один и тот же файл много раз, рекомендуем загрузить его один раз и переиспользовать полученную ссылку, а не загружать его каждый раз заново.
После того, как загрузили файл, полученную ссылку можно использовать при отправке сообщения.
Максимальный размер файла для загрузки: 100 МБ. Но в разных мессенджерах могут быть дополнительные ограничения на размеры или форматы файлов. Уточняйте их в документации конкретных мессенджеров.
На примере WABA: максимальный размер изображения после пост-обработки* - 5 МБ. Это значит, что вы можете попытаться отправить изображение размером 100 МБ, но если после сжатия его размер всё ещё будет более 5 МБ, оно не будет отправлено.
Подробное описание возможностей:
Тип сообщения у нас:
waba_template
Шаблоны - единственный тип сообщений, который можно отправить в чаты, у которых закрыто диалоговое окно. Про диалоговые окна ниже.
Шаблоны в общем случае состоят из 4 компонентов:
- Заголовка/header (текст с переменными или файл)
- Тела/body (текст с переменными)
- Подписи/footer (текст)
- Кнопок/buttons (текстовая, ссылка, номер телефона)
Обязательно только тело шаблона.
Для отправки шаблона необходимо знать его название, язык и передать список переменных, если требуется. Шаблоны создаются в хабе 360Dialog. Получить список доступных шаблонов можно тут:
Подробное описание:
Тип сообщения у нас:
waba_interactive
Эти сообщения позволяют:
- *Отправить товар
- *Отправить группу товаров
- Отправить сообщение с 3 кнопками
- Отправить сообщение с меню, в котором можно выбрать о дин из вариантов (можно использовать как замену кнопок, если нужно отправить более 3 штук)
- *Отправить сообщение, запрашивающее у пользователя локацию
* Эти типы у нас пока не поддерживаются. Если они вам нужны, запросите, это может ускорить их появление.
У WABA есть ог раниченные по времени платные диалоговые сессии (описание). Если у чата нет открытой сессии, в чат нельзя будет отправить нешаблонное сообщение. Если же баланс диалогов достиг 0 или отрицательный, нельзя будет отправить никакое сообщение.
Используйте этот метод, чтобы проверить возможность отправки сообщений. В ответе видно срок, до которого сессия ещё считается открытой, а также достаточно ли диалогов на балансе.
- Кешируйте и переиспользуйте ссылки на загруженные файлы. Особенно, если делаете рассылки с файлами.
- Максимальный размер файла: 100МБ, но могут быть дополнительные ограничения на размер или формат файлов со стороны мессенджеров.
Last modified 1mo ago