เอกสารอ้างอิง API
เปรียบเทียบผู้ให้บริการ

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

WhatsApp รองรับการจับคู่ด้วย QR และหมายเลขโทรศัพท์ผ่าน จุดเชื่อมต่อ ยืนยันตัวตนมาตรฐาน

qrcode

การจับคู่ QR ของ WhatsApp: เรียก /auth/qr/start เพื่อเริ่ม session อุปกรณ์ QR token จะมาผ่าน account.auth.required และ poll ผ่าน /auth/qr/check ได้

  1. 1. POST /v1/accounts ด้วย provider=whatsapp และ auth_mode=qrcode ส่ง provider_data.device_os / device_platform / proxy_config (ทางเลือก) เพื่อควบคุมข้อมูลอุปกรณ์ที่แสดงบนโทรศัพท์
  2. 2. POST /v1/accounts/{account_id}/auth/qr/start เพื่อเริ่มอุปกรณ์ ค่า status คืน awaiting_qr_scan แต่สตริง QR จะมาแบบ asynchronous
  3. 3. รอ event account.auth.required บน webhook — auth_payload.qr_code คือสตริงที่ UI ต้องเรนเดอร์เป็นรูป QR หรือจะ poll /auth/qr/check ก็ได้
  4. 4. หลังสแกน events.PairSuccess (account.auth.succeeded) จะมาพร้อม JID อุปกรณ์ ตามด้วย events.Connected (account.started) POST /v1/accounts/{account_id}/runtime/start หลังจากนี้จะเป็น no-op
  • provider_data.device_osป้ายชื่อ OS ของอุปกรณ์ที่แสดงในหน้า "อุปกรณ์ที่เชื่อมต่อ" ของโทรศัพท์ ค่าเริ่มต้นคือ MacOS ต้องส่งคู่กับ device_platform เพื่อให้มีผล — ดูตาราง platform จากต้นทางเพื่อหาคู่ที่ถูกต้อง
  • provider_data.device_platformรหัสตัวเลข platform ของอุปกรณ์ (1=CHROME, 2=FIREFOX, 5=SAFARI, 14=IOS_PHONE, 16=ANDROID_PHONE, ...) ต้องกำหนดร่วมกับ device_os จึงจะมีผล
  • provider_data.proxy_configการตั้งค่า routing เครือข่ายแบบเลือกได้สำหรับ deployment ระดับองค์กร

code

การจับคู่ WhatsApp ด้วยหมายเลขโทรศัพท์: บันทึกหมายเลขโทรศัพท์ไว้ในบัญชีตั้งแต่ตอนสร้าง แล้วกรอกรหัส verify_code 8 ตัวอักษรในโทรศัพท์ (อุปกรณ์ที่เชื่อมต่อ → เชื่อมต่อด้วยหมายเลขโทรศัพท์)

  1. 1. POST /v1/accounts ด้วย provider=whatsapp, auth_mode=code และ provider_data.phone เป็นหมายเลข E.164 ตัวเลขล้วน ระบบจะเก็บหมายเลขไว้ในบัญชีและส่งซ้ำให้อัตโนมัติในขั้นยืนยันตัวตนถัดไป
  2. 2. POST /v1/accounts/{account_id}/auth/start ด้วย body ว่าง ระบบจะใช้หมายเลขที่บันทึกไว้ การตอบกลับจะมีค่า verify_code 8 ตัวอักษรอยู่ใน auth_payload
  3. 3. แสดง verify_code ให้ผู้ใช้ดู โทรศัพท์ยอมรับภายในประมาณ 3 นาที หากเกินกำหนดต้องเริ่มโฟลว์ใหม่
  4. 4. เมื่อจับคู่สำเร็จ events.PairSuccess และ events.Connected จะมาทาง webhook เหมือนโฟลว์ QR
  • provider_data.phoneหมายเลขโทรศัพท์ E.164 ตัวเลขล้วน (เช่น 15551234567) ระบุไว้ใต้ provider_data.phone ตอนสร้างบัญชี ขั้นยืนยันตัวตนถัด ๆ ไประบบจะใช้ค่านี้ซ้ำให้อัตโนมัติ

หมายเหตุ

  • QR มาทาง event account.auth.required ไม่ใช่ในการตอบ synchronous ของ /auth/qr/start ก่อนเริ่ม flow ต้องตั้งตัวรับ webhook ให้พร้อม
  • verify_code ที่ได้จาก /auth/start ใช้แสดงให้ผู้ใช้ปลายทาง ไม่ต้องส่งกลับไปยัง API WhatsApp คาดว่าผู้ใช้จะกรอกในโทรศัพท์ภายในประมาณ 3 นาที
  • ข้อความ reaction มาในรูป events.Message + Message.reactionMessage แต่ถูกแพลตฟอร์ม map เป็น message.reaction (อิโมจิอยู่ที่ data.event.reaction และ id ข้อความต้นทางที่ data.message.target_message_id)
  • สื่อที่เกินขีดจำกัดต้นทาง (ออดิโอ 50MB / วิดีโอ 60MB / เอกสาร 50MB) จะให้ attachment ที่ url เป็นค่าว่างและ metadata.is_big_file=true