Заметки
Как выбрать разные приложения телефонии по пользователю и времени
Как выбрать разные приложения телефонии по пользователю и времени: События, ограничения штатного click2call, маршрутизация.
Как выбрать разные приложения телефонии по пользователю и времени. Основной фокус: События, ограничения штатного click2call, маршрутизация.
Задача
Разобрать телефонию, звонок из CRM или ограничения браузера в приложении.
Задача — как выбрать разные приложения телефонии по пользователю и времени. События, ограничения штатного click2call, маршрутизация.
Главное — не искать один универсальный метод, а сначала определить сущность, права и слой API, через который выполняется действие.
Как это устроено
Звонок в Битрикс24 зависит от номера в карточке, маршрута телефонии, приложения, браузера и разрешений на медиа. В приложении дополнительно мешают iframe, HTTPS и политики браузера.
Разложите сценарий на уровни: где появляется исходное значение, какой метод его меняет, кто выполняет действие и какое событие должно сработать после изменения.
Если сценарий проверяется под администратором, отдельно повторите его под обычным пользователем. Для прав, CRM, задач, Диска и приложений это часто даёт другой результат.
Рабочий подход
Проверяйте цепочку полностью: формат номера, пользователя, подключённую линию, сценарий click2call, браузерные разрешения и сетевые условия. Для REST-вызовов добавьте ограничение частоты и журнал попыток.
Сделайте минимальный тест на одной сущности, сохраните входные данные и ответ метода, а затем расширяйте решение на массовый сценарий.
На коробке удобнее добавлять временное логирование рядом с местом выполнения кода, а в облаке — сохранять входящие и исходящие REST-запросы в свой журнал интеграции.
Частые ошибки
Если звонок не стартует из карточки, это не всегда ошибка REST. Часто номер не нормализован, пользователь не сопоставлен с телефонией или браузер не даёт доступ к микрофону.
- Проверять сценарий только под администратором и не видеть проблему прав обычного пользователя.
- Регистрировать placement до завершения установки и ждать, что он сразу появится у всех пользователей.
- Не логировать фактический запрос и ответ, из-за чего ошибка выглядит случайной.