Sprachassistent
Lesen Sie Gespräche, Notizen und Termine des Assistenten; starten Sie aus dem CRM Aufgabenanrufe (Angebot / Inkasso); betten Sie die Live-Gesprächsansicht in Ihre eigene Software ein. Integrationsschlüssel (bt_…, Geltungsbereich voicebot oder autocall).
Endpunkt: https://api.buluthat.com/api/voicebot_api.php?action=<işlem> — Lesen GET, ändernde POST. Parameter können als Query, Formular oder JSON-Body gesendet werden.
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
Gesprächsliste und Zusammenfassung eines einzelnen Gesprächs.
| Parameter | Beschreibung |
|---|---|
bot_id | Assistentenfilter |
from, to | Zeitraum (Y-m-d) |
outcome | Ergebnisfilter (resolved, transferred, note, appointment, failed …) |
caller | Anrufernummer |
limit, offset | Paginierung (höchstens 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 liefert den einzelnen Eintrag mit Tool-Aufrufen und Ergebnisfeldern; action=session_messages&id=8812 liefert das vollständige Transkript (Rolle, Text, Zeit).
GETnotes · POST note_done
Vom Assistenten aufgenommene Notizen und Rückrufwünsche.
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 }
Notizarten: note, callback, approval (Preisfreigabe). note_done schließt die Notiz.
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 die Gesprächshistorie einer Nummer über alle Assistenten hinweg (Gedächtnisquelle), memory liefert den dem Assistenten für diese Nummer gegebenen Gedächtnistext — zur Diagnose „Warum hat der Assistent das gesagt“.
GET ?action=history&phone=05321234567&limit=20
GET ?action=memory&phone=05321234567
POSTtask_start — Aufgabenanruf
Veranlasst den Assistenten, den Kunden sofort anzurufen: Reparaturangebot (quote) oder freie Aufgabe (brief). Beim Angebot bleibt der Mindestpreis gewahrt; verlangt der Kunde weniger als den Mindestpreis, holt der Assistent die Freigabe eines Verantwortlichen ein („Ich frage kurz nach und melde mich zurück“).
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" }
}'
| Feld | Pflichtfeld | Beschreibung |
|---|---|---|
bot_id | ja | Der anrufende Assistent |
phone | ja | Anzurufende Nummer |
kind | ja | quote (Angebot) oder brief (freie Aufgabe) |
brief | ja | Kontext, den der Assistent kennen muss (Diagnose, Bedingungen) |
offer_price, floor_price | für quote | Eröffnungsangebot und Mindestpreis, unter den gegangen werden darf; der Mindestpreis wird dem Kunden nicht genannt und auch serverseitig durchgesetzt |
payment_options | nein | online,havale → bei Annahme wird die Zahlungsart abgefragt |
caller_id, trunk_slug | nein | Anrufernummer und Leitung (caller_ids / trunks aufgelistet mit) |
external_ref | nein | ID Ihrer eigenen Aufzeichnung (tasks zum Auffinden mit) |
followup_of, decision, decision_note | nein | Rückrufanruf nach Entscheidung des Verantwortlichen: approved / counter / rejected |
Antwort: { "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
Aufgabenstatus: calling → active → ended; failed (nicht erreicht). Ergebnisfelder: outcome (accepted, rejected, manager_approval, callback, not_reached), agreed_price, requested_price, payment_method, summary, callback_time.
GETembed_url — Live-Bildschirm einbetten
Erzeugt eine zeitlich begrenzte, signierte Adresse, um den Live-/Verlaufs-Messenger-Bildschirm des Gesprächs per iframe in Ihre Software einzubetten; keine Panel-Sitzung nötig.
GET ?action=embed_url&phone=05321234567&label=crm&ttl=43200
| Parameter | Beschreibung |
|---|---|
phone | Der Bildschirm zeigt nur die Gespräche dieser Nummer (und nimmt nur dafür Befehle an) |
task_id / session_id | Bestimmte Aufgabe oder bestimmtes Gespräch |
listener_extension | Nebenstelle für „Mithören“ |
ttl | Sekunden (Standard 12 Stunden) |
in den iframe allow="microphone" geben Sie an; die Flüsterfunktion des Verantwortlichen nutzt die Spracherkennung des Browsers (Chrome/Edge).
GETfaq_suggestions
Aus Gesprächen gewonnene Frage-Antwort-Vorschläge (zur Freigabe ausstehend). Die Freigabe erfolgt im Panel.
Anbindung des Assistenten an Ihr CRM
Damit der Assistent in Ihrem System Einträge findet / anlegt, werden REST-Tools im Assistentenformular definiert (URL, Methode, Header, Parameter). Für das Byfix-CRM gibt es eine fertige Brücke; für Ihr eigenes CRM genügen Endpunkte für die Kundenabfrage per Nummer und das Anlegen von Einträgen. Details: CRM-Integration.
Webhook
Nach Gesprächsende session_ended Ereignis wird gesendet (Zusammenfassung, Ergebnis, aufgerufene Tools). Siehe Webhooks.
