В Znosin появились агенты — самостоятельные участники чатов, за которыми работает ваш сервис, программа или ИИ-модель. У каждого агента своё имя, уникальный ник и отдельный токен. Создать его можно прямо в переписке с AgentFather.
Одновременно мы открыли раздел для разработчиков. Документация доступна на сайте без входа в аккаунт. Для работы с защищёнными методами API нужен токен: открытый API не означает открытый доступ к чужой переписке.
От простых ответов до собственных сервисов
Агент может отвечать пользователям в личном чате и работать в группе, получать адресованные ему сообщения, отправлять текст, отвечать на сообщение, изменять и удалять свои ответы. Разработчик может получать вложения из сообщений, к которым агент имеет доступ.
На этой основе можно создать помощника по справочнику компании, приём заявок или интерфейс к своему сервису. Например, пользователь выбирает действие кнопкой, а ваша программа проверяет его права и возвращает результат. Логику сервиса реализует разработчик — подключение API само по себе не превращает агента в готовую систему бронирования или поддержки.
Первый агент — через AgentFather
Откройте @agentfather и отправьте /newagent. Менеджер попросит имя и свободный ник с окончанием _agent. После создания нажмите кнопку выпуска токена и подтвердите действие.
Токен показывается отдельно от переписки. Сохраните его на сервере, где будет работать ваш код, и не вставляйте в публичные страницы или исходники. Через AgentFather можно посмотреть своих агентов, изменить профиль, перевыпустить токен, отключить или снова включить агента.
Менеджер и документация поддерживают English, Русский, Українська, Deutsch, Français, Polski и 简体中文.
Команды по / — без запоминания
Введите / в поле сообщения: над ним появятся доступные команды с описаниями. По мере ввода список фильтруется. Выбрать команду можно мышью или стрелками и Enter; выбранная команда подставится в поле, где можно добавить аргументы и отправить сообщение.
В группе подсказка добавляет ник получателя: /help@support_agent. Это позволяет обратиться к конкретному агенту, даже когда их несколько.
Разработчик задаёт меню отдельно для каждого языка через API. Владелец также может отправить AgentFather команду /setcommands @nickname ru и затем список строк вида help - Помощь. Для каждого языка доступно до 20 команд.
На языке пользователя
AgentFather автоматически отвечает на языке вашего интерфейса. Команда /language ru закрепляет русский язык, а /language auto возвращает автоматический выбор. Доступны все семь языков Znosin.
Сторонним агентам API передаёт from.language_code во входящих сообщениях и нажатиях кнопок — в том числе в группах. Разработчик может выбрать переведённые ответы и кнопки для каждого собеседника. Это язык интерфейса на момент события; для старых событий или неизвестного языка приходит null. Сам API не переводит тексты вашего агента.
Кнопки прямо в сообщениях
Агенты умеют показывать несколько видов элементов управления:
- Кнопки действий под сообщением: например, «Подтвердить» и «Отменить». Нажатие передаётся агенту отдельным событием и не засоряет чат новым сообщением.
- Ссылки на сайты по HTTPS.
- Кнопки мини-приложений: открывают обычную карточку приложения в Znosin с действующими правилами доступа.
- Клавиатуру готовых ответов рядом с полем ввода. Её кнопки отправляют обычные сообщения в ответ агенту; клавиатуру можно скрыть после одного выбора.
Агент может ответить на нажатие коротким уведомлением или отдельным окном, а также изменить своё сообщение и кнопки. Пересылка сообщения не переносит действующие кнопки агента.
Доступ ограничен задачей агента
Токен самостоятельного агента не даёт доступ к аккаунту его владельца, почте или кошельку. Для действий от имени пользователя существует отдельный механизм разрешений.
В личном диалоге человек пишет первым. В группе агент получает команды и ответы на свои сообщения; обычный разговор участников не передаётся ему через очередь обновлений. При выборе команды в меню используется адрес конкретного агента. Доступ к чату и исходному сообщению повторно проверяется при обработке нажатий.
При подключении своего сервиса разработчик всё равно проверяет бизнес-права пользователя: например, может ли именно этот человек подтвердить конкретную заявку.
Подключайте свой код и ИИ
Вы сами выбираете язык программирования и место запуска. Можно подключить свою ИИ-модель или внешнего провайдера, но это отдельная часть вашей программы: Agent API доставляет события и ответы.
В руководстве Agent API есть методы, ограничения, примеры запросов и описание получения событий. Рядом доступны OpenAPI-схема и пример на Python с кнопками. Для нажатий используется режим callbacks=true; получение событий работает через long polling. Webhook и загрузка исходящих вложений пока не входят в эту версию.
Начните с небольшого агента: /start, /help и одна полезная кнопка. Дальше расширяйте его под свою задачу.