Голосовий асистент
Читайте розмови, нотатки та записи асистента; запускайте з CRM завдання-дзвінки (пропозиція / стягнення); вбудовуйте екран живої розмови у власне програмне забезпечення. Ключ інтеграції (bt_…, область voicebot або autocall).
Кінцева точка: https://api.buluthat.com/api/voicebot_api.php?action=<işlem> — читання GET, змінює POST. Параметри можна передавати через query, form або тіло JSON.
GETping · bots
GET https://api.buluthat.com/api/voicebot_api.php?action=bots
{ "ok": true, "data": [ { "id": 3, "name": "Teknik Servis Asistanı", "status": "active", "language": "tr" } ] }
GETsessions · session
Список розмов і резюме окремої розмови.
| Параметр | Опис |
|---|---|
bot_id | Фільтр асистента |
from, to | Діапазон дат (Y-m-d) |
outcome | Фільтр результату (resolved, transferred, note, appointment, failed …) |
caller | Номер абонента |
limit, offset | Посторінкове виведення (максимум 200) |
{ "ok": true, "data": [ {
"id": 8812, "bot_id": 3, "direction": "inbound", "caller_number": "05321234567",
"started_at": "2026-09-18 10:12:03", "duration_seconds": 84, "status": "ended",
"summary": "Arayan robot süpürgesinin servis durumunu sordu; parça bekleniyor bilgisi verildi.",
"intent": "servis_durumu", "sentiment_label": "notr", "outcome": "resolved"
} ] }
action=session&id=8812 повертає один запис із викликами інструментів та полями результату; action=session_messages&id=8812 повертає повну стенограму (роль, текст, час).
GETnotes · POST note_done
Нотатки та запити на зворотний дзвінок, прийняті асистентом.
GET https://api.buluthat.com/api/voicebot_api.php?action=notes&status=new
POST https://api.buluthat.com/api/voicebot_api.php?action=note_done { "id": 512 }
Типи нотаток: note, callback, approval (підтвердження ціни). note_done закриває нотатку.
GETappointments · POST appointment_status
GET ?action=appointments&from=2026-09-18
POST ?action=appointment_status { "id": 77, "status": "done" } // booked | cancelled | done
GEThistory · memory
history минулі розмови номера в усіх асистентах (джерело пам'яті), memory повертає текст пам'яті, наданий асистенту для цього номера, — для діагностики «чому асистент це сказав».
GET ?action=history&phone=05321234567&limit=20
GET ?action=memory&phone=05321234567
POSTtask_start — завдання-дзвінок
Змушує асистента негайно зателефонувати клієнту: пропозиція щодо ремонту (quote) або довільне завдання (brief). У пропозиції мінімальна ціна зберігається; якщо клієнт просить нижче мінімуму, асистент запитує дозвіл відповідальної особи («запитаю керівника та передзвоню»).
curl -X POST "https://api.buluthat.com/api/voicebot_api.php?action=task_start" \
-H "Authorization: Bearer bt_xxx" -H "Content-Type: application/json" \
-d '{
"bot_id": 3, "phone": "05321234567", "caller_id": "02124119610",
"kind": "quote", "customer_name": "Ayşe Yılmaz", "external_ref": "SERVIS-48211",
"title": "Robot süpürge onarım teklifi",
"brief": "Batarya değişimi gerekiyor. Cihaz garanti dışı. Teslim 3 iş günü.",
"offer_price": 3500, "floor_price": 2900, "currency": "TRY",
"payment_options": "online,havale",
"fields": { "cihaz": "Roborock S7", "takip_no": "7K2M9QX4AB" }
}'
| Поле | Обов'язково | Опис |
|---|---|---|
bot_id | так | Асистент, який здійснюватиме дзвінок |
phone | так | Номер для набору |
kind | так | quote (пропозиція) або brief (довільне завдання) |
brief | так | Контекст, який має знати асистент (діагноз, умови) |
offer_price, floor_price | для quote | Початкова пропозиція та мінімальна ціна, до якої можна опуститися; мінімум клієнтові не повідомляється, застосовується й на стороні сервера |
payment_options | ні | online,havale → при згоді запитується спосіб оплати |
caller_id, trunk_slug | ні | Номер абонента та лінія (caller_ids / trunks відображається) |
external_ref | ні | Ідентифікатор вашого запису (tasks щоб знайти за допомогою) |
followup_of, decision, decision_note | ні | Зворотний дзвінок після рішення уповноваженого: approved / counter / rejected |
Відповідь: { "ok": true, "data": { "id": 91, "status": "calling", … }, "embed_url": "https://…/api/voicebot_embed.php?t=…" }
GETtask · tasks
GET ?action=task&id=91
GET ?action=tasks&external_ref=SERVIS-48211
Статуси завдань: calling → active → ended; failed (недоступний). Поля результату: outcome (accepted, rejected, manager_approval, callback, not_reached), agreed_price, requested_price, payment_method, summary, callback_time.
GETembed_url — вбудовування живого екрана
Генерує адресу з обмеженим терміном дії та підписом для вбудовування екрана живого/історичного месенджера розмови у ваше ПЗ через iframe; сесія панелі не потрібна.
GET ?action=embed_url&phone=05321234567&label=crm&ttl=43200
| Параметр | Опис |
|---|---|
phone | Екран показує (і дозволяє керувати) лише розмовами цього номера |
task_id / session_id | Конкретне завдання або розмова |
listener_extension | Внутрішній номер для «Прослуховування» |
ttl | Секунди (за замовчуванням 12 год) |
в iframe allow="microphone" вкажіть; функція підказок уповноваженої особи використовує вбудоване розпізнавання мовлення браузера (Chrome/Edge).
GETfaq_suggestions
Пропозиції запитань і відповідей, вилучені з розмов (очікують підтвердження). Підтвердження надається в панелі.
Підключення асистента до вашої CRM
Інструменти REST для того, щоб асистент знаходив / створював записи у вашій системі, визначаються у формі асистента (URL, метод, заголовки, параметри). Для Byfix CRM є готовий міст; для власної CRM достатньо кінцевих точок для пошуку клієнта за номером та створення записів. Докладніше: Інтеграція CRM.
Webhook
Після завершення розмови session_ended надсилається подія (резюме, результат, виклики інструментів). Див. Webhook.
