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

VoIPstudio — это облачная АТС с телефонными номерами в более чем 70 странах. В отличие от традиционного телеком-оператора, она поддерживает внутренних пользователей, группы перехвата, очереди и IVR-меню, а бот работает поверх этой АТС.
Бот может инициировать звонки клиентам от имени сотрудников, переводить и завершать звонки, сохранять записи и отправлять события звонков в диалог.
Получение необходимой информации
- Зарегистрируйтесь на voipstudio.com и приобретите телефонный номер в нужной стране.
- Создайте пользователей в АТС — по одному на каждого сотрудника, который будет принимать звонки. Звонки доставляются на все устройства, зарегистрированные за пользователем, поэтому указывать отдельный телефонный номер для каждого сотрудника не нужно.
- Перейдите в Настройки → 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 выставляет счёт напрямую: взимается абонентская плата за каждого пользователя АТС плюс плата за звонки. Это отличается от операторов, которые взимают плату за минуту без регулярной подписки. При оценке затрат учитывайте количество настроенных пользователей, а не только объём звонков.