WhatsApp

GetMyBot เชื่อมต่อ WhatsApp ผ่าน WhatsApp Cloud API (Meta Graph API) หลังเชื่อมต่อแล้ว บอทจะรับข้อความขาเข้าจาก WhatsApp และใช้รีแอคชันของคุณกับข้อความเหล่านั้น และเจ้าหน้าที่สามารถสนทนาในไดอะล็อกได้ ภาพรวมของระบบหลายช่องทางอยู่ที่หน้า ช่องทาง

การเชื่อมต่อช่องทาง WhatsApp

การเชื่อมต่อต้องใช้ข้อมูลรับรอง 5 รายการจากแอป Meta ของคุณ (WhatsApp Cloud API) ทั้งหมด จำเป็น:

  • Phone number ID — ตัวระบุหมายเลข WhatsApp Business
  • WABA ID — ตัวระบุ WhatsApp Business Account
  • Access token — โทเค็นการเข้าถึงของแอป Meta
  • Verify token — สตริงตามอำเภอใจที่คุณกำหนดเอง ใช้ตอนยืนยัน webhook ใน Meta (ดูด้านล่าง)
  • App secret — ความลับของแอป Meta จำเป็นสำหรับตรวจสอบลายเซ็น HMAC ของ webhook ขาเข้า (header X-Hub-Signature-256)

ขั้นตอนในอินเทอร์เฟซ:

  1. เปิด บอท → "เพิ่มช่องทาง" → WhatsApp
  2. กรอกทั้ง 5 ช่องด้านบน และหากต้องการ ชื่อช่องทาง (ไม่บังคับ)
  3. กด "ตรวจสอบ" — GetMyBot จะตรวจสอบข้อมูลรับรองผ่าน Meta
  4. กด "เชื่อมต่อ"

การตั้งค่า webhook ใน Meta

หลังเชื่อมต่อแล้ว ช่องทางจะมี Callback URL ในรูปแบบ {ที่อยู่}/ch/{channelID} (ในอินเทอร์เฟซ — ไอคอน webhook 🔗) URL นี้พร้อมกับ Verify token ของคุณต้องนำไปกำหนดในแอป Meta: WhatsApp → Configuration → Webhook

วิธีการทำงาน:

  1. Meta ส่ง คำร้องยืนยัน ไปยัง Callback URL และเทียบ verify_token ที่ส่งมากับ Verify token ของคุณ หากตรงกัน webhook จะถือว่ายืนยันแล้ว
  2. จากนั้น Meta จะส่งเหตุการณ์ไปยังที่อยู่นี้ (ข้อความขาเข้า, สถานะการส่ง, ผลการควบคุมดูแลเทมเพลต)
  3. คำร้องขาเข้าแต่ละรายการถูกลงลายเซ็นด้วย header X-Hub-Signature-256; GetMyBot ตรวจสอบลายเซ็นด้วย App secret — จึงเป็นเหตุผลที่ข้อมูลรับรองนี้จำเป็นตอนเชื่อมต่อ

หน้าต่างเซสชัน 24 ชั่วโมง

WhatsApp จำกัดการเริ่มสนทนาเอง: ข้อความอิสระ ส่งถึงผู้ใช้ได้เฉพาะภายใน 24 ชั่วโมง หลังจากข้อความขาเข้าล่าสุดของเขา ข้อความขาเข้าใหม่แต่ละครั้งจากผู้ใช้จะรีเฟรชหน้าต่างนี้

นอกหน้าต่าง 24 ชั่วโมงจะส่งข้อความอิสระไม่ได้ — วิธีเดียวที่จะเขียนถึงผู้ใช้อีกครั้ง (re-engage) คือ เทมเพลตข้อความที่ได้รับอนุมัติแล้ว ด้วยเหตุนี้เทมเพลตจึงเป็นเครื่องมือสำคัญสำหรับการกระจายข่าวและการเตือนใน WhatsApp

เทมเพลตข้อความ

เทมเพลต (message template) คือข้อความที่ตกลงกับ Meta ไว้ล่วงหน้าซึ่งส่งได้นอกหน้าต่างเซสชัน การจัดการเทมเพลตอยู่ในอินเทอร์เฟซ GetMyBot

จัดการเทมเพลตที่ไหน

บอท → ที่ช่องทาง WhatsApp มีไอคอน "เทมเพลตข้อความ" (📄) → ไดอะล็อก "เทมเพลตของช่องทาง WhatsApp" ในไดอะล็อกมีปุ่ม:

  • "สร้างเทมเพลต" — สร้างเทมเพลตใหม่
  • "ซิงค์" — ดึงแคตตาล็อกเทมเพลตจาก Meta (อัปเดตสถานะและรายการ)

หมวดหมู่เทมเพลต

  • MARKETING (การตลาด) — โปรโมชัน, ประกาศ, การกระจายข่าว
  • UTILITY (บริการ) — การแจ้งเตือนตามการกระทำของผู้ใช้ (สถานะคำสั่งซื้อ, การเตือน)
  • AUTHENTICATION (การยืนยันตัวตน) — รหัสยืนยัน

ฟิลด์ของเทมเพลต

  • ชื่อ — อักษรละตินตัวพิมพ์เล็ก, ตัวเลข และ _, ไม่เกิน 512 อักขระ
  • ภาษา — locale ของ Meta
  • หมวดหมู่ — หนึ่งในสามข้างต้น

สำหรับหมวดหมู่ การตลาด และ บริการ เพิ่มเติม:

  • หัวข้อ (Header) — ไม่มี / ข้อความ / รูปภาพ / วิดีโอ / เอกสาร สำหรับหัวข้อแบบมีเดีย ต้องอัปโหลดไฟล์ตัวอย่าง
  • เนื้อหา (Body) — บังคับ, ไม่เกิน 1024 อักขระ ตัวแปรกำหนดด้วย {{1}}, {{2}}, … ตามลำดับอย่างเคร่งครัดจาก 1 ถึง N ห้ามข้าม
  • ท้ายข้อความ (Footer) — ไม่เกิน 60 อักขระ
  • ปุ่ม — ไม่เกิน 10 ปุ่ม: ตอบกลับด่วน, ลิงก์ (ไม่เกิน 2), โทรศัพท์ (1), คัดลอกรหัส (1)
  • ตัวแปร {{n}} แต่ละตัวต้องกำหนด ค่าตัวอย่าง — เป็นข้อกำหนดของ Meta สำหรับการควบคุมดูแล

สำหรับหมวดหมู่ การยืนยันตัวตน เนื้อหาถูก Meta กำหนดตายตัว; สิ่งที่ตั้งค่าได้: อายุของรหัส (1–90 นาที), คำแนะนำด้านความปลอดภัย และข้อความปุ่มคัดลอกรหัส

การควบคุมดูแล

ปุ่ม "สร้าง" จะส่งเทมเพลตไปยังการควบคุมดูแลของ Meta ทันที — ไม่มีขั้นตอน "ส่งตรวจสอบ" แยกต่างหาก ผลลัพธ์จะมาแบบอะซิงโครนัส (ผ่าน webhook) รายการเทมเพลตอัปเดตอัตโนมัติ สถานะ:

  • PENDING (กำลังตรวจสอบ)
  • APPROVED (อนุมัติแล้ว)
  • REJECTED (ถูกปฏิเสธ) — พร้อมระบุเหตุผล
  • รวมถึง PAUSED, DISABLED, IN_APPEAL, PENDING_DELETION

แก้ไขเทมเพลตได้เฉพาะสถานะ APPROVED, REJECTED, PAUSED เปลี่ยนชื่อและภาษาไม่ได้; สำหรับเทมเพลตที่อนุมัติแล้ว หมวดหมู่ก็ถูกล็อกด้วย

การใช้เทมเพลตในรีแอคชัน

การส่งเทมเพลตเป็นการกระทำของรีแอคชัน:

  1. ในตัวสร้างรีแอคชัน เปิด "การกระทำ" → "เพิ่มการกระทำ" → "ส่งเทมเพลต WhatsApp"
  2. การกระทำนี้ใช้ได้เฉพาะเมื่อบอทมีช่องทาง WhatsApp ที่รองรับเทมเพลต
  3. เลือกได้ เฉพาะเทมเพลตที่อนุมัติแล้ว (APPROVED)
  4. กรอกพารามิเตอร์: ค่าตัวแปร {{n}} ในเนื้อหา, หัวข้อแบบข้อความ, หัวข้อแบบมีเดียผ่านลิงก์, พารามิเตอร์ของปุ่ม URL ในพารามิเตอร์สามารถใช้ตัวแปรแทนที่ได้

ช่องทางส่งจริงถูกกำหนดโดยช่องทางของเหตุการณ์: หากเหตุการณ์มาจาก WhatsApp เทมเพลตจะถูกส่งไปยัง WhatsApp

ไดอะล็อกและไฟล์แนบ

เจ้าหน้าที่สามารถตอบในไดอะล็อก WhatsApp และส่งไฟล์แนบ — รูปภาพ, วิดีโอ หรือเอกสาร — โดยคำนึงถึงหน้าต่าง 24 ชั่วโมง (นอกหน้าต่างจะสนทนาอิสระไม่ได้) มีเดียขาเข้าจากผู้ติดตามจะถูกดึงผ่าน proxy และแสดงในไดอะล็อก

การคิดค่าบริการ

GetMyBot บันทึกการสนทนา WhatsApp (conversations) ตามหมวดหมู่ — marketing / utility / authentication / service ในเวอร์ชันปัจจุบันนี่เป็น เพียงการบันทึกเพื่อสังเกตการณ์ (record-only): ไม่มีการหักยอดคงเหลือสำหรับการสนทนา

ขั้นตอนถัดไป