API для дилеров и партнеров

Благодаря API вы можете предлагать вашим клиентам услуги телефонии, без необходимости их регистрации в Zadarma. Более того, клиенты могут получать телефонию под вашим брендом (Whitelabel).

При этом вы можете предлагать телефонию не как отдельную услугу, а как часть вашей системы, с которой вы можете максимально плотно её интегрировать.

Если кратко - ваши клиенты могут звонить и принимать звонки из вашего 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, WAV

8. Доступ к 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/