Assistant vocal
Consultez les conversations, notes et rendez-vous de l'assistant ; lancez depuis le CRM un appel de mission (offre / recouvrement) ; intégrez l'écran de conversation en direct à votre propre logiciel. Clé d'intégration (bt_…, portée voicebot ou autocall).
Point d'accès : https://api.buluthat.com/api/voicebot_api.php?action=<işlem> — lecture GET, modifiant POST. Les paramètres peuvent être envoyés en query, en formulaire ou en corps 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
Liste des conversations et résumé d'une conversation.
| Paramètre | Description |
|---|---|
bot_id | Filtre d'assistant |
from, to | Plage de dates (Y-m-d) |
outcome | Filtre de résultat (resolved, transferred, note, appointment, failed …) |
caller | Numéro appelant |
limit, offset | Pagination (maximum 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 renvoie un seul enregistrement avec les appels d'outils et les champs de résultat ; action=session_messages&id=8812 donne la transcription intégrale (rôle, texte, heure).
GETnotes · POST note_done
Notes et demandes de rappel prises par l'assistant.
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 }
Types de notes : note, callback, approval (validation du prix). note_done clôt la note.
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 l'historique des conversations passées d'un numéro sur tous les assistants (source de la mémoire), memory renvoie le texte de mémoire donné à l'assistant pour ce numéro — pour diagnostiquer « pourquoi l'assistant a dit cela ».
GET ?action=history&phone=05321234567&limit=20
GET ?action=memory&phone=05321234567
POSTtask_start — appel de mission
Permet à l'assistant d'appeler immédiatement le client : devis de réparation (quote) ou mission libre (brief). Dans l'offre, le prix plancher est protégé ; si le client demande en dessous, l'assistant obtient l'accord d'un responsable (« je vais demander à mon responsable et je reviens vers vous »).
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" }
}'
| Champ | Obligatoire | Description |
|---|---|---|
bot_id | oui | Assistant qui passera l'appel |
phone | oui | Numéro à appeler |
kind | oui | quote (offre) ou brief (mission libre) |
brief | oui | Contexte que l'assistant doit connaître (diagnostic, conditions) |
offer_price, floor_price | pour quote | Offre d'ouverture et plancher à ne pas dépasser ; le plancher n'est pas communiqué au client et il est aussi appliqué côté serveur |
payment_options | non | online,havale → au moment de l'acceptation, le mode de paiement est demandé |
caller_id, trunk_slug | non | Numéro appelant et ligne (caller_ids / trunks est listé avec) |
external_ref | non | Identifiant de votre propre enregistrement (tasks pour trouver avec) |
followup_of, decision, decision_note | non | Appel de rappel après la décision du responsable : approved / counter / rejected |
Réponse : { "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
États des missions : calling → active → ended; failed (injoignable). Champs de résultat : outcome (accepted, rejected, manager_approval, callback, not_reached), agreed_price, requested_price, payment_method, summary, callback_time.
GETembed_url — intégration de l'écran en direct
Génère une adresse signée à durée limitée pour intégrer l'écran de messagerie en direct/historique de la conversation à votre logiciel via iframe ; aucune session sur le panneau n'est nécessaire.
GET ?action=embed_url&phone=05321234567&label=crm&ttl=43200
| Paramètre | Description |
|---|---|
phone | L'écran n'affiche (et ne commande) que les conversations de ce numéro |
task_id / session_id | Mission ou conversation précise |
listener_extension | Poste interne utilisé pour « Écouter » |
ttl | Secondes (par défaut 12 heures) |
à l'iframe allow="microphone" donnez ; la fonction de chuchotement du responsable utilise la reconnaissance vocale propre du navigateur (Chrome/Edge).
GETfaq_suggestions
Suggestions de questions-réponses extraites des conversations (en attente de validation). La validation se fait dans le panneau.
Connexion de l'assistant à votre CRM
Les outils REST qui permettent à l'assistant de trouver / créer des enregistrements dans votre système se définissent dans le formulaire de l'assistant (URL, méthode, en-têtes, paramètres). Un pont prêt à l'emploi existe pour le CRM Byfix ; pour votre propre CRM, une requête client par numéro et la création d'enregistrements suffisent. Détail : Intégration CRM.
Webhook
À la fin de la conversation session_ended l'événement est envoyé (résumé, résultat, appels d'outils). Voir Webhooks.
