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

ช่องทาง

การให้สิทธิ์ WhatsApp Protocol

WhatsApp Protocol เป็นช่องทางแยกต่างหาก โดยใช้ provider=whatsapp-protocol ปัจจุบันรองรับเฉพาะการนำเข้าเซสชัน (auth_mode=session) เพื่อให้สิทธิ์บัญชีด้วยข้อมูลเซสชันที่มีอยู่

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

  1. 1

    รายชื่อภูมิภาคของผู้ให้บริการ

    สอบถามภูมิภาคของ whatsapp-protocol แล้วเลือกภูมิภาคที่ allocatable=true หากไม่มี จะยังสร้างบัญชีในภูมิภาคเหล่านั้นไม่ได้

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

    สร้างบัญชี

    สร้างบัญชีด้วย provider=whatsapp-protocol และ auth_mode=session บันทึก data.id เป็น account_id ส่งข้อมูลโปรโตคอลผ่าน /auth/session เท่านั้น ห้ามใส่ใน provider_data

    curl -X POST "https://api.unifyport.ai/v1/accounts" \
      -H "X-Api-Key: <YOUR_API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{
      "name": "WhatsApp Protocol",
      "provider": "whatsapp-protocol",
      "region": "<REGION>",
      "auth_mode": "session"
    }'
    สร้างบัญชี
  3. 3

    นำเข้า session

    ส่งออบเจ็กต์ whatsapp-protocol ด้านล่าง ขั้นตอนนี้ต้องมี phone และคีย์ทั้งสี่ช่อง คีย์เขียนได้อย่างเดียวและไม่แสดงในคำตอบ ละเว้นฟิลด์ที่เลิกใช้และอย่าส่ง edge_routing

    curl -X POST "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/auth/session" \
      -H "X-Api-Key: <YOUR_API_KEY>" \
      -H "Content-Type: application/json" \
      -d '{
      "whatsapp-protocol": {
        "phone": "8600000000000",
        "static_pub_key": "<STATIC_PUBLIC_KEY>",
        "static_pri_key": "<STATIC_PRIVATE_KEY>",
        "identity_pub_key": "<IDENTITY_PUBLIC_KEY>",
        "identity_pri_key": "<IDENTITY_PRIVATE_KEY>"
      }
    }'
    นำเข้า session
  4. 4

    ตรวจสอบว่าบัญชีพร้อมส่ง

    หลังนำเข้าให้ตรวจสอบการยืนยันตัวตนและ runtime ด้วย account_id ค่า authorized ไม่ได้แปลว่าเชื่อมต่อแล้ว หากยังออฟไลน์ให้รีเฟรชสถานะก่อนส่ง

    curl -X GET "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/auth" \
      -H "X-Api-Key: <YOUR_API_KEY>"
    
    curl -X POST "https://api.unifyport.ai/v1/accounts/<ACCOUNT_ID>/runtime/refresh" \
      -H "X-Api-Key: <YOUR_API_KEY>"
    รีเฟรชสถานะ runtime

หมายเหตุ

  • รองรับ text, image และรายละเอียดผู้ติดต่อ ไม่รองรับการตอบแบบอ้างอิง mentions รายการ/การแก้ไขผู้ติดต่อ การสนทนาหรือกลุ่ม เหตุการณ์ที่แมปได้คือ message.received สำหรับข้อความ/รูปภาพ, account.started, account.status.updated และ account.auth.failed การส่งจริงขึ้นกับบัญชีต้นทาง
  • รายละเอียดผู้ติดต่อต้องใช้ LID ที่มีอยู่ (xxx@lid) ใช้ data.sender.id หรือ data.conversation.id ได้เฉพาะเมื่อค่าลงท้ายด้วย @lid อยู่แล้ว Protocol ไม่มี API รายชื่อผู้ติดต่อ และ API นี้ไม่สามารถหา LID จากหมายเลขโทรศัพท์ได้ หากไม่มี LID จะสอบถามไม่ได้ ผลสำเร็จอาจไม่มีข้อมูลโปรไฟล์บางฟิลด์