Открытые линии
Операторы и передача диалога
Как передать чат оператору или в другую очередь через публичный API.
Передача оператору
В CHAT_ID передаётся ID чата открытой линии. USER_ID — целевой оператор, а не пользователь, от имени которого исполняется запрос.
BX24.init(function () {
BX24.callMethod("imopenlines.operator.transfer", {
"CHAT_ID": 123,
"USER_ID": 15
}, function (result) {
if (result.error()) {
console.error(result.error());
return;
}
console.log(result.data());
});
});Для передачи в другую линию вместо USER_ID задаётся QUEUE_ID. Метод также принимает универсальный TRANSFER_ID; используйте один способ адресации, а не все три одновременно.
Действия выбираются по сценарию
Принять диалог, передать, пропустить, завершить и пометить спамом — разные действия. Они не должны идти подряд в одном «примерном» скрипте: последнее может уничтожить смысл предыдущего.
imopenlines.operator.answer— принять диалог.imopenlines.operator.transfer— передать оператору или линии.imopenlines.operator.skip— пропустить.imopenlines.operator.finish— завершить свой диалог.
Контекст оператора
Запрос выполняется с правами пользователя авторизации. Указание чужого USER_ID в параметрах не даёт права управлять чужой сессией. Доступность действия зависит от состояния диалога и очереди.
Внутренний PHP-класс Operator меняется вместе с модулем. Непроверенный вызов конструктора с одним chat ID здесь не используется как универсальная замена REST.