Отправка сообщений
Для отправки сообщений из персонального канала, используйте следующий метод:
Метод
POST
Заголовки
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
нет
строка
Номер телефона клиента.
Объект Attachment
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 мегабайт
Объект Link
Linktype
строка (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?