← К документации

Открытые линии

Операторы и передача диалога

Как передать чат оператору или в другую очередь через публичный 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.

Источники