Центр розробника

Зробіть АТС частиною вашого ПЗ.

Єдиний API-ключ, звичайний HTTP, відповіді JSON. Від клік-дзвінка та керування дзвінками до кампаній автоматичного дзвінка, від завдань голосового асистента до голосового коду підтвердження — усе через REST; результати повертаються через webhook з HMAC-підписом.

Швидкий старт

Ваш перший запит — за 2 хвилин

Отримайте ключ на вкладці Панель > Автоматичний дзвінок > API (або в Налаштуваннях АТС); передавайте через заголовок Bearer, X-Api-Key або ?key=.

  • Ключ прив'язаний до вашого облікового запису клієнта; доступу до даних іншого клієнта він не має.
  • Операції читання — GET, операції, що змінюють, — POST; тіло JSON або форма.
  • Відповідь про помилку завжди {"ok":false,"error":"…","code":"…"} має формат.
  • Ліміт швидкості: 120 запитів на хвилину на ключ; при перевищенні 429.
# клік-дзвінок: спочатку дзвонить внутрішній номер 1001, після відповіді набирається цільовий номер curl "https://api.buluthat.com/api/begin_call.php?key=K1234-…&extension=1001&destination=905321234567" # створити кампанію curl -X POST "https://api.buluthat.com/api/autocall.php?action=create_campaign" \ -H "Authorization: Bearer bt_xxxxxxxx" \ -H "Content-Type: application/json" \ -d '{"name":"Ödeme hatırlatma","campaign_type":"ivr", "tts_template":"Merhaba {sayin}, {tutar} tutarındaki ödemeniz…", "digit_labels":{"1":"Ödedim","2":"Yetkili"}}' # надіслати голосовий код підтвердження curl -X POST "https://api.buluthat.com/api/voice_otp.php?action=send" \ -H "X-Api-Key: bt_xxxxxxxx" -d "phone=905321234567" → {"ok":true,"id":8812,"code":"472915","expires_in":300}
Документація

Заголовки API

У кожному розділі — адреса кінцевої точки, параметри, приклад запиту та відповіді.

Загальний огляд

Автентифікація, формат запиту, коди помилок, ліміти швидкості

Прочитати
Безпека API

Ключі, області, дозволені IP, HMAC-підпис запитів, оновлення ключів, журнал запитів

Прочитати
Керування дзвінками

Клік-дзвінок, завершення, переадресація, вимкнення звуку

Прочитати
Черги

Список черг, очікуючі, додавання/видалення учасників

Прочитати
Статуси операторів

Стан внутрішніх номерів і членство в чергах

Прочитати
Чорний список

Список заблокованих номерів, додавання, видалення

Прочитати
Звукові файли

Список оголошень, завантаження, оновлення, видалення

Прочитати
Автоматичний дзвінок

Створення кампанії, додавання номерів, отримання результатів, webhook

Прочитати
Голосовий асистент

Розмови, нотатки, записи, завдання-дзвінок, вбудовування

Прочитати
Голосове підтвердження (OTP)

Надсилання коду, перевірка, статус, webhook

Прочитати
SMS API

Масові / персоналізовані SMS, OTP SMS, звіт про доставку, вхідні SMS, чорний список

Прочитати
Webhook

Перевірка підпису, політика повторів, схеми подій

Прочитати
Вбудовування (CRM iframe)

На екранах АТС та у вашому веб-телефонному програмному забезпеченні: код, підписане посилання, події JavaScript

Прочитати
Webhook

Нехай результати надходять до вас, а не ви запитуєте.

Результат автоматичного дзвінка, резюме розмови голосового асистента, статус коду підтвердження — кожна подія надсилається на вашу адресу як JSON через POST; заголовок X-Buluthat-Signature — це підпис HMAC-SHA256. Невдала доставка повторюється з інтервалами 1 хв → 6 год.

Документація webhook
// PHP: перевірка підпису $raw = file_get_contents('php://input'); $sig = $_SERVER['HTTP_X_BULUTHAT_SIGNATURE'] ?? ''; $calc = hash_hmac('sha256', $raw, $secret); if (!hash_equals($calc, $sig)) { http_response_code(401); exit; } $event = json_decode($raw, true); // $event['event'] = 'call_finished' | 'session_ended' | 'otp_result' …
Міст Byfix CRM

Голосовий асистент знаходить клієнта в CRM, створює запис у сервісі, додає нотатку; з CRM запускається «зателефонувати через асистента». Готово, єдиний ключ.

Деталі
PHP-клієнт

Готовий PHP-клас для голосового коду підтвердження; надсилання/перевірка двома рядками. Інші кінцеві точки — звичайний HTTP, тому викликаються будь-якою мовою.

Приклад
Вбудований живий екран

Жива стенограма розмови асистента всередині CRM у iframe; за допомогою підписаного токена з обмеженим терміном дії, сесія панелі не потрібна.

embed_url