เอกสารอ้างอิง API

เริ่มต้นใช้งาน

เริ่มอย่างรวดเร็ว: ข้อความแรกบน WhatsApp

เชื่อมต่อบัญชีข้อความ WhatsApp ส่งข้อความ และรับคำตอบผ่าน Webhook คู่มือนี้ใช้การจับคู่ด้วยหมายเลขโทรศัพท์

เริ่มต้นใช้งาน

  1. 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. 2

    ลงทะเบียนจุดเชื่อมต่อ webhook

    ทำขั้นนี้ก่อน: ความคืบหน้าการให้สิทธิ์และข้อความขาเข้าแบบ realtime มาทาง webhook โดยไม่รับประกัน replay ของ delivery ที่พลาด ["*"] subscribe public standard event ทั้งหมด ส่วน WhatsApp HistorySync ให้เพียงความต่อเนื่องล่าสุดแบบจำกัด ไม่ใช่ประวัติถาวร

    curl -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>"
    }'
    สร้าง จุดเชื่อมต่อ Webhook
  3. 3

    ตรวจสอบภูมิภาคที่ใช้งานได้

    บัญชีถูกผูกกับภูมิภาคหนึ่ง และไม่ใช่ผู้ให้บริการทุกรายจะให้บริการในทุกภูมิภาค ให้เรียกดูรายการภูมิภาคของผู้ให้บริการก่อน แล้วเลือกภูมิภาคที่ allocatable: true — การสร้างบัญชีในภูมิภาคที่จัดสรรไม่ได้จะล้มเหลวด้วย 409 no_allocatable_server

    curl "https://api.unifyport.ai/v1/providers/whatsapp/regions" \
      -H "X-Api-Key: <YOUR_API_KEY>"
    รายชื่อภูมิภาคของผู้ให้บริการ
  4. 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. 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. 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. 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. 8

    รับอีเวนต์แรกของคุณ

    ตอบจากผู้รับที่ใช้ทดสอบ ตรวจลายเซ็น บันทึกเหตุการณ์ แล้วตอบรับการส่ง เหตุการณ์ทั่วไปให้ตัดซ้ำตาม ID และรองรับลำดับที่สลับกัน สำหรับ conversation.history ให้รวมข้อความตาม provider + account_id + conversation.id + messages[].id ไม่ทิ้งทั้งชุดจาก ID เหตุการณ์เพียงอย่างเดียว หากไม่ได้รับ ให้ตรวจการสมัครรับ ที่อยู่ปลายทาง และผลตอบรับการส่ง

    Webhook delivery & signature verification