Чтобы использовать телефонию VoIPstudio в Mavibot, необходимо создать API-ключ в вашем аккаунте VoIPstudio, ввести его в настройках интеграции и настроить доставку событий на URL, который Mavibot отображает после подключения интеграции.

VoIPstudio — это облачная АТС с телефонными номерами в более чем 70 странах. В отличие от традиционного телеком-оператора, она поддерживает внутренних пользователей, группы перехвата, очереди и IVR-меню, а бот работает поверх этой АТС.

Бот может инициировать звонки клиентам от имени сотрудников, переводить и завершать звонки, сохранять записи и отправлять события звонков в диалог.

Получение необходимой информации

  1. Зарегистрируйтесь на voipstudio.com и приобретите телефонный номер в нужной стране.
  2. Создайте пользователей в АТС — по одному на каждого сотрудника, который будет принимать звонки. Звонки доставляются на все устройства, зарегистрированные за пользователем, поэтому указывать отдельный телефонный номер для каждого сотрудника не нужно.
  3. Перейдите в Настройки → API, создайте API-ключ и скопируйте его.

Подключение интеграции

В настройках телефонии выберите VoIPstudio и укажите:

  • API-ключ — ключ из вашего аккаунта VoIPstudio.

Интеграция подключена. Чтобы отключить её, очистите поле API-ключ и сохраните настройки.

После сохранения на странице появится URL уведомлений. Скопируйте его:

https://chatter.mavibot.ai/voipstudio_webhook/

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

Затем в вашем аккаунте VoIPstudio перейдите в Интеграции → Webhooks → Включить → Добавить webhook, вставьте скопированный URL и выберите следующие события:

  • Изменение состояния звонка — или выберите отдельно «Звонок звонит», «Звонок соединён», «Звонок завершён» и «Звонок пропущен»;
  • Запись звонка готова — если вам нужны записи звонков.

Без этой настройки исходящие звонки будут работать, но события звонков не будут отображаться в диалоге.

Сотрудники

В настройках сотрудника заполните поле VoIPstudio User ID — числовой идентификатор пользователя в вашей АТС, например 10002.

Введите ID пользователя АТС, а не телефонный номер. ID можно найти в списке пользователей в вашем аккаунте VoIPstudio. Без него кнопка звонка в карточке клиента не будет работать для этого сотрудника.

Звонок из карточки клиента

Рядом с номером телефона клиента в карточке диалога появится кнопка звонка.

VoIPstudio сначала звонит сотруднику на все его зарегистрированные устройства одновременно. Как только сотрудник отвечает, VoIPstudio звонит клиенту и соединяет обе стороны.

Если сотрудник не отвечает, клиенту звонок не будет совершён.

Функции калькулятора

Звонок сотрудника клиенту

voipstudio_employee_call(client_phone, employee_user_id, caller_id)

Параметры:

  • client_phone — номер телефона клиента. Обязательный.
  • employee_user_id — ID пользователя VoIPstudio сотрудника, который должен получить первый звонок. Обязательный.
  • caller_id — номер телефона, отображаемый клиенту. Необязательный. Можно передать anonymous, чтобы скрыть идентификатор звонящего.

Перевод звонка

voipstudio_transfer_call(phone, call_id)

Переводит активный звонок на другой номер телефона.

Параметры:

  • phone — номер телефона, на который следует перевести звонок. Обязательный и должен быть первым параметром.
  • call_id — идентификатор звонка. Необязательный. Если не указан, текущий звонок клиента берётся из переменной voipstudio_call_id.

Завершение звонка

voipstudio_hangup_call(call_id)

Завершает активный звонок.

Параметры:

  • call_id — идентификатор звонка. Необязательный. Если не указан, используется текущий звонок клиента.

Получение ссылки на запись звонка

voipstudio_get_record_link(call_id)

Возвращает ссылку на запись звонка. Ссылка обычно сохраняется автоматически при получении события о готовности записи. Эта функция полезна, если такое событие не было получено.

Параметры:

  • call_id — идентификатор звонка. Необязательный. Если не указан, используется текущий звонок клиента.

Функция ищет среди 100 последних записей в аккаунте. Для более старого звонка на АТС с высокой нагрузкой запись может не быть найдена. В этом случае получите запись напрямую из вашего аккаунта VoIPstudio.

Обратные вызовы во время звонка

По мере развития звонка в диалог отправляются обратные вызовы в следующем формате:

voipstudio_call_event call.hangup

Имя события передаётся точно так, как получено от VoIPstudio, например call.ringing, call.connected, call.hangup и другие. Доступные события зависят от того, какие события вы выбрали при настройке уведомлений.

Если имя события не указано, вместо него используется состояние звонка:

INITIAL, RINGING, CONNECTED, ON_HOLD, HANGUP.

Отдельный обратный вызов отправляется, когда запись готова:

voipstudio_call_event recording

Дождитесь обратного вызова recording, прежде чем использовать ссылку на запись. Запись обрабатывается после завершения звонка, поэтому переменная voipstudio_record_link всё ещё пуста при получении call.hangup.

Если два сотрудника внутри вашей АТС разговаривают друг с другом, обратные вызовы не отправляются в диалог и карточка клиента не создаётся.

Переменные клиента после звонка

Переменная Значение
voipstudio_call_id ID звонка в VoIPstudio
voipstudio_call_state Состояние звонка: INITIAL, RINGING, CONNECTED, ON_HOLD, HANGUP
voipstudio_call_duration Продолжительность звонка в секундах
voipstudio_call_cause Причина завершения звонка
voipstudio_terminated_by Кто завершил звонок: caller или callee
voipstudio_record_link Ссылка на запись звонка
voipstudio_record_id ID записи в VoIPstudio

Записи звонков

Запись звонков включается в настройках VoIPstudio и управляется самой АТС. Если вам нужны записи, включите запись звонков в вашем аккаунте VoIPstudio и выберите событие Запись звонка готова при настройке уведомлений.

URL voipstudio_record_link защищён ключом доступа. Его нельзя открыть напрямую в браузере или передать клиенту. Вы можете скачать запись из вашего аккаунта VoIPstudio в разделе истории звонков.

Запись звонков регулируется действующим законодательством. В Германии, Франции, Испании и большинстве штатов США может требоваться согласие обеих сторон, а в некоторых юрисдикциях — также устное уведомление в начале звонка. Владелец аккаунта VoIPstudio несёт ответственность за соблюдение этих требований.

Устранение неполадок

Ошибка Причина
Ошибка авторизации при создании звонка API-ключ неверен или истёк. Убедитесь, что ключ создан в разделе Настройки → API, а не получен через запрос login.
Звонки работают, но обратные вызовы не появляются в диалоге В VoIPstudio не создан webhook, переключатель Включить выключен или введён неверный URL. Скопируйте весь URL со страницы интеграции, включая ключ в конце.
Не удаётся создать звонок или устройства сотрудника не звонят Вместо VoIPstudio User ID введён телефонный номер, или у пользователя нет зарегистрированных устройств.
Обратный вызов recording не получен Запись звонков не включена в VoIPstudio или не выбрано событие Запись звонка готова.

VoIPstudio выставляет счёт напрямую: взимается абонентская плата за каждого пользователя АТС плюс плата за звонки. Это отличается от операторов, которые взимают плату за минуту без регулярной подписки. При оценке затрат учитывайте количество настроенных пользователей, а не только объём звонков.