← Назад до функцій
PearlPBX2

REST API та інтеграції

Повний REST API за /api/v1/, endpoint статусу Asterisk в реальному часі, FastAGI-сервер, callback daemon та шаблони CRM-інтеграції.

PearlPBX2 надає версіонований REST API на базі Django REST Framework, що дає зовнішнім системам програмний доступ до агентів, черг, CDR-даних, списків блокування та стану Asterisk. Окремий FastAGI-сервер (порт 4573) дозволяє dialplan Asterisk викликати Python-логіку під час дзвінка. Callback daemon інтегрується з AMI для ініціювання вихідних дзвінків.

Ключові можливості

Версіонований REST API за /api/v1/ — агенти, черги, CDR, blocklist, контакти, callback'и

Endpoint статусу в реальному часі: повертає стан Asterisk + Redis у вигляді JSON

API Blocklist та Allowlist: додавання/видалення номерів програмно для блокування в реальному часі

FastAGI-сервер на TCP порту 4573 — виклик Python-логіки з dialplan Asterisk

Callback daemon використовує AMI Originate для вихідних дзвінків з боку сервера

Django admin API: повний CRUD по всіх моделях через інтерфейс Django REST admin

API endpoint'и

  • GET /api/v1/agents/ — список всіх агентів з поточним статусом
  • GET /api/v1/queues/ — список черг з кількістю учасників та метриками сервісу
  • GET /api/v1/cdr/ — CDR-записи з пагінацією та фільтрами за датою, агентом, чергою
  • GET/POST /api/v1/blocklist/ — отримання або додавання заблокованих номерів
  • GET/POST /api/v1/callbacks/ — перегляд або створення записів у черзі зворотного дзвінка
  • GET /api/v1/status/ — активні канали Asterisk, реєстрації та підключення Redis
  • POST /api/v1/originate/ — програмний виклик AMI Originate

Шаблони інтеграції

  • CRM screen-pop: при вхідному дзвінку запит /api/v1/status/ за ID абонента з відкриттям CRM-запису
  • Автоматична синхронізація blocklist: ваша CRM відправляє номери відмов до /api/v1/blocklist/ в реальному часі
  • Webhook після дзвінка: Asterisk AGI відправляє результат дзвінка до вашої CRM після закінчення
  • Віджет статусу черги: вбудуйте метрики черги в реальному часі у вашу helpdesk-систему
  • Callback з веб-форми: ваш сайт відправляє POST на /api/v1/callbacks/ для замовлення дзвінка агента

Standalone-сервіси

  • FastAGI-сервер (порт 4573): Python AGI-обробник, що викликається Asterisk під час дзвінка
  • Callback daemon: незалежний процес, що опитує БД та використовує AMI Originate для дзвінків
  • Dashboard Listener: підписується на AMI event stream та публікує в Redis для WebSocket-доставки
  • Всі три сервіси управляються незалежно та можуть перезапускатись без рестарту Django

Хочете побачити в дії?

Замовте живе демо або перегляньте ціни для хмарного та self-hosted варіантів.