Developer community

Получение статусов пользователей из voxEngine

  •  
    Макс asked this on July 1, 2017 at 11:07 am

    Добрый день, интересует возможность узнать статус пользователя.
    Задача такая: у наших операторов техподдержки есть внутренний интерфейс, в который встроен вокс через webSDK. Там оператор только лишь выставляет статус, звонки при этом поступают на выделенный физический sip-телефон. Аккаунт у них общий (скажем support).
    Сделано это потому что звонить с ПК через WebSDK банально неудобно.

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

    В офисе днем работает только один оператор, который время от времени куда то уходит (например на обед, вглубь офиса или просто задерживается утром или решил поработать удаленно), в такие моменты при невозможности дозвониться или если очередь пуста (ловлю события ACDEvents.Offline, ACDEvents.OperatorFailed) – назначаем редирект на мобильный номер, но номеров столько сколько операторов, и каждый день номер приходится менять вручную в скрипте voxEngine на соответствующий тому человеку, кто сегодня работает.

    Хотелось бы создать для операторов по отдельной учетной записи для авторизации через webSDK, а в voxEngine проверять статусы этих операторов, что бы назначать номер для переадресации в зависимости от первого подходящего оператора. Т.е идеально было бы получить что то вроде такого обьекта [{ name: ‘operator1’, status: ‘online’ }, { name: ‘operator2’, status: ‘offline’ }, …], либо метода вроде .getUserStatus(‘operator1’), но ничего подобного в документации к voxEngine я не нашел.

    Мне пока пришло в голову несколько крайне идиотских решений:
    – создать несколько очередей, по очереди на оператора + одну основную, где всегда активен support (наш уважаемый SIP-телефон), а дальше чекать ACDEvents.Offline событие каждой очереди и таким образом выяснить в какой же очереди есть активный сотрудник.
    – отправлять запросы к нам на сервер при каждом звонке, а тот уже как то ответит что за человек сегодня работает. Немного костыльно, тем не менее поаккуратнее предыдущего решения.
    – выделить ребятам отдельный рабочий сотовый и пусть они с ним не расстаются, по очереди передавая друг другу и забирая домой при необходимости. Мало подходит.

    Возможно есть какое то более красивое решение, но без необходимости держать звонилки на рабочих местах (принимать звонки через sip-телефон удобнее) ?
    Вот тут похожий вопрос (http://voximplant.com/help/developer-community/topic/как-проверить-онлайн-ли-пользователь/) – обещали некую presense систему. Но решение которое там подсказывают и так у меня используется по сути.

    Спасибо.

    Comments

  •  
    • Grigory

      Добрый день

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

      Из JavaScript сценария можно делать HTTP запрос в ваш backend, который будет отдавать номер текущего оператора.

      Хотелось бы создать для операторов по отдельной учетной записи для авторизации через webSDK, а в voxEngine проверять статусы этих операторов

      Мы не предлагаем такую функциональность “из коробки”. Все наши клиенты, которым нужно подобное решение, делают свой несложный backend, где отслеживают статусы операторов. Статус вы передаете с той же веб страницы, где запущен WebSDK.

      July 2, 2017 at 7:02 pm
 
Reply To: Получение статусов пользователей из voxEngine
Your information: