音声アシスタント

アシスタントの通話、メモ、予約を取得できます。CRMからタスク発信(見積/債権回収)を開始でき、リアルタイム通話画面をご自身のソフトウェアに埋め込めます。 連携キー (bt_…、スコープ voicebot または autocall).

エンドポイント: https://api.buluthat.com/api/voicebot_api.php?action=<işlem> — 読み取り GET、変更する POST。パラメータはクエリ、フォーム、または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

通話一覧と1件ごとの通話の要約。

パラメータ説明
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 1件のレコードをツール呼び出しと結果フィールドとともに返します。 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_pricequoteの場合最初の提示額と下げられる下限価格。下限はお客様に伝えられず、サーバー側でも適用されます
payment_optionsいいえonline,havale → 承諾時に支払い方法を確認
caller_id, trunk_slugいいえ発信者番号と回線(caller_ids / trunks で一覧表示)
external_refいいえご自身の録音のID(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でソフトウェアに埋め込むための、期限付き署名付きURLを生成します。パネルのセッションは不要です。

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.