المساعد الصوتي
اقرؤوا محادثات المساعد والملاحظات والمواعيد؛ وابدؤوا مهمة اتصال (عرض سعر / تحصيل) من 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.
