Для AI-агентов: markdown этой страницы — /docs-content/bots/openlines.md индекс документации — /llms.txt
Бот в открытой линии
Бот может передать сессию сотруднику, перевести её в выбранную очередь, завершить или запросить автоматическое сообщение линии. Нужны оба скоупа imbot и imopenlines и ключ, которому принадлежит бот. READONLY-ключ не выполняет эти действия.
| Действие | Маршрут |
|---|---|
| Передать оператору | POST /v1/bots/:botId/openlines/session/operator |
| Перевести | POST /v1/bots/:botId/openlines/session/transfer |
| Завершить | POST /v1/bots/:botId/openlines/session/finish |
| Автосообщение | POST /v1/bots/:botId/openlines/session/auto-message |
Передача человеку
Оставьте welcomeBotId в настройках линии: он определяет бота, который начинает диалог. Вместо /v1/bots/:botId/chats/:dialogId/leave вызывайте .../session/operator для передачи оператору или .../session/transfer с queueId для выбранной очереди. /leave меняет состав участников IM-чата и не передаёт сессию в очередь.
У transfer есть явный leave: true, чтобы бот покинул чат после перевода; без него бот остаётся. У operator параметра leave нет. welcomeBotLeft: "queue" задаёт момент выхода в нативном сценарии; его влияние на API-переход не установлено, поэтому для управляемого выхода используйте transfer с leave.
Идентификаторы и права
botId — числовой идентификатор Б24. chatId берите из event.data.chat.id либо sessions[].chatId в поиске сессий. Принимаются положительное безопасное целое, числовая строка или chat<N>. dialogId принимается только в форме chat<N>: голое число обозначает личный диалог с сотрудником, а не сессию линии. Алиас CHAT_ID читается после chatId и dialogId; null пропускается, ошибочное присутствующее значение вызывает 400.
Права на сессию проверяет Б24. Наша проверка владения относится к боту из пути, а не к принадлежности чата. Все четыре действия и операторские answer/finish делят лимит 30 запросов в минуту на портал; лимит на процессе делится на число активных реплик.
Секрет бота хранится на сервере; передавать его в запросе не нужно. CLIENT_ID нужен только внутреннему вызову transfer/finish на вебхуке. При BOT_ID_ERROR сервер один раз пробует альтернативную композицию; прочие отказы не повторяются.
Аудит фиксирует успешные вызовы и отказы Б24, идентификатор ключа, бота, чата и цель перевода. Текст автосообщения в аудит не записывается. Бот из пути в аудите не гарантирует, что Б24 резолвил именно его под OAuth.