Благодаря API вы можете предлагать вашим клиентам услуги телефонии, без необходимости их регистрации в Zadarma. Более того, клиенты могут получать телефонию под вашим брендом (White Label).
При этом вы можете предлагать телефонию не как отдельную услугу, а как часть вашей системы, с которой вы можете максимально плотно её интегрировать.
Если кратко - ваши клиенты могут звонить и принимать звонки из вашего web-интерфейса, используя все возможности АТС Zadarma и даже больше.
Все возможности и методы API Zadarma
Для работы с описанными методами нужно получить доступ в кабинет дилера Zadarma. Если у вас еще нет доступа, создайте тикет в финансовый отдел сервиса.
Возможности интеграции:
- Создание новых пользовательских аккаунтов Zadarma из родительского аккаунта дилера и управление этими аккаунтами
- Перевод баланса между дилером и дочерним аккаунтом
- Подключение виртуальных номеров
- Создание и настройка виртуальной АТС
- Получение ключей API пользовательского аккаунта
- Установка ссылки webhook для управления входящими звонками АТС
- Создание WebRTC виджетов для пользовательских аккаунтов и т.д.
Последовательность действий для подключения телефонии вашему клиенту:
1. Регистрация пользователя (Создание нового аккаунта Zadarma) выполняется методом POST /v1/reseller/users/registration/new/ :
Для завершения регистрации пользователя необходимо подтверждение регистрации методом POST /v1/reseller/users/registration/confirm/
Для получения тестовых средств и возможности пополнить счет, нужно добавить и подтвердить контактный номер телефона пользователя. Добавление контактного телефона производится методом POST /v1/reseller/users/phones/add/ .
Для подтверждения номера, отправляем SMS c кодом /v1/reseller/users/phones/prove_by_sms, пользователь вводит код на вашем сайте и вы его передаете методом /v1/reseller/users/phones/confirm .
2. Перевод средств с баланса дилера на баланс пользовательской учетной записи выполняется методом GET /v1/reseller/users/topup/ .
3. Подключение виртуальных номеров подробно описано здесь, просто добавьте к методу параметр user_id с идентификатором пользователя для которого выполняется действие (Подключение номера, загрузка документа и тд).
4. Используя метод POST /v1/pbx/create/ вы можете создать виртуальную АТС Zadarma для вашего пользователя.
5. Создайте каждому сотруднику внутренний номер АТС,используя метод POST /v1/pbx/internal/create/ .
Включите запись звонков в облако на внутреннем номере АТС, используя метод PUT /v1/pbx/internal/recording/ .
6. Для распределения входящих звонков в АТС существуют голосовые меню (IVR) и сценарии (пункты меню - группы внутренних номеров на которые поступают звонки). Метод /v1/pbx/create/ создает АТС с минимальным количеством настроек: 1 внутренний номер и 1 сценарий “без нажатия” (на который идут все звонки по умолчанию). Далее вы можете создать нужное количество меню и сценариев внутри меню.
Сценарии необходимы также при динамическом управлении голосовым меню, если вы хотите одновременно направить звонки больше чем на один внутренний номер. Создать новый сценарий можно с помощью метода /v1/pbx/ivr/scenario/create/ , посмотреть список /v1/pbx/ivr/scenario/ и удалить /v1/pbx/ivr/scenario/delete/. При создании сценария задается список внутренних номеров на которые звонить и кнопка при нажатии которой сценарий сработает. Если вы планируете не задавать кнопку в настройках, а использовать динамическое меню, задайте параметр push_button больше 11.
7. Аудиофайл для голосового меню вы можете загрузить в виртуальную АТС методом POST /v1/pbx/ivr/sounds/upload :
Размеры аудиофайлов для загрузки - до 5Мбайт, допустимые форматы - MP3, WAV8. Доступ к API. Пользователь может также использовать API для работы со своим аккаунтом либо для интеграции со сторонними сервисами или CRM, для этого ему необходимо сгенерировать ключи. Ключи можно сгенерировать самостоятельно в личном кабинете, либо дилер может получить эти ключи, используя метод POST /v1/reseller/users/api_key/ с параметром user_id - id пользователя. В ответе будет содержаться "key" и "secret" пользователя, для доступа к его API.
Также можно задать url, на который будут отправлять уведомления о звонках виртуальной АТС пользователя, используя метод POST /v1/pbx/callinfo/url/ . И отдельно url для других уведомлений (Актуализация контактов, Коллтрекинг, СМС и Речевая аналитика), используя метод POST /v1/pbx/webhooks/url/ . Параметры одинаковые для обоих запросов url - ссылка и user_id - id пользователя.
9. Для динамического управления голосовым меню и входящими звонками клиента, вы можете задействовать готовую PHP библиотеку доступную на нашем Github либо реализовать своё решение используя нашу систему уведомлений о звонках, подробнее здесь.
10. Интеграция виртуальной АТС с сторонней CRM подробно описана в отдельной инструкции здесь.
11. Для совершения звонков клиента через ваш веб интерфейс, используйте WebRTC виджет по инструкции. Также вы можете предложить подключить любые приложения и оборудование по протоколу SIP. Параметры их подключения (логин-пароль) вы можете получить через методы /v1/pbx/internal/