Наименование организации:
ООО «Мой Софт»
40702810310000021416
Расчетный счет:
АО «ТИНЬКОФФ БАНК»
Банк:
044525974
БИК:
781101001
Корреспондентский счет:
7811616280
ИНН:
781101001
КПП:
1167847299410
ОГРН:
ОКПО:
03614300
Бесщетников Антон Игоревич
Генеральный директор:
192019, г. Санкт-Петербург, ул. Мельничная, д. 18, литер А, пом. 18-H 10, оф. 805
Юридический адрес:
Почтовый адрес:
192019, г. Санкт-Петербург, а/я 2
Реквизиты компании ООО «Мой Софт»
Интеграции с CRM

Свой канал через API: агент в собственном приложении

Как подключить агента к своему приложению или личному кабинету через персональный канал API: адрес приёма сообщений, токен, коды ошибок и формат ответа.

Команда платформы СаввиОбновлено 15 сентября 20266 мин чтения
Пластилиновый ноутбук с окном чата внутри карточки приложения, коралловый акцент на кнопке отправки
Коротко

Персональный канал (API) подключается в разделе «Каналы» и даёт прямой обмен сообщениями между вашим приложением и агентом, без площадки-посредника. Сообщения агенту отправляются POST-запросом на https://api.suvvy.ai/api/webhook/custom/message с токеном в заголовке, ответы приходят на указанный вами вебхук. Код 424 значит, что канал отключён, 401 — что токен неверный, а на весь обмен отведено 20 секунд.

У компании есть свой личный кабинет — и в нём чат, который писали под собственную задачу и переписывать не собираются только ради чужого виджета. Клиент печатает прямо там, где оформляет заказ или смотрит статус услуги, и уходить в мессенджер не должен. Вопрос в том, как заставить агента Савви отвечать именно в этом окне.

Чем этот канал отличается от готовых

Персональный канал (API) — это способ подключить агента к собственному приложению, личному кабинету или самописной системе напрямую, без промежуточной площадки.

В готовых каналах (Telegram, чужой виджет на сайте, любая CRM) между вами и агентом всегда стоит сторонний сервис: он определяет формат сообщений, отвечает за доставку и решает, что можно передать, а что нельзя. В персональном канале эту роль берёт на себя ваша команда: вы получаете токен, адрес и протокол, а дальше сами пишете код, который принимает ответ агента и выводит его в интерфейсе. Отличие принципиальное: ответ агента забирает именно ваша система, написанная и обслуживаемая вашей командой.

Готовый канал (Telegram, CRM, виджет)Персональный канал (API)
Кто отдаёт интерфейссторонняя площадкаваше приложение
Формат сообщенийсвой у каждой площадкиединый JSON, описанный в руководстве
Приём ответа агентаплощадка уже умеетваш вебхук нужно написать самим
Идентификация перепискиID площадкиchat_id, который придумываете вы
Опыт разработкине требуетсяподразумевается по руководству

Проверьте на своих диалогах.Регистрация без карты, 500 ₽ на тест по промокоду BLOG500

Собрать агента

Как подключить канал в кабинете

Подключение — пять шагов, и от вас нужен только рабочий вебхук.

1 Открыть раздел «Каналы» Внутри бота выбрать «Персональный канал (API)».
2 Указать URL вебхука Адрес, на который Савви будет отправлять сообщения агента. Уточняется у вашего отдела разработки.
3 Скопировать токен Он показывается один раз сразу после подключения и нужен для авторизации ваших запросов к Савви.
4 Включить передачу секрета Опционально, но рекомендовано: API-токен или секретное слово, по которому вы отличаете запросы от Савви от чужих.
5 Нажать «Тест вебхука» Савви отправит запрос с типом test_request; успех: код 200-299 в течение 20 секунд.
!
Про токен

Токен персонального канала показывается только один раз. Если его потеряли, поддержка восстановить его не сможет: придётся сбрасывать заново и обновлять на своей стороне.

Что отправлять на адрес приёма сообщений

Чтобы передать агенту сообщение клиента, ваша система делает POST-запрос на https://api.suvvy.ai/api/webhook/custom/message с заголовками Authorization: Bearer <токен> и Content-Type: application/json.

Тело запроса — JSON с обязательными и опциональными полями:

ПолеОбязательноЧто в нём
api_versionдаверсия API, сейчас только 1
message_idдаID сообщения в вашей системе, защищает от повторной отправки
chat_idдаID чата в вашей системе, связывает сообщение с диалогом
text или attachmentsда, одно из двухтекст сообщения или вложение (картинка либо аудио, до 15 МБ)
message_senderдаcustomer или employee
sourceдачто показывается в колонке «Источник» в кабинете Савви
client_name, client_phoneнетимя и телефон клиента
placeholdersнетпеременные для инструкции агента
linkнетссылка на чат в вашей системе, отображается кнопкой в кабинете

При успехе агент отвечает телом {"message": "Successful"} — само тело смысловой нагрузки не несёт, важен только код ответа.

Как понять по коду ответа, что пошло не так

Каждая ошибка возвращает код и error_code — по ним видно, где искать проблему, не открывая переписку с поддержкой.

Кодerror_codeЧто произошло
401auth_invalid_tokenтокен неверный или устарел
424instance_channel_is_disabledканал не подключён или выключен в настройках
415file_invalid_typeтип вложения не поддерживается — ответ содержит список разрешённых
402user_balance_below_zeroбаланс Савви ушёл в минус
422ошибка валидации, тело ответа подробно описывает, что передано не так
20 сек на ответ вашего вебхука, иначе сообщение считается недоставленным
15 МБ максимальный размер файла во вложении
~15 стоимость диалога через персональный канал, как и в любом другом
Источник: По руководству платформы Савви, раздел «Персональный канал (API)».

Как ваша система получает ответ агента

Ответ приходит обратным POST-запросом на вебхук, который вы указали при подключении. В теле — event_type (new_messages или test_request) и массив new_messages с сообщениями агента: текстом или файлом, у каждого указан message_senderai или employee, если ответил человек из кабинета Савви.

Правило то же, что и в вашу сторону: код 200-299 и ответ в течение 20 секунд, иначе Савви решит, что сообщение не доставлено. Если при подключении был задан секрет, он приходит в заголовке Authorization: Bearer <секрет>, по нему вы отсеиваете запросы не от Савви, потому что обращаться к вашему вебхуку будут с разных IP-адресов.

Технический идентификатор этого канала в условиях агента — channel_name равный custom. Он пригодится, если тот же агент отвечает ещё и в других каналах и должен вести себя иначе именно в вашем приложении.

Заведите отдельный вебхук под тестирование, прежде чем подключать боевой адрес

Проверьте связку на сервисе вроде webhook.site: подключите его временный адрес вместо своего, нажмите «Тест вебхука» в кабинете и посмотрите, что реально прилетает в тело запроса. Разработчик увидит формат раньше — до того, как начнёт писать обработчик под боевую систему.

Обратная сторона — действия, которые агент вызывает наружу посреди разговора, вебхуки для CRM, 1С и подобных систем — устроена отдельно от персонального канала и разбирается в статье про интеграцию с 1С: там же про авторизацию, лимит вызовов и передачу аргументов. Для точечного запроса к вашей системе во время диалога — узнать остаток на складе, статус заказа — хватит именно такого вебхука, персональный канал здесь избыточен. Общий обзор того, что даёт связка с CRM, — в статье про интеграцию чат-бота с CRM. Полный список полей и форматов, включая получение сообщений, — в руководстве Савви.

Частые вопросы

Что такое персональный канал (API) у Савви

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

Как подключить персональный канал

В разделе «Каналы» открыть «Персональный канал (API)», указать URL своего вебхука и нажать «Подключить». Савви выдаст токен для авторизации запросов — его нужно сохранить сразу, показывается он один раз, а поддержка восстановить его не может.

На какой адрес отправлять сообщения агенту

POST-запрос на https://api.suvvy.ai/api/webhook/custom/message с заголовками Authorization: Bearer <токен> и Content-Type: application/json. В теле обязательны api_version, message_id, chat_id, message_sender и текст или вложение.

Что значит код 424 при отправке сообщения

Код 424 с error_code instance_channel_is_disabled означает, что персональный канал не подключён или отключён в настройках. Это первое, что стоит проверить, прежде чем разбирать остальные коды ошибок.

Сколько времени есть на ответ своему вебхуку

20 секунд. Ваш вебхук должен вернуть код из диапазона 200-299 за это время, иначе Савви посчитает сообщение недоставленным, и агент его не увидит.

Какой channel_name у персонального канала

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

Команда платформы СаввиПишем о том, как бизнес внедряет ИИ-агентов, на данных платформы. Обновлено 15 сентября 2026.
BLOG500
Собрать агента