Page tree
Skip to end of metadata
Go to start of metadata

API (Application Programming Interface) — это интерфейс программирования, интерфейс создания приложений. Можно сказать, что API — готовый код для упрощения жизни программисту.

Как интерфейс API позволяет разработчикам использовать готовые блоки для построения приложения. В случае написания веб-приложений API может отдавать данные в отличном от стандартного HTML формате, благодаря чему им удобно пользоваться при написании собственных приложений. 

На сегодняшний день мы поддерживаем два способа интеграции приложений, WebSocket API позволит вам создавать веб-приложения для управления звонками в реальном режиме времени, а HTTP API предназначено для получения и обработки статической информации.

Также в onlinePBX есть веб-хуки. Они уведомляют сторонние сервисы об изменениях в АТС.

Ваши вопросы по работе с API вы можете задать, написав на почту support@onlinepbx.ru.
При отключении аккаунта запросы по API будут работать ещё семь дней. После будут отключены до продления лицензии.

Содержание

Callback API 0.3 [beta]

HTTP API

WebSockets API 3.0.0

Переход на WebSockets API 3.0

Ответы на вопросы про WebSockets API 3.0.


Это API, который построен поверх протокола WebSocket. Предназначен для получения событий от нашей АТС в режиме реального времени. Благодаря этому API у разработчиков появляется возможность для интеграции onlinePBX в ваши бизнес-процессы.

Тех, кто пользовался WebSockets API 2.0 в самописных интеграциях. Если вы пользуетесь CRM-системой, то уточните как именно написана интеграция у технической поддержки CRM, при необходимости отправьте ссылку на эту статью. Это не касается CRM-систем: amoCRM, Битрикс24, МойСклад, YClients — они написаны с нашей стороны и не используют эту технологию.

WebSockets API 2.0 позволяло расширить возможности АТС — написать свою интеграцию или простые запросы, реализовать своё видение работы. Со временем мы столкнулись с рядом технических проблем — в некоторых случаях некорректное использование могло излишне нагрузить сервера, было сложно разобраться во множестве команд, некоторые из них никогда не использовались, а некоторые дублировали существующие. Из-за этого было решено создать версию 3.0, в которой мы смогли избавиться от этих минусов.

Стабильностью и чистотой архитектуры, ещё мы избавились от негативного влияния на нагрузку серверов. Осталось только нужное, теперь в документации гораздо проще ориентироваться, а наш сервис стал стабильнее.

  • Удалены неиспользовавшиеся переменные и команды (eavesdrop, reboot_phone, reloadgw, sip_message, message);

  • Часть команд перенесена в HTTP API (команды: make_call, flush_reg, trunk_list, user_list);

  • Переименованы многие контакты и события — теперь они более логичны;

  • Добавлены новые переменные, которые могут быть полезны;

  • Добавили возможность проверки номера на его наличие в чёрном списке.

Да. Вы можете воспользоваться документацией по WebSockets API 3.0 и, если возникнут вопросы, — написать нам на support@onlinepbx.ru.

Новая версия WebSockets не поддерживает клиент socket.io-client.

Мы больше не поддерживаем эту версию.


Частые запросы

Наиболее частые проблемы и их решение.


Звонки могут не выгружаться из-за разных факторов:

  • Проверьте в какую базу данных отправлен запрос. Старая версия API не поддерживается. Используйте новое API: OnlinePBX HTTP API — https://api2.onlinepbx.ru/documentation.
  • Проверьте корректность отправленного запроса.
  • В запросе отсутствует параметр download=1.
  • Проверьте наличие звонка в панели управления и сверьте UUID.

Для диагностики вышлите полное тело запроса на почту нашей технической поддержки: support@onlinepbx.ru .

Историю звонков можно получить при помощи POST-запроса https://api2.onlinepbx.ru/domain.onpbx.ru/mongo_history/search.json. Вместо domain.onpbx.ru укажите название вашего домена (имеет вид example.onpbx.ru). Для запроса необходим хотя бы один параметр. 

При запросе звонков accountcode=missed вернутся звонки с accountcode=inbound. Это связано с тем, что пропущенные звонки — это входящие звонки без разговора. Пропущенные звонки хранятся в базе как входящие звонки.

Максимальный интервал, за который можно получить звонки в одном запросе (кроме запросов с uuid) — одна неделя. То есть, разница между параметром start_stamp_to и start_stamp_from, или end_stamp_to и end_stamp_from не должна превышать максимальный интервал в секундах. Если интервал превышает максимальный, то будут возвращены звонки за последний максимальный интервал из этого интервала. Если не указан ни один из этих параметров: start_stamp_to, start_stamp_from, end_stamp_to, end_stamp_from, то будут возвращены звонки за текущие сутки (GMT-0).

Для получения информации о звонках в режиме реального времени используйте WebSockets API и Веб-хуки.

Если необходима простая история звонков, то рекомендуем использовать HTTP API, метод https://api2.onlinepbx.ru/domain.onpbx.ru/mongo_history/search.json.  Вместо domain.onpbx.ru укажите название вашего домена (имеет вид example.onpbx.ru). В зависимости от того, как необходимо получить историю (за определенный период, по номеру, по домену и т. д.), используйте требуемый параметр. Подробнее в документации.

Долгая обработка запроса может быть связана с высокой нагрузкой на сервер, а также большим объёмом отсылаемого запроса.


Вы не нашли ответ на свой вопрос?

Обратитесь в нашу техническую поддержку:

+7 (495) 669-67-21
+7 (343) 302-01-37
+7 (812) 646-51-40

Почта — support@onlinepbx.ru