จัดการสายเรียกเข้า (API)

ขั้นตอนมาตรฐานสำหรับการ "รับสายด้วย AI" จากเทอร์มินัลของคุณ คุณจะ:

  1. สร้างเอเจนต์ด้วยพรอมต์และเสียง
  2. จัดเตรียม (หรือนำมาใช้) หมายเลขโทรศัพท์ และกำหนดเอเจนต์เป็น ตัวจัดการสายเรียกเข้า
  3. โทรไปยังหมายเลข ดูบันทึกการโทร ทรานสคริปต์ และการบันทึกเสียง

จำนวนการเรียก API ทั้งหมด: สี่ครั้ง เวลารวม: น้อยกว่าห้านาที

1. สร้างเอเจนต์

เอเจนต์รวมพรอมต์ เสียง และระดับผลิตภัณฑ์ที่จะขับเคลื่อน การโทร ดู เอเจนต์ สำหรับทุกฟิลด์การกำหนดค่า โดยค่าขั้นต่ำคือ:

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

2. รับหมายเลขโทรศัพท์

หากคุณต้องการเพียงหมายเลขสำหรับโทรทดสอบ ให้จัดเตรียมหมายเลขเดโม จากพูลของ ThunderPhone:

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 และ number ในรูปแบบ E.164 หมายเลขเดโม เริ่มต้นด้วย status="provisioning" และจะเปลี่ยนเป็น active ภายในไม่กี่ วินาที — เรียก GET /v1/phone-numbers/{id} ซ้ำเพื่อติดตามการเปลี่ยนสถานะหากต้องการ

3. กำหนดเอเจนต์

เชื่อมโยงเอเจนต์จากขั้นตอนที่ 1 กับทิศทางสายเรียกเข้าของหมายเลข:

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}'

เพียงเท่านี้ — หมายเลขก็พร้อมใช้งาน คุณยังสามารถตั้งค่า outbound_agent_id ใน PATCH เดียวกันเพื่อให้หมายเลขพร้อมสำหรับการโทรออกด้วย

4. รับสาย

โทรไปยังหมายเลขจากโทรศัพท์ของคุณ เอเจนต์จะรับสาย แนะนำตัวตาม พรอมต์ของคุณ และเริ่มการสนทนา

ระหว่างที่การโทรกำลังดำเนินอยู่ การโทรจะแสดงใน GET /v1/calls ด้วย status="in_progress" เมื่อการโทรสิ้นสุด บันทึกจะอัปเดตด้วย end_reason, duration_seconds, billable_minutes และ (ในภายหลัง) URL การบันทึกเสียงและคะแนนประเมิน AI

5. ตรวจสอบผลลัพธ์

ดึงรายการการโทรล่าสุด:

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

ดึงทรานสคริปต์:

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

และ URL การบันทึกเสียง (มีอายุสั้นและลงนามแล้ว):

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

หากคุณสมัครรับ webhook telephony.complete คุณจะได้รับข้อมูลเดียวกันในรูปแบบ POST ไปยังเซิร์ฟเวอร์ของคุณ — ดู call.complete


ขั้นตอนถัดไป