Assistente vocale
Leggete le conversazioni, le note e gli appuntamenti dell'assistente; avviate dal CRM una chiamata per incarico (offerta / sollecito); incorporate la schermata delle conversazioni in diretta nel Suo software. Chiave di integrazione (bt_…, ambito voicebot oppure autocall).
Endpoint: https://api.buluthat.com/api/voicebot_api.php?action=<işlem> — lettura GET, che modificano POST. I parametri possono essere inviati tramite query, form o corpo 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
Elenco delle conversazioni e riepilogo della singola conversazione.
| Parametro | Descrizione |
|---|---|
bot_id | Filtro assistente |
from, to | Intervallo di date (Y-m-d) |
outcome | Filtro per risultato (resolved, transferred, note, appointment, failed …) |
caller | Numero chiamante |
limit, offset | Paginazione (massimo 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 restituisce il singolo record con strumenti richiamati e campi del risultato; action=session_messages&id=8812 trascrizione integrale (ruolo, testo, ora) della conversazione.
GETnotes · POST note_done
Note e richieste di richiamata raccolte dall'assistente.
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 }
Tipi di nota: note, callback, approval (approvazione del prezzo). note_done chiude la nota.
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 la cronologia delle conversazioni di un numero in tutti gli assistenti (fonte della memoria), memory restituisce il testo di memoria fornito all'assistente per quel numero — per diagnosticare "perché l'assistente ha detto questo".
GET ?action=history&phone=05321234567&limit=20
GET ?action=memory&phone=05321234567
POSTtask_start — chiamata per incarico
Consente all'assistente di chiamare subito il cliente: preventivo di riparazione (quote) oppure incarico libero (brief). Nell'offerta il prezzo minimo è tutelato; se il cliente chiede un prezzo inferiore, l'assistente richiede l'approvazione di un responsabile ("chiedo al responsabile e la richiamo").
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" }
}'
| Campo | Obbligatorio | Descrizione |
|---|---|---|
bot_id | sì | Assistente che effettua la chiamata |
phone | sì | Numero da chiamare |
kind | sì | quote (offerta) oppure brief (incarico libero) |
brief | sì | Il contesto che l'assistente deve conoscere (diagnosi, condizioni) |
offer_price, floor_price | per quote | Offerta iniziale e prezzo minimo scendibile; il minimo non viene comunicato al cliente ed è applicato anche lato server |
payment_options | no | online,havale → all'accettazione si chiede la modalità di pagamento |
caller_id, trunk_slug | no | Numero chiamante e linea (caller_ids / trunks viene elencato con) |
external_ref | no | ID della Sua registrazione (tasks per trovare con) |
followup_of, decision, decision_note | no | Chiamata di richiamata dopo la decisione del responsabile: approved / counter / rejected |
Risposta: { "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
Stati dell'incarico: calling → active → ended; failed (non raggiungibile). Campi del risultato: outcome (accepted, rejected, manager_approval, callback, not_reached), agreed_price, requested_price, payment_method, summary, callback_time.
GETembed_url — incorporamento della schermata in diretta
Genera un indirizzo firmato a tempo per incorporare nel Suo software, tramite iframe, la schermata messenger in diretta/storica della conversazione; non serve la sessione del pannello.
GET ?action=embed_url&phone=05321234567&label=crm&ttl=43200
| Parametro | Descrizione |
|---|---|
phone | La schermata mostra (e consente di comandare) solo le conversazioni di questo numero |
task_id / session_id | Incarico o conversazione specifici |
listener_extension | Interno da usare per "Ascolta" |
ttl | Secondi (predefinito 12 ore) |
nell'iframe allow="microphone" dia il consenso; la funzione di sussurro vocale del referente utilizza il riconoscimento vocale del browser (Chrome/Edge).
GETfaq_suggestions
Suggerimenti di domande e risposte estratti dalle conversazioni (in attesa di approvazione). L'approvazione si dà dal pannello.
Collegare l'assistente al Suo CRM
Per consentire all'assistente di trovare/aprire record nel Suo sistema, gli strumenti REST si definiscono nel modulo dell'assistente (URL, metodo, intestazioni, parametri). Per il CRM Byfix esiste un ponte già pronto; per il Suo CRM bastano gli endpoint di ricerca cliente per numero e di apertura record. Dettagli: Integrazione CRM.
Webhook
A fine conversazione session_ended viene inviato l'evento (riepilogo, esito, strumenti richiamati). Vedi Webhook.
