Получение сообщений
Для подключения персонального канала, вы должны указать вебхук, на который Савви будет отправлять сообщения. Он будет делать это в следующем виде:
Запрос
Ваш вебхук должен возвращать статус код в диапазоне 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
Messagetype
строка (text, image, audio, document)
Тип сообщения.
От этого параметра зависит набор полей
message_sender
строка (ai или employee)
Отправитель сообщения.
Присутствует во всех типах, определяет кто прислал сообщение (бот или сотрудник через личный кабинет Савви)
text
строка
Текст сообщения.
Присутствует только, если тип сообщения - text
file
объект MessageFile
Приложенный файл.
Присутствует только, если тип сообщения - image, audio или document
Объект MessageFile
MessageFileurl
строка
Прямая ссылка для загрузки файла.
Например: 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?