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

Для отправки сообщений из персонального канала, используйте следующий метод:

Заголовки

Заголовок
Значение

Authorization

Bearer <токен>

Content-Type

application/json

При запросе необходимо передать токен, полученный при подключении канала.

Тело запроса

{
  "api_version": 1,
  "message_id": "<ID_сообщения>",
  "chat_id": "<ID_чата>",
  "text": "Привет!",
  "attachments": [
    {
      "file_name": "файл.png",
      "file_type": "image",
      "data": "aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kUXc0dzlXZ1hjUQ=="
    }
  ],
  "source": "Иванов Иван из Авито",
  "placeholders": {
     "some_id": "123123"
  },
  "link": {
    "type": "chat",
    "hint": "Диалог",
    "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  },
  "message_sender": "customer",
  "client_name": "Иванов Иван",
  "client_phone": "+79001234567"
}
Поле
Поле обязательно
Тип
Описание

api_version

да

целое число (только 1)

Версия API.

В будущем мы будем обновлять наше API, и чтобы у вас ничего не сломалось, какое-то время будем параллельно поддерживать и старые версии.

message_id

да

строка

ID сообщения в вашей системе.

Необходимо для предотвращения случайных повторных срабатываний

chat_id

да

строка

ID чата в вашей системе.

Связывающая часть, определяет в какой диалог попадет сообщение

text

да, если не указано поле attachments

строка, не меньше 1 символа

Текст сообщения.

attachments

да, если не указано поле text

массив объектов Attachment

Вложения.

На данный момент поддерживаются только картинки и аудио

message_sender

да

строка (customer или employee)

Отправитель сообщения.

Клиент или сотрудник из вашей системы

source

да

строка

Источник.

Значение, которое показывается в колонке "Источник" в личном кабинете Савви. Как правило - имя или юзернейм клиента, название сделки

link

нет

объект Link

Ссылка на чат в вашей системе.

Будет отображаться как кнопка в личном кабинете Савви

placeholders

нет

объект, где ключ и значение - строки

Переменные для инструкции.

Подробнее ниже

client_name

нет

строка

Имя клиента.

client_phone

нет

строка

Номер телефона клиента.

bracket-curlyПеременныеchevron-right

Объект Attachment

Все поля обязательны.

Поле
Тип
Описание

file_name

строка

Имя файла.

file_type

строка (image или audio)

Тип файла.

data

строка, base64 файла

Файл.

Допустимые типы указаны ниже.

Савви принимает файлы следующих типов:

  • Для изображений: image/png, image/jpeg, image/gif

  • Для аудио: audio/ogg, audio/mpeg, audio/wav, audio/x-wav, audio/webm, audio/mp4, audio/m4a, audio/x-m4a

Максимальный размер файла - 15 мегабайт

Поле
Тип
Описание

type

строка (user, chat, phone, lead, product, other)

Тип ссылки.

Влияет на иконку, отображаемую в личном кабинете

  • user - 👤

  • chat - 💬

  • phone - 📞

  • lead - 🤝🏻

  • product - 🛍️

  • other - 🔗

hint

строка или null

Текст для кнопки.

Не обязательно. Если не указано (или null), то используются названия, взависимости от типа:

  • user - Аккаунт

  • chat - Чат

  • phone - Телефон

  • lead - Лид

  • product - Товар

  • other - Ссылка

url

строка

Ссылка.

Ответ

При успехе вебхук возвращает тело следующего вида:

Его можно игнорировать, оно не несет никакой полезной информации.

Ошибки

Неверный токен

Вернет тело следующего вида и код 401:

Канал отключен

Возвращается, если канал не подключен или выключен в настройках. Вернет тело следующего вида и код 424:

Неподдерживаемый тип файла

Возвращается, если переданный файл не поддерживается Савви. Возвращает поддерживаемые типы. Вернет тело следующего вида и код 415:

Отрицательный баланс

Возвращается, если ваш баланс Савви меньше нуля. Вернет тело следующего вида и код 402:

Ошибка валидации

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

Пример кода для отправки

Last updated

Was this helpful?