---
title: "處理來電（API）"
description: "端到端流程：設定智能體、將其指派至電話號碼、接聽來電，並檢視文字記錄。"
---

<Note>
  首次手動建立智能體？控制台會透過引導精靈帶你完成完全相同的
  流程——建立智能體、新增號碼、模擬、檢視。由
  [控制台快速入門](/yue/quickstart-dashboard)開始。
</Note>

在終端機完成標準的「由 AI 接聽電話」流程。
你將會：

1. 建立包含提示詞及語音的智能體。
2. 配置（或自備）電話號碼，並將智能體指派為其
   來電處理程式。
3. 致電該號碼，查看通話記錄、逐字稿及錄音。

API 呼叫總數：四次。所需時間：五分鐘內。

## 1. 建立智能體

智能體整合用於處理通話的提示詞、語音及產品層級。請參閱
[智能體](/api-reference/agents)了解所有設定欄位；最低要求如下：

```bash
curl -X POST https://api.thunderphone.com/v1/agents \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":    "Acme Support",
    "prompt":  "You are a friendly support agent for Acme. Help callers with orders and returns. Keep answers short.",
    "voice":   "john",
    "product": "spark"
  }'
```

儲存傳回的 `id`——你會在步驟 2 用到它。

<Tip>
  如需以最低成本處理簡單問答，請選擇 `spark`；如速度最為重要，
  請選擇 `bolt`。當提示詞需要更深入推理，並可容許模型思考期間
  有半秒鐘過渡語時，升級至 `storm-base-with-ack`。請參閱
  [產品層級](/api-reference/agents#product-tiers-at-a-glance)。
</Tip>

## 2. 取得電話號碼

如果你只需要一個可供撥打測試的號碼，可從 ThunderPhone 的號碼池
取得 ThunderPhone 號碼：

```bash
curl -X POST https://api.thunderphone.com/v1/phone-numbers \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area_code": "415"}'
```

回應包含一個 `id` 及一個 E.164 格式的 `number`。ThunderPhone
號碼初始狀態為 `status="provisioning"`，並會在數秒內變為 `active`——如有需要，
可輪詢
[`GET /v1/phone-numbers/{id}`](/api-reference/phone-numbers#retrieve-a-phone-number)
以查看狀態轉換。

<Note>
  ThunderPhone 號碼僅支援來電。如需撥出電話，
  [透過 VoIP 自備號碼](/yue/guides/bring-your-own-numbers)。
</Note>

## 3. 指派智能體

將步驟 1 的智能體關聯至該號碼的來電方向：

```bash
curl -X PATCH https://api.thunderphone.com/v1/phone-numbers/{phone_id} \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbound_agent_id": 12}'
```

完成——該號碼現已啟用。你亦可在同一個 PATCH 中設定 `outbound_agent_id`，
讓該號碼同時準備好撥出電話。

## 4. 接聽來電

使用你的電話撥打該號碼。智能體會接聽、按照你的提示詞自我介紹，
然後開始對話。

通話進行期間，會在
[`GET /v1/calls`](/api-reference/calls#list-calls)中顯示為
`status="in_progress"`。通話結束後，記錄會更新為包含
`end_reason`、`duration_seconds`、`billable_minutes`，以及（稍後提供的）
錄音 URL 和 AI 評分。

## 5. 檢查結果

取得最近通話清單：

```bash
curl 'https://api.thunderphone.com/v1/calls?limit=5' \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

取得逐字稿：

```bash
curl https://api.thunderphone.com/v1/calls/{call_id}/transcript \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

以及錄音 URL（短時效、已簽署）：

```bash
curl https://api.thunderphone.com/v1/calls/{call_id}/audio \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

如果你已訂閱
[`telephony.complete` webhook](/yue/webhooks/events)，
相同資料會透過 POST 傳送至你的伺服器——請參閱
[call.complete](/yue/webhooks/call-complete)。

---

## 下一步

<CardGroup cols={2}>
  <Card title="動態逐通話設定" icon="bolt" href="/yue/guides/dynamic-call-config">
    根據電話號碼或 webhook 中的自訂邏輯，為每位來電者選擇不同的智能體。
  </Card>
  <Card title="新增工具整合" icon="screwdriver-wrench" href="/yue/guides/build-tool-integration">
    讓智能體在對話期間呼叫你的 API。
  </Card>
  <Card title="轉駁來電" icon="phone-arrow-right" href="/yue/guides/call-transfers">
    直接轉接來電者，或先篩選目的地後再接通。
  </Card>
  <Card title="接收 call.complete webhook" icon="bolt" href="/yue/webhooks/call-complete">
    將每通已完成的通話串流至你的 CRM／分析流程。
  </Card>
  <Card title="AI 評分及問題報告" icon="chart-line" href="/api-reference/calls#ai-call-grading">
    自動為每通通話評分，並將標記的通話轉交審核。
  </Card>
</CardGroup>
