Səsli Asistent

Asistent söhbətlərini, qeydləri və görüşləri oxuyun; CRM-dən tapşırıq zəngi (təklif / tahsilat) başladın; canlı söhbət ekranını öz proqramınıza yerləşdirin. İnteqrasiya açarı (bt_…, əhatə voicebot ya da autocall).

Nöqtə: https://api.buluthat.com/api/voicebot_api.php?action=<işlem> — oxuma GET, dəyişdirən POST. Parametrlər query, form və ya JSON gövdəsi ilə göndərilə bilər.

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

Söhbət siyahısı və tək söhbətin xülasəsi.

Parametrİzah
bot_idAsistent filtri
from, toTarix aralığı (Y-m-d)
outcomeNəticə filtri (resolved, transferred, note, appointment, failed …)
callerZəng edən nömrə
limit, offsetSəhifələmə (ən çox 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 tək qeydi alət çağırışları və nəticə sahələri ilə qaytarır; action=session_messages&id=8812 tam mətni (rol, mətn, vaxt) verir.

GETnotes · POST note_done

Asistentin aldığı qeydlər və geri zəng sorğuları.

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 }

Qeyd növləri: note, callback, approval (qiymət təsdiqi). note_done qeydi bağlayır.

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 bir nömrənin bütün asistentlərdəki keçmiş söhbətlərini (yaddaş mənbəyi), memory həmin nömrə üçün asistentə verilən yaddaş mətnini qaytarır — "asistent bunu nə üçün dedi" diaqnostikası üçün.

GET ?action=history&phone=05321234567&limit=20
GET ?action=memory&phone=05321234567

POSTtask_start — tapşırıq zəngi

Asistentin müştəriyə dərhal zəng etməsini təmin edir: təmir təklifi (quote) və ya sərbəst tapşırıq (brief). Təklifdə taban qiymət qorunur; müştəri tabandan aşağı istəsə asistent səlahiyyətli şəxsdən təsdiq alır ("səlahiyyətli şəxsdən soruşub qayıdacağam").

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" }
  }'
SahəMəcburiİzah
bot_idbəliZəngi edəcək asistent
phonebəliZəng ediləcək nömrə
kindbəliquote (təklif) və ya brief (sərbəst tapşırıq)
briefbəliAsistentin bilməli olduğu kontekst (aşkarlama, şərtlər)
offer_price, floor_pricequote üçünAçılış təklifi və enilə biləcək taban; taban müştəriyə deyilmir, server tərəfdə də tətbiq olunur
payment_optionsxeyronline,havale → qəbul zamanı ödəniş forması soruşulur
caller_id, trunk_slugxeyrZəng edən nömrə və xətt (caller_ids / trunks ilə siyahılanır)
external_refxeyrÖz qeydinizin identifikatoru (tasks ilə tapmaq üçün)
followup_of, decision, decision_notexeyrSəlahiyyətli şəxsin qərarından sonra geri dönüş zəngi: approved / counter / rejected

Cavab: { "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

Tapşırıq vəziyyətləri: calling → active → ended; failed (əlçatmaz). Nəticə sahələri: outcome (accepted, rejected, manager_approval, callback, not_reached), agreed_price, requested_price, payment_method, summary, callback_time.

GETembed_url — canlı ekranı yerləşdirmə

Söhbətin canlı/keçmiş messenger ekranını iframe ilə proqramınıza yerləşdirmək üçün müddətli, imzalı ünvan yaradır; panel sessiyası lazım deyil.

GET ?action=embed_url&phone=05321234567&label=crm&ttl=43200
Parametrİzah
phoneEkran yalnız bu nömrənin söhbətlərini göstərir (və komanda verir)
task_id / session_idMüəyyən tapşırıq ya da söhbət
listener_extension"Dinlə" üçün istifadə olunacaq daxili
ttlSaniyə (defolt 12 saat)

iframe-ə allow="microphone" verin; səlahiyyətli şəxsin pıçıltı xüsusiyyəti brauzerin öz danışıq tanımasından istifadə edir (Chrome/Edge).

GETfaq_suggestions

Söhbətlərdən çıxarılan sual-cavab təklifləri (təsdiq gözləyənlər). Təsdiq paneldən verilir.

Asistentin CRM-inizə qoşulması

Asistentin sizin sistemdə qeyd tapması / açması üçün REST alətləri asistent formundan təyin edilir (URL, metod, başlıqlar, parametrlər). Byfix CRM üçün hazır körpü var; öz CRM-iniz üçün nömrədən müştəri sorğusu və qeyd açma nöqtələri kifayətdir. Ətraflı: CRM İnteqrasiyası.

Webhook

Söhbət bitəndə session_ended hadisəsi göndərilir (xülasə, nəticə, alət çağırışları). Bax Webhook-lar.