ส่งข้อความตัวอักษร
ส่งข้อความตัวอักษร โดย message.text ต้องไม่ว่าง ฟิลด์เฉพาะใช้ provider_data และการตอบกลับแบบอ้างอิงใช้ reply_to ระดับบนสุด opaque reply handle ของ WhatsApp ที่อาจคืนเมื่อช่องทางมีตัวระบุข้อความที่ตอบกลับได้ และไม่ใช่ id ข้อความแม่
https://api.unifyport.ai/v1/messagesส่วนหัว
X-Api-KeyAPI key ของพื้นที่ทำงาน ระบบจะระบุพื้นที่ทำงานจากส่วนหัวนี้
Content-Typeใช้ application/json เมื่อต้องส่งเนื้อหาของคำขอเป็น JSON
พารามิเตอร์ใน path
จุดเชื่อมต่อนี้ไม่มีพารามิเตอร์ใน path
เนื้อหาของคำขอ
account_idบัญชีของผู้ให้บริการที่ส่งข้อความ
minLength: 1
toobjectจำเป็นผู้รับ ประกอบด้วย id และ type
toผู้รับ ประกอบด้วย id และ type
idตัวระบุผู้รับฝั่ง provider
minLength: 1
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
minLength: 1
captionคำบรรยายเสริมสำหรับข้อความ image, video, document หรือ file
urlURL HTTP(S) แบบ absolute ที่ไม่ว่าง โดย media ต้องมี url, file_url หรือ file_key
format: uri · pattern: ^[Hh][Tt][Tt][Pp][Ss]?://
file_urlURL HTTP(S) สำรองแบบ absolute ที่ไม่ว่าง โดย media ต้องมีแหล่งข้อมูลหนึ่งรายการ
format: uri · pattern: ^[Hh][Tt][Tt][Pp][Ss]?://
file_keyข้อมูลอ้างอิงไฟล์ที่ไม่ว่าง โดย media ต้องมีแหล่งข้อมูลหนึ่งรายการ
minLength: 1
contacts[]object[]อาร์เรย์นามบัตรที่ไม่ว่างและต้องระบุเมื่อ message.type=contact
minItems: 1
contacts[]อาร์เรย์นามบัตรที่ไม่ว่างและต้องระบุเมื่อ message.type=contact
minItems: 1
nameชื่อที่แสดงที่ไม่ว่างและต้องมีในนามบัตรทุกรายการ
minLength: 1
phones[]object[]รายการหมายเลขโทรศัพท์ในนามบัตร
phones[]รายการหมายเลขโทรศัพท์ในนามบัตร
numberหมายเลขโทรศัพท์ ต้องมีใน phone ทุกรายการ
typeป้ายกำกับโทรศัพท์ที่ไม่บังคับ เช่น CELL หรือ WORK
emails[]object[]รายการอีเมลในนามบัตร
emails[]รายการอีเมลในนามบัตร
addressที่อยู่อีเมล ต้องมีใน email ทุกรายการ
format: email
typeป้ายกำกับอีเมลที่ไม่บังคับ เช่น WORK หรือ HOME
organizationชื่อองค์กรของผู้ติดต่อที่ไม่บังคับ
titleตำแหน่งงานของผู้ติดต่อที่ไม่บังคับ
provider_dataobjectตัวเลือกเฉพาะของ provider เช่น parse_mode ของ Telegram หรือ seconds สำหรับ WhatsApp audio / video ซึ่งใช้จำนวนเต็มที่ไม่ติดลบ เฉพาะสำหรับ video ค่าที่อนุญาตคือ 0 ถึง 4294967295 ส่วน waveform ยังใช้ได้เฉพาะ audio สำหรับการตอบกลับแบบอ้างอิงให้ใช้ reply_to ระดับบนสุด
provider_dataตัวเลือกเฉพาะของ provider เช่น parse_mode ของ Telegram หรือ seconds สำหรับ WhatsApp audio / video ซึ่งใช้จำนวนเต็มที่ไม่ติดลบ เฉพาะสำหรับ video ค่าที่อนุญาตคือ 0 ถึง 4294967295 ส่วน waveform ยังใช้ได้เฉพาะ audio สำหรับการตอบกลับแบบอ้างอิงให้ใช้ reply_to ระดับบนสุด
secondsระยะเวลาแบบเลือกได้เป็นวินาทีสำหรับข้อความ WhatsApp audio และ video โดยใช้จำนวนเต็มที่ไม่ติดลบ เฉพาะสำหรับ video ค่าที่อนุญาตคือ 0 ถึง 4294967295
minimum: 0
waveformข้อมูล waveform แบบเลือกได้สำหรับข้อความ audio ของ WhatsApp ค่าที่ไม่ว่างต้องเข้ารหัสด้วย Base64 มาตรฐาน และเมื่อ decode แล้วต้องเป็นข้อมูล waveform แบบ JSON ที่ parse ได้ สตริงว่างจะถือว่าไม่ได้ระบุ ส่วนรูปแบบอื่นที่ไม่ถูกต้องจะส่งคืน HTTP 400 provider_invalid_request
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 ขาเข้า
minLength: 1
mentions[]object[]รายการเป้าหมาย @ ของข้อความกลุ่ม type=member ใช้ id สมาชิกของ Provider ที่สอดคล้องกัน ส่วน type=all หมายถึง @ทุกคน และมีผลเฉพาะเมื่อ Provider รองรับ มิฉะนั้นจะส่งคืน unsupported_message_type
mentions[]รายการเป้าหมาย @ ของข้อความกลุ่ม type=member ใช้ id สมาชิกของ Provider ที่สอดคล้องกัน ส่วน type=all หมายถึง @ทุกคน และมีผลเฉพาะเมื่อ Provider รองรับ มิฉะนั้นจะส่งคืน unsupported_message_type
typeประเภทเป้าหมาย @ หากละไว้จะถือเป็น member เพื่อความเข้ากันได้กับคำขอเดิม type=member ต้องส่ง id ส่วน type=all ไม่ต้องส่ง id และใช้ได้เฉพาะแชตกลุ่ม
enum: member, all
idตัวระบุสมาชิก Provider ที่ต้องระบุเมื่อ type=member
minLength: 1
เนื้อหาการตอบกลับ
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": "text",
"text": "Hello from UnifyPort"
},
"provider_data": {
"parse_mode": "markdown"
}
}'การตอบกลับ
{
"data": {
"message_id": "msg_example",
"account_id": "acc_example",
"status": "accepted",
"provider_ref": "provider_msg_example",
"reply_token": "<opaque WhatsApp reply handle>"
}
}