> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thunderphone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Xử lý cuộc gọi đến (API)

> Trọn quy trình: cấu hình tác nhân AI, gán tác nhân cho một số điện thoại, nhận cuộc gọi và kiểm tra bản chép lời.

<Note>
  Tự tay xây dựng tác nhân AI đầu tiên của bạn? Dashboard hướng dẫn chính xác
  quy trình này — xây dựng tác nhân AI, thêm số điện thoại, mô phỏng, xem lại — bằng một
  trình hướng dẫn từng bước. Bắt đầu tại
  [hướng dẫn nhanh trên dashboard](/vi/quickstart-dashboard).
</Note>

Luồng chuẩn để "trả lời điện thoại bằng AI", ngay từ terminal của bạn.
Bạn sẽ:

1. Tạo tác nhân AI với prompt và giọng nói.
2. Cấp phát (hoặc mang đến) một số điện thoại và chỉ định tác nhân AI làm
   trình xử lý cuộc gọi đến.
3. Gọi đến số đó. Quan sát nhật ký cuộc gọi, bản chép lời và bản ghi âm.

Tổng số lệnh gọi API: bốn. Tổng thời gian: dưới năm phút.

## 1. Tạo tác nhân AI

Một tác nhân AI gói gọn prompt, giọng nói và gói sản phẩm sẽ vận hành
cuộc gọi. Xem [Tác nhân AI](/api-reference/agents) để biết mọi trường cấu hình;
mức tối thiểu là:

```bash theme={null}
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"
  }'
```

Lưu `id` được trả về — bạn sẽ cần nó ở bước 2.

<Tip>
  Chọn `spark` cho hỏi đáp đơn giản với chi phí thấp nhất, chọn `bolt` khi tốc độ
  là quan trọng nhất. Nâng cấp lên `storm-base-with-ack` khi prompt của bạn
  cần suy luận sâu hơn và có thể chấp nhận một khoảng đệm nửa giây trong khi
  mô hình suy nghĩ. Xem
  [các gói sản phẩm](/api-reference/agents#product-tiers-at-a-glance).
</Tip>

## 2. Lấy số điện thoại

Nếu bạn chỉ cần một số để gọi thử, hãy cấp phát số demo
từ nhóm số của ThunderPhone:

```bash theme={null}
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"}'
```

Phản hồi bao gồm một `id` và một `number` theo định dạng E.164. Số demo
bắt đầu ở `status="provisioning"` và trở thành `active` trong vài
giây — thăm dò
[`GET /v1/phone-numbers/{id}`](/api-reference/phone-numbers#retrieve-a-phone-number)
để theo dõi trạng thái chuyển đổi nếu cần.

<Note>
  Đối với môi trường production, bỏ qua số demo và
  [mang số của riêng bạn qua VoIP](/vi/guides/bring-your-own-numbers).
  Số demo chỉ hỗ trợ cuộc gọi đến và bị giới hạn lưu lượng.
</Note>

## 3. Chỉ định tác nhân AI

Liên kết tác nhân AI từ bước 1 với chiều cuộc gọi đến của số điện thoại:

```bash theme={null}
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}'
```

Vậy là xong — số điện thoại đã hoạt động. Bạn cũng có thể đặt `outbound_agent_id`
trong cùng PATCH để số điện thoại cũng sẵn sàng gọi đi.

## 4. Nhận cuộc gọi

Gọi đến số đó từ điện thoại của bạn. Tác nhân AI bắt máy, tự giới thiệu
theo prompt của bạn, rồi cuộc trò chuyện bắt đầu.

Trong khi cuộc gọi đang diễn ra, cuộc gọi sẽ xuất hiện trong
[`GET /v1/calls`](/api-reference/calls#list-calls) với
`status="in_progress"`. Khi cuộc gọi kết thúc, bản ghi sẽ được cập nhật với
`end_reason`, `duration_seconds`, `billable_minutes` và (sau đó)
URL bản ghi âm cùng đánh giá AI.

## 5. Kiểm tra kết quả

Lấy danh sách các cuộc gọi gần đây:

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

Lấy bản chép lời:

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

Và URL bản ghi âm (có chữ ký, tồn tại trong thời gian ngắn):

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

Nếu bạn đã đăng ký
[webhook `telephony.complete`](/vi/webhooks/events)
bạn sẽ nhận cùng dữ liệu dưới dạng POST đến máy chủ của bạn — xem
[call.complete](/vi/webhooks/call-complete).

***

## Các bước tiếp theo

<CardGroup cols={2}>
  <Card title="Cấu hình động theo từng cuộc gọi" icon="bolt" href="/vi/guides/dynamic-call-config">
    Chọn tác nhân AI khác nhau cho từng người gọi dựa trên số điện thoại hoặc
    logic tùy chỉnh trong webhook.
  </Card>

  <Card title="Thêm tích hợp công cụ" icon="screwdriver-wrench" href="/vi/guides/build-tool-integration">
    Cho phép tác nhân AI gọi API của bạn trong khi trò chuyện.
  </Card>

  <Card title="Nhận webhook call.complete" icon="bolt" href="/vi/webhooks/call-complete">
    Truyền trực tuyến từng cuộc gọi đã hoàn tất đến CRM / quy trình phân tích của bạn.
  </Card>

  <Card title="Chấm điểm AI và báo cáo vấn đề" icon="chart-line" href="/api-reference/calls#ai-call-grading">
    Tự động chấm điểm mọi cuộc gọi và chuyển các cuộc gọi bị gắn cờ để xem xét.
  </Card>
</CardGroup>
