Skip to end of metadata
Go to start of metadata

Веб-хук (webhook) — это отправка запросов по событиям из onlinePBX. Запросы уведомляют сторонние сервисы об изменениях в АТС. Позволяют отслеживать звонки, их состояние и другие события onlinePBX — информация отправляется на указанный URL. Веб-хуки могут использоваться для интеграции.

Подключение

Для подключения веб-хуков необходимо указать адрес URL, куда будут отправляться POST-запросы. Для этого в панели управления перейдите в Профиль > Веб-хуки, в строке введите URL и нажмите «Добавить».

После добавления вы можете выбрать, какие именно события хотите получать. На выбор есть четыре варианта. Не забудьте сохранить и подтвердить изменения.

(warning) Веб-хуки будут отправляться только если на указанном URL действительный сертификат безопасности (SSL-сертификат).

Примеры запросов

Начался звонок

{
"domain":"onlinepbx.ru",
"event":"call_start",
"direction":"outbound",
"uuid":"d02d3dd1-36f9-41g8-9055-3139369h6h90",
"caller":"505",
"callee":"79111117960",
"from_domain":"onlinepbx.ru",
"to_domain":"",
"gateway":"74991111282",
"date":"1528886454"
}

 

 

Ответили на звонок

{
"domain":"onlinepbx.ru",
"event":"call_answered",
"direction":"outbound",
"uuid":"2c033c12-7310-4v4v-9b42-8bb207b17322",
"caller":"505",
"callee":"79111117799",
"to_domain":"",
"gateway":"74991111112",
"date":"1528888621"
}

Завершился звонок

{
"domain":"onlinepbx.ru",
"event":"call_end",
"direction":"outbound",
"uuid":"6q5qq87q-0w32-4e23-8570-3r6rr6rrrr2r",
"caller":"145",
"callee":"79502222919",
"from_domain":"onlinepbx.ru",
"to_domain":"onlinepbx.ru",
"gateway":"74991111282",
"date":"1528884937",
"call_duration":"149",
"dialog_duration":"135",
"hangup_cause":"NORMAL_CLEARING",
"hangup_by":"caller"
}

Пропущенный звонок

{

"domain":"onlinepbx.ru",
"event":"call_missed",
"uuid":"5329a333-ss32-4dd9-ff0f-gh84g32h5g22",
"caller":"79221111123",
"from_domain":"onlinepbx.ru",
"to_domain":"onlinepbx.ru",
"gateway":"73431111137",
"date":"1529406933"
}

Список переменных и описание

ПеременнаяПример значения переменнойОписание переменной
1domainexample.onpbx.ruДомен, в котором состоялось событие
2eventcall_end / call_answered / call_startТип события
3directioninbound / outboundТип звонка (входящий/исходящий)
4uuid5921a027-c22f-4351-b495-30a49f00e4e1Уникальный идентификатор сессии
5caller+79510057057 / 510@onlinepbx.ruЗвонящий
6callee79827347182 / 102Кому звонили
7from_domainexamplefrom.onpbx.ruДомен звонящего
8to_domainexampleto.onpbx.ruДомен того, кому звонили
9gateway74922296721Транк, на/с которого позвонили
10date1527578Дата в формате UNIX
11call_duration159Общая длительность звонка (сек.)
12dialog_duration145Длительность разговора (сек.)
13hangup_causeNORMAL_CLEARINGПричина завершения звонка
14hangup_bycaller / calleeКто инициировал завершение вызова

Формат запросов

Все HTTP-запросы отправляются в формате POST, тело запроса в формате application/x-www-form-urlencoded.

 

Веб-хук (webhook) — это отправка запросов по событиям из onlinePBX. Запросы уведомляют сторонние сервисы об изменениях в АТС. Позволяют отслеживать звонки, их состояние и другие события onlinePBX — информация отправляется на указанный URL. Веб-хуки могут использоваться для интеграции.

Подключение

Для подключения веб-хуков необходимо указать адрес URL, куда будут отправляться POST-запросы. Для этого в панели управления перейдите в Профиль > Веб-хуки, в строке введите URL и нажмите «Добавить».

После добавления вы можете выбрать, какие именно события хотите получать. На выбор есть четыре варианта. Не забудьте сохранить и подтвердить изменения.

(warning) Веб-хуки будут высылаться только если на указанном URL действительный сертификат безопасности (

если на указанном URL действительный сертификат безопасности.

.

Примеры запросов

Начался звонок

{
"domain":"onlinepbx.ru",
"event":"call_start",
"direction":"outbound",
"uuid":"d02d3dd1-36f9-41g8-9055-3139369h6h90",
"caller":"505",
"callee":"79111117960",
"from_domain":"onlinepbx.ru",
"to_domain":"",
"gateway":"74991111282",
"date":"1528886454"
}

 

 

Ответили на звонок

{
"domain":"onlinepbx.ru",
"event":"call_answered",
"direction":"outbound",
"uuid":"2c033c12-7310-4v4v-9b42-8bb207b17322",
"caller":"505",
"callee":"79111117799",
"to_domain":"",
"gateway":"74991111112",
"date":"1528888621"
}

Завершился звонок

{
"domain":"onlinepbx.ru",
"event":"call_end",
"direction":"outbound",
"uuid":"6q5qq87q-0w32-4e23-8570-3r6rr6rrrr2r",
"caller":"145",
"callee":"79502222919",
"from_domain":"onlinepbx.ru",
"to_domain":"onlinepbx.ru",
"gateway":"74991111282",
"date":"1528884937",
"call_duration":"149",
"dialog_duration":"135",
"hangup_cause":"NORMAL_CLEARING",
"hangup_by":"caller"
}

Пропущенный звонок

{

"domain":"onlinepbx.ru",
"event":"call_missed",
"uuid":"5329a333-ss32-4dd9-ff0f-gh84g32h5g22",
"caller":"79221111123",
"from_domain":"onlinepbx.ru",
"to_domain":"onlinepbx.ru",
"gateway":"73431111137",
"date":"1529406933"
}

Список переменных и описание

ПеременнаяПример значения переменнойОписание переменной
1domainexample.onpbx.ruДомен, в котором состоялось событие
2eventcall_end / call_answered / call_startТип события
3directioninbound / outboundТип звонка (входящий/исходящий)
4uuid5921a027-c22f-4351-b495-30a49f00e4e1Уникальный идентификатор сессии
5caller+79510057057 / 510@onlinepbx.ruЗвонящий
6callee79827347182 / 102Кому звонили
7from_domainexamplefrom.onpbx.ruДомен звонящего
8to_domainexampleto.onpbx.ruДомен того, кому звонили
9gateway74922296721Транк, на/с которого позвонили
10date1527578Дата в формате UNIX
11call_duration159Общая длительность звонка (сек.)
12dialog_duration145Длительность разговора (сек.)
13hangup_causeNORMAL_CLEARINGПричина завершения звонка
14hangup_bycaller / calleeКто инициировал завершение вызова

Формат запросов

Все HTTP-запросы отправляются в формате POST, тело запроса в формате application/x-www-form-urlencoded.

 

  • No labels

16 Comments

  1. Anonymous

    Есть ли инструмент что бы тестировать хуки? 

    1. Добрый день!

      Такого инструмента у нас нет. Если у вас есть вопросы по работе веб-хуков, вы можете их задать нашим инженерам, написав на почту: support@onlinepbx.ru.

      Благодарю вас за комментарий!

    2. Anonymous

      Postman или
      Adavnced REST Client

      в помощь

      1. Добрый день!

        Спасибо за информацию. Насколько известно, с помощью этих инструментов можно осуществить запросы к API, но в данном случае они могут не помочь, так как веб-хуки не являются частью API. Сервер отправляет информацию в веб-хуке не в ответ на запрос извне, а в тот момент, когда происходит какое-то событие внутри. Скорее всего эти приложения не смогут обработать информацию, которая поступила не по запросу.

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

        Почта для обратной связи - support@onlinepbx.ru

  2. Anonymous

    Добрый день! В хуке по завершению звонка, если были переводы между сотрудниками, то в caller/callee придет добавочный того, кто инициировал звонок или кто последний разговаривал?

    То есть, если если звонок начал 100, во время звонка перевел на 105, то кто придет в caller?

    1. Anonymous

      Добрый день!

      При таком сценарии в поле caller/callee придёт добавочный сотрудника, на которого был перевод звонка. В вашем примере это 105-й пользователь.

      Благодарю за ваш комментарий!

  3. Anonymous

    Добрый день!

    Делаю интеграцию на webhook'ах с МойСклад и столкнулся с тем, что нет возможности идентифицировать один звонок в рамках нескольких хуков. Нет глобального идентификатора для всего цикла. Я в начале полагал, что таким идентфикатором является поле uuid, но по факту это идентификатор канала, который меняется в процессе обработки звонка. К примеру, на входящий звонок может быть три хука: call_startcall_answered и call_end, при этом uuid для всех этих хуков одного звонка не будет идентичным. 
    Если у вас нет технической возможности предоставить некий глобальный идентификатор для такой сессии, то хотя бы передавать в хуке взаимосвязь между идентификаторами каналов. В таком случае можно будет выйти на самый первый id канала и идентифицировать звонок для которого получен очередной хук.
    Виталий, vensi.onpbx.ru
    1. Виталий, добрый день!

      Составил заявку в технический отдел. В ближайшее время инженеры дадут ответ на почту администратора аккаунта или позвонят по контактному номеру телефона.

      Благодарю вас за развёрнутый комментарий!

      1. Anonymous

        uuid — разный на каждом этапе хука.

        1. Добрый день.

          Момент с разными uuid поправили, сейчас все веб-хуки должны быть с одним и тем же uuid. 

          Если у вас остались вопросы напишите нам на почту support@onlinepbx.ru.

  4. Anonymous

     Допустим перевод был на группу.  Подскажите, как узнать конкретно того, кто ответил на звонок. В каком поле какого хука. Или это по запросу HTTP API нужно делать?

    1. Добрый день!

      Необходимо просмотреть в событии "call_answered" поле "callee". В нём вы увидите того, кто принял звонок.

      Если во время разговора сотрудник перевел вызов на коллегу, можно также просмотреть событие "call_end" поле "callee". Там будет указано, кто последний разговаривал с клиентом.

      Благодарю вас за комментарий!

  5. Anonymous

    В случае с проигрыванием mp3/wav в http запросах, есть проблема —с https mp3 не играла.

    В хуках тоже https не работает...

    1. Добрый день.

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

      Напишите, пожалуйста, нам на почту support@onlinepbx.ru или укажите контактные данные для связи. 

      1. You are not logged in. Any changes you make will be marked as anonymous. You may want to Log In if you already have an account.
        CAPTCHA image
         
  6. Anonymous

    В ответ на web-hook "Начался звонок" есть возможность отправлять:


    set_name "Name"
    transfer 100

    Так же как в http запросах?

    1. Добрый день!

      К сожалению нет. Web-hook отправляет информацию на ваш сервер, но при этом не ожидает ответа. В этом случае лучше использовать http запросы.