เริ่มต้นใช้งาน
เริ่มอย่างรวดเร็ว: ข้อความแรกบน WhatsApp
เชื่อมต่อบัญชีข้อความ WhatsApp ส่งข้อความ และรับคำตอบผ่าน Webhook คู่มือนี้ใช้การจับคู่ด้วยหมายเลขโทรศัพท์
เริ่มต้นใช้งาน
- 1
เตรียม API key ให้พร้อม
เตรียม API Key ของ workspace บัญชี WhatsApp และ Webhook HTTPS สาธารณะ เก็บ API Key และคีย์ลงนามไว้บนเซิร์ฟเวอร์ แล้วตรวจสอบคีย์ด้วยคำขอด้านล่าง
ดูพื้นที่ทำงานปัจจุบันcurl "https://api.unifyport.ai/v1/workspace" \ -H "X-Api-Key: <YOUR_API_KEY>" - 2
ลงทะเบียนจุดเชื่อมต่อ webhook
ทำขั้นนี้ก่อน: ความคืบหน้าการให้สิทธิ์และข้อความขาเข้าแบบ realtime มาทาง webhook โดยไม่รับประกัน replay ของ delivery ที่พลาด ["*"] subscribe public standard event ทั้งหมด ส่วน WhatsApp HistorySync ให้เพียงความต่อเนื่องล่าสุดแบบจำกัด ไม่ใช่ประวัติถาวร
สร้าง จุดเชื่อมต่อ Webhookcurl -X POST "https://api.unifyport.ai/v1/webhook-endpoints" \ -H "X-Api-Key: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "url": "https://example.com/webhook", "status": "active", "subscribed_events": ["*"], "signing_secret": "<WEBHOOK_SIGNING_SECRET>" }' - 3
ตรวจสอบภูมิภาคที่ใช้งานได้
บัญชีถูกผูกกับภูมิภาคหนึ่ง และไม่ใช่ผู้ให้บริการทุกรายจะให้บริการในทุกภูมิภาค ให้เรียกดูรายการภูมิภาคของผู้ให้บริการก่อน แล้วเลือกภูมิภาคที่ allocatable: true — การสร้างบัญชีในภูมิภาคที่จัดสรรไม่ได้จะล้มเหลวด้วย 409 no_allocatable_server
รายชื่อภูมิภาคของผู้ให้บริการcurl "https://api.unifyport.ai/v1/providers/whatsapp/regions" \ -H "X-Api-Key: <YOUR_API_KEY>" - 4
สร้างบัญชี WhatsApp
สร้างบัญชีข้อความในภูมิภาคที่จัดสรรได้ที่เลือกไว้ การจับคู่ WhatsApp ด้วยหมายเลขโทรศัพท์ใช้ auth_mode=code และ provider_data.phone เป็นหมายเลขสากลเต็มที่มีเฉพาะตัวเลข บันทึก data.id เป็น account_id สำหรับขั้นตอนถัดไป
สร้างบัญชีcurl -X POST "https://api.unifyport.ai/v1/accounts" \ -H "X-Api-Key: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "name": "WhatsApp Support", "provider": "whatsapp", "region": "<REGION>", "status": "active", "auth_mode": "code", "provider_data": { "phone": "8600000000000" } }' - 5
จับคู่โทรศัพท์
ส่ง {} ไปยัง POST /auth/start โดยใช้หมายเลขที่บันทึกไว้ แสดง data.verify_code ให้ผู้ใช้กรอกใน WhatsApp บนโทรศัพท์ ไม่ต้องส่งไปยัง /auth/code ตรวจสอบการยืนยันตัวตนและการเชื่อมต่อก่อนส่งข้อความ
เริ่มยืนยันด้วยรหัสcurl -X POST "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/auth/start" \ -H "X-Api-Key: <YOUR_API_KEY>" - 6
ตรวจสอบว่าบัญชีพร้อมส่ง
ใช้ account_id เดิมเรียก /auth และข้อมูลบัญชี รอให้สถานะเป็น authorized และ runtime_status เป็น running หากต้องยืนยันตัวตนให้ดำเนินต่อ หากยืนยันแล้วแต่ออฟไลน์ให้ตรวจสอบหรือรีเฟรช runtime
สถานะการยืนยันตัวตนcurl -X GET "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/auth" \ -H "X-Api-Key: <YOUR_API_KEY>" curl -X GET "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>" \ -H "X-Api-Key: <YOUR_API_KEY>" - 7
ส่งข้อความแรกของคุณ
ใช้ account_id ที่บันทึกไว้ ตัวอย่าง WhatsApp นี้ใช้หมายเลขระหว่างประเทศเต็มตามด้วย @s.whatsapp.net เมื่อตอบกลับให้ใช้ data.conversation.id จากเหตุการณ์ อย่าใช้รูปแบบนี้กับช่องทางอื่น
ส่งข้อความตัวอักษรcurl -X POST "https://api.unifyport.ai/v1/messages" \ -H "X-Api-Key: <YOUR_API_KEY>" \ -H "Content-Type: application/json" \ -d '{ "account_id": "<ACCOUNT_ID>", "to": { "id": "8600000000000@s.whatsapp.net", "type": "user" }, "message": { "type": "text", "text": "Hello from UnifyPort" } }' - 8
รับอีเวนต์แรกของคุณ
ตอบจากผู้รับที่ใช้ทดสอบ ตรวจลายเซ็น บันทึกเหตุการณ์ แล้วตอบรับการส่ง เหตุการณ์ทั่วไปให้ตัดซ้ำตาม ID และรองรับลำดับที่สลับกัน สำหรับ conversation.history ให้รวมข้อความตาม provider + account_id + conversation.id + messages[].id ไม่ทิ้งทั้งชุดจาก ID เหตุการณ์เพียงอย่างเดียว หากไม่ได้รับ ให้ตรวจการสมัครรับ ที่อยู่ปลายทาง และผลตอบรับการส่ง
Webhook delivery & signature verification