Получение сообщений
Для подключения персонального канала, вы должны указать вебхук, на который Савви будет отправлять сообщения. Он будет делать это в следующем виде:
Запрос
Ваш вебхук должен возвращать статус код в диапазоне 200-299 и отвечать в течение 20 секунд. В противном случае запрос считается ошибочным, а сообщения — недоставленными (такие сообщения Савви не видит).
Ваш вебхук будет получать запросы с разных IP-адресов. Для проверки и авторизации используйте настройку «Секрет вебхука».
Мы сделаем POST запрос на ваш вебхук, передав туда тело следующего вида:
{
"event_type": "new_messages",
"new_messages": [
{
"type": "image",
"message_sender": "ai",
"file": {
"name": "image.png",
"url": "<прямая ссылка на изображение>",
"size_bytes": 10240,
"mime_type": "image/png"
}
},
{
"type": "text",
"message_sender": "ai",
"text": "Привет! Как я могу вам помочь?"
}
]
}
Если при подключении персонального канала, вы указали секрет вебхука, то мы передадим его в заголовке Authorization
в следующем виде:
Bearer <ваш секрет>
Объект в запросе
event_type
строка (new_messages
или test_request
)
Тип события.
На данный момент реализовано только событие для новых сообщений и тестовый запрос, но в будущем можем добавить и другие.
В зависимости от этого параметра набор полей может измениться
test_request
- событие который мы пришлем на ваш вебхук при нажатии на кнопку проверки в ЛК Савви
Рекомендуем проверять данный параметр и игнорировать запрос, если event_type != "new_messages"
new_messages
массив объектов Message
Новые сообщения.
Присутствует только если тип события - new_messages
chat_id
строка
Айди чата.
Айди чата, который вы указывали при отправке запроса на наш АПИ. Нужен, чтобы вы могли в своей системе идентифицировать, в какой чат добавить ответ.
Присутствует только если тип события - new_messages
Объект Message
Message
type
строка (text
, image
, audio
, document
)
Тип сообщения.
От этого параметра зависит набор полей
message_sender
строка (ai
или employee
)
Отправитель сообщения.
Присутствует во всех типах, определяет кто прислал сообщение (бот или сотрудник через личный кабинет Савви)
text
строка
Текст сообщения.
Присутствует только, если тип сообщения - text
file
объект MessageFile
Приложенный файл.
Присутствует только, если тип сообщения - image
, audio
или document
Объект MessageFile
MessageFile
url
строка
Прямая ссылка для загрузки файла.
Например: https://i.imgur.com/ucYKBpa.png
Файл будет расположен на нашем сервере.
name
строка
Имя файла.
size_bytes
целое число ∈ [0, +∞)
Размер файла в байтах.
mime_type
строка ^[a-zA-Z0-9]+/[a-zA-Z0-9-.+]+$
Mime-тип файла.
Савви может отправить файлы следующих типов:
Для изображений:
image/png
,image/jpeg
,image/gif
Для аудио:
audio/ogg
,audio/mpeg
,audio/wav
,audio/x-wav
,audio/webm
,audio/mp4
,audio/m4a
,audio/x-m4a
Для документов: любые, включая вышеперечисленные
Last updated
Was this helpful?