Чаты

Общее

Методы для работы с API чатов доступны здесь: https://api.radist.online/v2/docs#/Messaging

Источники чатов

Список доступных источников чатов можно получить здесь: https://api.radist.online/v2/docs#/Messaging/MessagingGetChatsSources
У каждого источника указано, как через него можно создавать новые чаты.

Создание чата

В зависимости от мессенджера, чат можно создать либо с использованием номера телефона клиента (WhatsApp, Telegram), либо с использованием имени пользователя (Telegram).
При создании чата сразу происходит его привязка к контакту. Она работает следующим образом:
  1. 1.
    При создании чата с использованием номера телефона, если в компании уже существует контакт с этим номером, чат будет привязан к нему
  2. 2.
    При создании чата в Telegram/Telegram Bot по возможности чат будет привязан к контакту, у которого уже есть чаты с этим пользователем. Пример: есть чат через бота с пользователем @example привязанный к контакту с id=456. Создаём новый чат через личный номер telegram с тем же пользователем @example. Будет создан новый чат, но привязан он будет к контакту с id=456
  3. 3.
    При создании чата можно явно указать contact_id, тогда чат будет привязан к указанному контакту
  4. 4.
    Если 1-3 не сработали, будет создан новый контакт
post
https://api.radist.online/v2
/companies/{company_id}/messaging/chats/
Create Chat

Получение списка чатов

Чаты привязаны к контактам. Этот метод позволяет получить список чатов, сгруппированных по контактам. У одного контакта может быть несколько чатов.
Для итерации используйте параметр cursor, который возвращается в запросе.
Как отсортированы чаты:
  • Сначала идут чаты, в которых есть неотвеченные сообщения
  • Затем все остальные чаты, отсортированные по времени последнего сообщения (более свежие выше)
get
https://api.radist.online/v2
/companies/{company_id}/messaging/chats/with_contacts/
Get Chats With Contacts

Получение сообщений в чате

Для получения сообщений используйте этот метод: https://api.radist.online/v2/docs#/Messaging/MessagingGetMessages
Сообщения отсортированы от старых к новым. Для итерации используйте параметр until.
Если вам нужно получать все сообщения в реальном времени, не загружайте их этим методом, подпишитесь на вебхуки.

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

Для отправки сообщения необходимо знать id чата, в который сообщение отправляется, и id подключения, через которое сообщение будет отправлено.
Нужно указать тип сообщения и заполнить поле, имя которого совпадает с типом сообщения. Например, для сообщения с типом text нужно заполнить структуру text.
post
https://api.radist.online/v2
/companies/{company_id}/messaging/messages/
Send Message
Для отправки файла его необходимо предварительно загрузить к нам. Максимальный размер файла: 100 МБ. Если отправляете один и тот же файл много раз, рекомендуем загрузить файл один раз и переиспользовать, а не загружать его каждый раз заново.
post
https://api.radist.online/v2
/companies/{company_id}/messaging/files/
Upload File

Шаблонные сообщения WhatsApp Business API

Подробное описание:
Шаблоны в общем случае состоят из 4 компонентов:
  • Заголовка/header (текст с переменными или файл)
  • Тела/body (текст с переменными)
  • Подписи/footer (текст)
  • Кнопок/buttons (текстовая, ссылка, номер телефона)
Обязательно только тело шаблона.
Для отправки шаблона необходимо знать его название, язык и передать список переменных, если требуется.
get
https://api.radist.online/v2
/companies/{company_id}/messaging/waba_templates/
List Waba Templates

Замечания

  • Не загружайте переписку методом опроса API, подпишитесь на вебхуки
  • Кешируйте и переиспользуйте ссылки на загруженные файлы. Особенно, если делаете рассылки с файлами.
  • Максимальный размер файла: 100МБ