ส่งข้อความนามบัตร (vCard)
ส่งนามบัตรผู้ติดต่อ message.type เป็น contact และ message.contacts เป็นอาร์เรย์แบบมีโครงสร้าง (ส่งได้หนึ่งหรือหลายใบ) โดย UnifyPort จะสร้าง vCard ให้ แต่ละใบต้องมี name ส่วน phones[].number, emails[].address, organization และ title เป็นแบบเลือกได้ ปัจจุบันรองรับเฉพาะ WhatsApp; อาร์เรย์ contacts ว่างหรือบางใบไม่มี name คืน 400 invalid_request ส่วนผู้ให้บริการที่ไม่ใช่ WhatsApp คืน 400 unsupported_message_type opaque reply handle ของ WhatsApp ที่อาจคืนเมื่อช่องทางมีตัวระบุข้อความที่ตอบกลับได้ และไม่ใช่ id ข้อความแม่
https://api.unifyport.ai/v1/messagesส่วนหัว
X-Api-KeyAPI key ของพื้นที่ทำงาน ระบบจะระบุพื้นที่ทำงานจากส่วนหัวนี้
Content-Typeใช้ application/json เมื่อต้องส่งเนื้อหาของคำขอเป็น JSON
พารามิเตอร์ใน path
จุดเชื่อมต่อนี้ไม่มีพารามิเตอร์ใน path
เนื้อหาของคำขอ
account_idบัญชีของผู้ให้บริการที่ส่งข้อความ
toobjectจำเป็นผู้รับ ประกอบด้วย id และ type
toผู้รับ ประกอบด้วย id และ type
idตัวระบุผู้รับฝั่ง provider
typeประเภทผู้รับ: user, group หรือ channel
enum: user, group, channel
messageobjectจำเป็นpayload ข้อความที่ปรับเป็นมาตรฐาน ข้อความตัวอักษรใช้ message.text สื่อใช้ message.url
messagepayload ข้อความที่ปรับเป็นมาตรฐาน ข้อความตัวอักษรใช้ message.text สื่อใช้ message.url
typeประเภทข้อความ: text, image, video, audio, document, file หรือ contact
enum: text, image, video, audio, document, file, contact
textเนื้อหาข้อความเมื่อ message.type เป็น text
urlURL สื่อสาธารณะสำหรับข้อความประเภทสื่อ
file_urlURL สื่อทางเลือกที่ adapter แบบไฟล์ของ provider รองรับ
file_keyข้อมูลอ้างอิงไฟล์ฝั่ง provider หรือระบบจัดเก็บเมื่อรองรับ
captionคำบรรยายเสริมสำหรับข้อความ image, video, document หรือ file
contacts[]object[]นามบัตรแบบมีโครงสร้างหนึ่งรายการขึ้นไปเมื่อ message.type เป็น contact
contacts[]นามบัตรแบบมีโครงสร้างหนึ่งรายการขึ้นไปเมื่อ message.type เป็น contact
nameชื่อที่แสดงของผู้ติดต่อ ต้องมีในนามบัตรทุกรายการ
phones[]object[]รายการหมายเลขโทรศัพท์ในนามบัตร
phones[]รายการหมายเลขโทรศัพท์ในนามบัตร
numberหมายเลขโทรศัพท์ ต้องมีใน phone ทุกรายการ
typeป้ายกำกับโทรศัพท์ที่ไม่บังคับ เช่น CELL หรือ WORK
emails[]object[]รายการอีเมลในนามบัตร
emails[]รายการอีเมลในนามบัตร
addressที่อยู่อีเมล ต้องมีใน email ทุกรายการ
typeป้ายกำกับอีเมลที่ไม่บังคับ เช่น WORK หรือ HOME
organizationชื่อองค์กรของผู้ติดต่อที่ไม่บังคับ
titleตำแหน่งงานของผู้ติดต่อที่ไม่บังคับ
provider_dataobjectตัวเลือกเฉพาะของ provider เช่น parse_mode ของ Telegram หรือ seconds / waveform สำหรับเสียงของ WhatsApp สำหรับการตอบกลับแบบอ้างอิงให้ใช้ reply_to ระดับบนสุด
provider_dataตัวเลือกเฉพาะของ provider เช่น parse_mode ของ Telegram หรือ seconds / waveform สำหรับเสียงของ WhatsApp สำหรับการตอบกลับแบบอ้างอิงให้ใช้ reply_to ระดับบนสุด
secondsระยะเวลาเสียงเป็นวินาทีแบบเลือกได้สำหรับข้อความ audio ของ WhatsApp โดยต้องมีค่าอย่างน้อย 0
waveformสตริงข้อมูลรูปคลื่นแบบเลือกได้สำหรับข้อความ audio ของ WhatsApp
reply_toobjectเป้าหมายของการตอบกลับแบบอ้างอิง ให้คัดลอก data.message.reply_token จาก webhook ขาเข้าไปยัง reply_to.reply_token ของคำขอส่งโดยไม่แก้ไข
reply_toเป้าหมายของการตอบกลับแบบอ้างอิง ให้คัดลอก data.message.reply_token จาก webhook ขาเข้าไปยัง reply_to.reply_token ของคำขอส่งโดยไม่แก้ไข
reply_tokenโทเค็นตอบกลับแบบทึบที่คัดลอกโดยไม่แก้ไขจาก data.message.reply_token ของ webhook ขาเข้า
mentions[]object[]สมาชิกที่อ้างถึงด้วย placeholder {{@<id>}} ใน text หรือ caption
mentions[]สมาชิกที่อ้างถึงด้วย placeholder {{@<id>}} ใน text หรือ caption
idตัวระบุสมาชิกฝั่ง provider ที่ตรงกับ placeholder {{@<id>}}
เนื้อหาการตอบกลับ
message_idตัวระบุข้อความของ UnifyPort (msg_...) สำหรับข้อความที่ถูกรับไว้
account_idบัญชีของผู้ให้บริการที่การตอบกลับนี้อ้างถึง
statusสถานะการรับ; accepted หมายถึงข้อความถูกเข้าคิวเพื่อนำส่งไปยังผู้ให้บริการ
provider_refreference ข้อความฝั่งผู้ให้บริการ เมื่อผู้ให้บริการกำหนดค่าให้แล้ว
reply_tokenopaque reply handle ของ WhatsApp ที่อาจคืนเมื่อช่องทางมีตัวระบุข้อความที่ตอบกลับได้ และไม่ใช่ id ข้อความแม่
การตอบกลับ
200คำขอสำเร็จ ดูตัวอย่างเนื้อหาตอบกลับด้านบน
400เนื้อหาของคำขอ path หรือพารามิเตอร์ไม่ถูกต้อง
401ส่วนหัว X-Api-Key หายไปหรือไม่ถูกต้อง
409การดำเนินการขัดแย้งกับบัญชีของผู้ให้บริการหรือทรัพยากรที่มีอยู่
500บริการพบข้อผิดพลาดที่ไม่คาดคิด
501provider ที่เลือกยังไม่รองรับการดำเนินการนี้
502อะแดปเตอร์หรือ upstream provider ไม่สามารถทำรายการให้เสร็จได้
คำขอ
curl -X POST https://api.unifyport.ai/v1/messages \
-H "X-Api-Key: <YOUR_API_KEY>" \
-H "Content-Type: application/json" \
-d '{
"account_id": "acc_example",
"to": {
"id": "user_example",
"type": "user"
},
"message": {
"type": "contact",
"contacts": [
{
"name": "Jane Doe",
"phones": [{ "number": "+8613800000000", "type": "CELL" }],
"emails": [{ "address": "jane@example.com" }],
"organization": "ACME",
"title": "PM"
}
]
}
}'การตอบกลับ
{
"data": {
"message_id": "msg_example",
"account_id": "acc_example",
"status": "accepted",
"provider_ref": "provider_msg_example",
"reply_token": "<opaque WhatsApp reply handle>"
}
}