การโทร
สร้างการโทรbeta
ฟีเจอร์นี้อยู่ในช่วงทดสอบแบบปิด โปรดติดต่อฝ่ายสนับสนุนด้านเทคนิคเพื่อขอเปิดสิทธิ์ให้เวิร์กสเปซ
ขณะนี้รองรับเฉพาะการโทรเสียงและวิดีโอแบบตัวต่อตัวผ่าน WhatsApp เท่านั้น เตรียม join_url ส่วนตัวที่ใช้ได้ครั้งเดียว เปิดลิงก์แล้วกด Start call เพื่อเริ่มโทร
https://api.unifyport.ai/v1/callsช่องทางที่รองรับ
ก่อนเรียกใช้
ใช้ X-Api-Key ของ workspace เจ้าของทรัพยากรบนเซิร์ฟเวอร์ แทนค่าตัวอย่างทั้งหมดก่อนเรียกใช้
ตรวจว่าเวิร์กสเปซได้รับสิทธิ์ทดสอบแบบปิด ก่อนสร้างการโทร ให้ยืนยันตัวตน WhatsApp จนเสร็จและตรวจ runtime_status=running ใช้ conversation_id ของบทสนทนาส่วนตัวภายใต้บัญชีนี้
การเริ่มโทรในเบราว์เซอร์ต้องอนุญาตไมโครโฟน ส่วนสิทธิ์กล้องเป็นตัวเลือก
ที่มาของพารามิเตอร์
- account_id
- รับ data.id จากการสร้างหรือค้นหาบัญชี รหัสเป็นของ workspace ที่ระบุด้วย X-Api-Key ดูบัญชี
- to.id · to.type
- ใช้ conversation_id ที่ API ส่งกลับของบทสนทนาส่วนตัวเป้าหมายภายใต้บัญชีนี้ใน to.id โดยไม่แก้ไข และตั้ง to.type=user ห้ามแทนด้วยสตริงหมายเลขโทรศัพท์ รายละเอียดบทสนทนา
พารามิเตอร์คำขอ
ส่วนหัว
X-Api-KeyAPI key ของพื้นที่ทำงาน ระบบจะระบุพื้นที่ทำงานจากส่วนหัวนี้
Content-Typeใช้ application/json เมื่อต้องส่งเนื้อหาของคำขอเป็น JSON
เนื้อหาของคำขอ
account_idID บัญชีในเวิร์กสเปซปัจจุบัน
pattern: ^acc_[A-Za-z0-9][A-Za-z0-9_-]*$
toobjectจำเป็นผู้รับสายแบบตัวต่อตัว
toผู้รับสายแบบตัวต่อตัว
idระบุ conversation_id ของบทสนทนาเป้าหมายภายใต้บัญชีปัจจุบัน โดยใช้ค่าที่ API ส่งกลับโดยไม่แก้ไข
minLength: 1
typeรองรับเฉพาะ user ส่วน group/channel จะได้รับข้อผิดพลาดว่าไม่รองรับ
enum: user, group, channel
media_typevoice คือเสียง ส่วน video คือการโทรที่รองรับวิดีโอ
enum: voice, video
ทำความเข้าใจผลลัพธ์
201 พร้อม state=preparing หมายถึงเตรียมการโทรแล้ว ยังไม่ได้โทรออก บันทึก call_id เปิด join_url ที่เก็บเป็นความลับและกด Start call ก่อน expires_at ที่ส่งกลับ ยืนยันการเชื่อมต่อจากสถานะการโทรหรือ call.answered
หมายเหตุ
เตรียมการโทรเสียงหรือวิดีโอ WhatsApp แบบตัวต่อตัว (media_type: voice/video) โดย to.id คือ conversation_id และ to.type คือ user ไม่รองรับสตริงเบอร์โทรหรือการโทรกลุ่ม ระยะเวลาเตรียมเริ่มจากการสร้าง ค่าเริ่มต้น 2 นาที โดยยึด expires_at ที่ส่งกลับเป็นเวลาหมดอายุจริง เปิด join_url และกด Start call ก่อนหมดอายุ ไม่จำกัดระยะเวลาสายที่เชื่อมต่อแล้ว ต้องอนุญาตไมโครโฟน ส่วนกล้องเป็นตัวเลือก ห้ามเผยแพร่ลิงก์ใช้ครั้งเดียว
การตอบกลับ 201 · 201
{
"request_id": "req_example",
"data": {
"call_id": "call_example",
"direction": "outbound",
"media_type": "video",
"state": "preparing",
"join_url": "https://calls.example.com/call/call_example#ticket=example-only",
"expires_at": "2026-09-07T12:02:00Z"
}
}
เนื้อหาการตอบกลับ
call_idรหัสการโทร ใช้สำหรับวางสายด้วย
directionทิศทางการโทร
enum: outbound
media_typevoice คือเสียง ส่วน video คือการโทรที่รองรับวิดีโอ
enum: voice, video
stateสถานะการโทรปัจจุบัน
enum: preparing
join_urlลิงก์ HTTPS อายุสั้นที่ใช้ได้ครั้งเดียว ห้ามบันทึกหรือเผยแพร่
format: uri
expires_atเวลาหมดอายุการเตรียมในรูปแบบ RFC3339
format: date-time
การตอบกลับ
201201 · 201
คำขอสำเร็จ ดูตัวอย่างเนื้อหาตอบกลับด้านบน
400Bad Request
เนื้อหาของคำขอ path หรือพารามิเตอร์ไม่ถูกต้อง
401Unauthorized
ส่วนหัว X-Api-Key หายไปหรือไม่ถูกต้อง
403Forbidden
ระบบระบุคำขอได้ แต่ไม่อนุญาตให้ดำเนินการนี้
404Not Found
ไม่พบทรัพยากรที่ร้องขอ โปรดตรวจสอบ error.code ร่วมกับการดำเนินการปัจจุบัน
409Conflict
การดำเนินการขัดแย้งกับบัญชีของผู้ให้บริการหรือทรัพยากรที่มีอยู่
500Internal Server Error
บริการพบข้อผิดพลาดที่ไม่คาดคิด
501Not Implemented
provider ที่เลือกยังไม่รองรับการดำเนินการนี้
502Bad Gateway
อะแดปเตอร์หรือ upstream provider ไม่สามารถทำรายการให้เสร็จได้
503Service Unavailable
บริการ backend ที่จำเป็นไม่พร้อมใช้งานชั่วคราว
เมื่อคำขอล้มเหลว
ตรวจ HTTP และ error.code/numeric_code เก็บ request_id ตรวจสิทธิ์ทดสอบ บัญชี และ call_id หากสร้างแล้วขัดแย้ง ให้เรียกดูการโทรปัจจุบันก่อน ตรวจสถานะก่อนลองสร้างหรือวางสายซ้ำ อ้างอิงรหัสข้อผิดพลาด
- invalid_request · 10000 · 400
- ตรวจฟิลด์บังคับ รูปแบบ และเงื่อนไขช่องทาง แล้วแก้คำขอ
- missing_api_key · 11000 · 401
- ตรวจ X-Api-Key และว่า workspace ยังใช้งานอยู่
- invalid_api_key · 11001 · 401
- ตรวจ X-Api-Key และว่า workspace ยังใช้งานอยู่
- account_not_found · 20020 · 404
- ตรวจ account_id และใช้ X-Api-Key ของเวิร์กสเปซเจ้าของบัญชี คีย์ปัจจุบันไม่สามารถเข้าถึงบัญชีที่ไม่พบในเวิร์กสเปซนี้
- unsupported_by_provider · 30003 · 501
- ดูคู่มือความสามารถช่องทาง แล้วเลือกช่องทางหรือคำสั่งที่รองรับ การส่งซ้ำไม่เพิ่มการรองรับ
- beta_feature_not_enabled · 41002 · 403
- ติดต่อฝ่ายสนับสนุนทางเทคนิคเพื่อขอสิทธิ์ทดสอบแบบปิดให้เวิร์กสเปซ การส่งซ้ำหรือเปลี่ยน is_beta ในคำขอไม่ทำให้ได้สิทธิ์
- call_already_active · 38000 · 409
- เรียกดูการโทรปัจจุบันเพื่อรับ call_id รอให้จบหรือวางสายก่อนสร้างการโทรใหม่