Sesli Asistan
Asistan görüşmelerini, notları ve randevuları okuyun; CRM'den görev araması (teklif / tahsilat) başlatın; canlı görüşme ekranını kendi yazılımınıza gömün. Entegrasyon anahtarı (bt_…, kapsam voicebot ya da autocall).
Uç: https://api.buluthat.com/api/voicebot_api.php?action=<işlem> — okuma GET, değiştiren POST. Parametreler query, form ya da JSON gövdesiyle gönderilebilir.
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
Görüşme listesi ve tek görüşmenin özeti.
| Parametre | Açıklama |
|---|---|
bot_id | Asistan filtresi |
from, to | Tarih aralığı (Y-m-d) |
outcome | Sonuç filtresi (resolved, transferred, note, appointment, failed …) |
caller | Arayan numara |
limit, offset | Sayfalama (en fazla 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 tek kaydı araç çağrıları ve sonuç alanlarıyla döner; action=session_messages&id=8812 tam dökümü (rol, metin, zaman) verir.
GETnotes · POST note_done
Asistanın aldığı notlar ve geri arama talepleri.
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 }
Not türleri: note, callback, approval (fiyat onayı). note_done notu kapatı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 numaranın tüm asistanlardaki geçmiş görüşmelerini (hafıza kaynağı), memory o numara için asistana verilen hafıza metnini döner — "asistan bunu neden söyledi" teşhisi için.
GET ?action=history&phone=05321234567&limit=20
GET ?action=memory&phone=05321234567
POSTtask_start — görev araması
Asistanın müşteriyi hemen aramasını sağlar: onarım teklifi (quote) ya da serbest görev (brief). Teklifte taban fiyat korunur; müşteri tabanın altını isterse asistan yetkili onayı alır ("yetkilime sorup döneceğim").
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" }
}'
| Alan | Zorunlu | Açıklama |
|---|---|---|
bot_id | evet | Aramayı yapacak asistan |
phone | evet | Aranacak numara |
kind | evet | quote (teklif) ya da brief (serbest görev) |
brief | evet | Asistanın bilmesi gereken bağlam (tespit, koşullar) |
offer_price, floor_price | quote için | Açılış teklifi ve inilebilecek taban; taban müşteriye söylenmez, sunucu tarafında da uygulanır |
payment_options | hayır | online,havale → kabulde ödeme yöntemi sorulur |
caller_id, trunk_slug | hayır | Arayan numara ve hat (caller_ids / trunks ile listelenir) |
external_ref | hayır | Kendi kaydınızın kimliği (tasks ile bulmak için) |
followup_of, decision, decision_note | hayır | Yetkili kararı sonrası geri dönüş araması: approved / counter / rejected |
Cevap: { "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
Görev durumları: calling → active → ended; failed (ulaşılamadı). Sonuç alanları: outcome (accepted, rejected, manager_approval, callback, not_reached), agreed_price, requested_price, payment_method, summary, callback_time.
GETembed_url — canlı ekranı gömme
Görüşmenin canlı/geçmiş messenger ekranını iframe ile yazılımınıza gömmek için süreli, imzalı adres üretir; panel oturumu gerekmez.
GET ?action=embed_url&phone=05321234567&label=crm&ttl=43200
| Parametre | Açıklama |
|---|---|
phone | Ekran yalnızca bu numaranın görüşmelerini gösterir (ve komut verir) |
task_id / session_id | Belirli görev ya da görüşme |
listener_extension | "Dinle" için kullanılacak dahili |
ttl | Saniye (varsayılan 12 saat) |
iframe'e allow="microphone" verin; yetkili fısıltı özelliği tarayıcının kendi konuşma tanımasını kullanır (Chrome/Edge).
GETfaq_suggestions
Görüşmelerden madenlenen soru-cevap önerileri (onay bekleyenler). Onay panelden verilir.
Asistanın CRM'inize bağlanması
Asistanın sizin sistemde kayıt bulması / açması için REST araçları asistan formundan tanımlanır (URL, metot, başlıklar, parametreler). Byfix CRM için hazır köprü vardır; kendi CRM'iniz için numaradan müşteri sorgusu ve kayıt açma uçları yeterlidir. Ayrıntı: CRM Entegrasyonu.
Webhook
Görüşme bitince session_ended olayı gönderilir (özet, sonuç, araç çağrıları). Bkz. Webhook'lar.
