นำหมายเลขของคุณมาใช้เอง (VoIP, API)
หมายเลขสาธิตเหมาะสำหรับการสร้างต้นแบบ แต่ทราฟฟิกในระบบใช้งานจริงควร ใช้หมายเลขที่คุณเป็นเจ้าของผ่านผู้ให้บริการ VoIP ของคุณเอง คู่มือนี้จะแนะนำ ขั้นตอน 3 ขั้นตอน: ทดสอบข้อมูลรับรอง → สร้าง การเชื่อมต่อ → นำเข้าหมายเลข → ตรวจสอบยืนยัน
ผู้ให้บริการที่รองรับ
| ผู้ให้บริการ | รหัส provider | หมายเหตุ |
|---|---|---|
| Twilio | twilio | คีย์ API + ซีเคร็ต |
| Telnyx | telnyx | คีย์ API; มีการเริ่มต้นใช้งานแบบมีคำแนะนำ (setup_method: guided_telnyx) |
| SignalWire | signalwire | เร็ว ๆ นี้ — เชื่อมต่อผ่าน SIP ด้วยตนเองได้ในวันนี้ |
| Vonage | vonage | เร็ว ๆ นี้ — เชื่อมต่อผ่าน SIP ด้วยตนเองได้ในวันนี้ |
| SIP ด้วยตนเอง | manual | SIP trunk ใดก็ได้ — ใช้การกำหนดค่าของคุณเอง |
1. ทดสอบข้อมูลรับรอง
ก่อนสร้างการเชื่อมต่อ VoIP แบบถาวร ให้ตรวจสอบข้อมูลรับรองของผู้ให้บริการ
เพื่อยืนยันว่าใช้งานได้ การดำเนินการนี้จะส่งคืน
verification_evidence_id เพื่อนำไปใช้ในขั้นตอนการสร้าง เพื่อไม่ให้
มีการคิดค่าทดสอบข้อมูลรับรองซ้ำ
curl -X POST https://api.thunderphone.com/v1/voip-connections/test \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "telnyx",
"credentials": { "apiKey": "KEY...", "connectionId": "123456" },
"sip_config": { "domain": "acme.sip.telnyx.com" }
}'
{
"status": "pass",
"verification_evidence_id": "b9a2...",
"suggested_connection_name": "Telnyx: Acme Main (+15550001234)",
"checks": {
"credentials_valid": true,
"inbound_reachable": true,
"outbound_authorized": true
}
}
หากการตรวจสอบใดล้มเหลว status ในการตอบกลับจะเป็น fail และ checks จะ
แสดงขั้นตอนที่ล้มเหลว แก้ไขการกำหนดค่าฝั่งผู้ให้บริการ (การกำหนด trunk
รายการอนุญาต IP การอนุญาตสายขาออก) แล้วลองอีกครั้ง
2. สร้างการเชื่อมต่อ
ส่ง verification_evidence_id ที่เพิ่งได้รับ:
curl -X POST https://api.thunderphone.com/v1/voip-connections \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Telnyx Main",
"provider": "telnyx",
"setup_method": "api_key",
"credentials": { "apiKey": "KEY...", "connectionId": "123456" },
"sip_config": { "domain": "acme.sip.telnyx.com" },
"verification_evidence_id": "b9a2..."
}'
การตอบกลับคือ ออบเจ็กต์ VoipConnection
ที่มี status="connected" ข้อมูลรับรองจะจัดเก็บไว้ฝั่งเซิร์ฟเวอร์และจะไม่
ถูกส่งกลับเป็นข้อความล้วนในการเรียก GET ครั้งถัดไป — หากต้องการหมุนเวียน ให้เรียก
test ใหม่และ PATCH ด้วยหลักฐานใหม่
3. แสดงรายการและนำเข้าหมายเลข
ตรวจสอบหมายเลขที่ข้อมูลรับรองของคุณมองเห็นและยังไม่ได้อยู่ ในองค์กร ThunderPhone:
curl https://api.thunderphone.com/v1/voip-connections/5/available-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
จากนั้นนำเข้าหมายเลขที่ต้องการ:
curl -X POST https://api.thunderphone.com/v1/voip-connections/5/import-numbers \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"numbers": ["+15550001234", "+15550009999"]}'
การนำเข้าแต่ละรายการจะกลายเป็นทรัพยากรหมายเลขโทรศัพท์
ในองค์กรของคุณ โดยมี source="voip" และ status="provisioning"
4. ยืนยันหมายเลขที่นำเข้าแต่ละหมายเลข
การนำเข้าจะลงทะเบียนหมายเลขเป็น พร้อมใช้งาน แต่การกำหนดเส้นทางสายผ่านหมายเลขนั้นจริงต้องมีการยืนยันแบบไป-กลับ (การตรวจสอบการโทรเข้าจากภายนอก + การทดสอบการอนุญาตโทรออก)
curl -X POST https://api.thunderphone.com/v1/phone-numbers/{id}/verify-voip \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
เมื่อสำเร็จ voip_verification_status จะเปลี่ยนเป็น verified และหมายเลขจะเข้าสู่ status="active" หากล้มเหลว การตอบกลับจะระบุสิ่งที่ล้มเหลวอย่างชัดเจน — แก้ไขปัญหา (มักเป็นการไม่ได้กำหนด trunk ในแดชบอร์ดของผู้ให้บริการ) แล้วเรียกอีกครั้ง
5. กำหนดเอเจนต์และรับสาย
เมื่อยืนยันหมายเลขแล้ว ให้กำหนดเอเจนต์สำหรับสายเข้า / สายออกด้วยวิธีเดียวกับหมายเลขเดโม ดู จัดการสายเข้า และ โทรออก
การหมุนเวียนข้อมูลรับรอง
เมื่อคีย์ของผู้ให้บริการมีการหมุนเวียน ให้เรียกใช้ขั้นตอนทดสอบแล้วอัปเดตอีกครั้ง:
# 1. Test the new credentials
curl -X POST https://api.thunderphone.com/v1/voip-connections/test ...
# 2. PATCH the connection with the new evidence
curl -X PATCH https://api.thunderphone.com/v1/voip-connections/{id} \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"credentials": { "apiKey": "NEW_KEY..." },
"verification_evidence_id": "fresh-evidence-id"
}'
การเชื่อมต่อจะยังคงอยู่ — ไม่จำเป็นต้องนำเข้าหมายเลขอีกครั้ง