Skip to main content

การตั้งค่า Facebook Messenger

คู่มือนี้จะแนะนำขั้นตอนการเชื่อมต่อ Facebook Page ของคุณกับ MorphX ผ่าน Messenger Platform ตั้งแต่การสร้าง Meta App จนถึงการส่ง App Review เพื่อใช้งานจริง

สิ่งที่ต้องเตรียม

รายการรายละเอียด
บัญชี Facebook ส่วนตัวจำเป็นสำหรับสมัคร Meta Developer
Facebook PagePage ที่คุณเป็น Admin (สร้างใหม่หรือใช้ที่มีอยู่)
HTTPS Domainโดเมนที่รองรับ SSL สำหรับ Webhook

Credentials ที่ต้องใช้

MorphX ต้องการ Credentials 3 รายการ:

Credentialที่มาการใช้งาน
Page Access TokenMeta App Dashboard → Messenger Settingsใช้ส่งข้อความตอบกลับผ่าน Send API
App SecretMeta App Dashboard → Settings → Basicใช้ตรวจสอบลายเซ็น Webhook (X-Hub-Signature-256)
Verify Tokenคุณกำหนดเอง (สตริงลับ)ใช้ยืนยัน Webhook URL ครั้งแรก

ขั้นตอนที่ 1: สร้างบัญชี Meta Developer

  1. ไปที่ Meta for Developers
  2. คลิก เริ่มต้นใช้งาน (Get Started)
  3. เข้าสู่ระบบด้วยบัญชี Facebook ส่วนตัวของคุณ
  4. ยอมรับ เงื่อนไขแพลตฟอร์ม Meta และ นโยบายนักพัฒนา
  5. ยืนยันตัวตนด้วยหมายเลขโทรศัพท์หรืออีเมล
  6. คุณจะเข้าสู่หน้า My Apps ที่ developers.facebook.com/apps

ขั้นตอนที่ 2: สร้าง Facebook App

  1. จากหน้า My Apps คลิก สร้างแอป (Create App)
  2. เลือกประเภทแอป Business (ให้สิทธิ์เข้าถึง Messenger Platform APIs, Webhook, Page Management)
  3. กรอกข้อมูล:
    • ชื่อแอป (Display Name) — เช่น "MorphX Bot"
    • อีเมลผู้ติดต่อ (App Contact Email)
    • บัญชีธุรกิจ (Business Account) — เชื่อมกับ Meta Business Account ถ้ามี (ไม่บังคับ)
  4. คลิก สร้างแอป (Create App) แล้วยืนยันความปลอดภัย
สำคัญ

จด App ID และ App Secret ไว้ จากเมนู Settings → Basic ค่า App Secret เป็นหนึ่งใน Credentials ที่ MorphX ต้องการ


ขั้นตอนที่ 3: เพิ่ม Messenger Product

  1. ในแถบด้านซ้ายของ App Dashboard คลิก เพิ่มผลิตภัณฑ์ (Add Product)
  2. หาการ์ด Messenger แล้วคลิก ตั้งค่า (Set Up)
  3. เมนู Messenger → Settings จะปรากฏในแถบด้านซ้ายภายใต้ "PRODUCTS"

ขั้นตอนที่ 4: เชื่อมต่อ Facebook Page

Facebook Page ทำหน้าที่เป็นตัวตนของบอท — ผู้ใช้จะส่งข้อความถึงบอทผ่าน Page นี้

หากมี Page อยู่แล้ว

  1. ใน Messenger → Settings เลื่อนไปที่ส่วน Access Tokens
  2. คลิก เพิ่มหรือลบ Pages (Add or Remove Pages)
  3. เข้าสู่ระบบด้วยบัญชี Facebook ที่เป็น Admin ของ Page
  4. เลือก Page ที่ต้องการเชื่อมต่อ แล้วคลิก เสร็จสิ้น (Done)

หากต้องสร้าง Page ใหม่

  1. ไปที่ facebook.com/pages/create
  2. ตั้งชื่อ Page, เลือกหมวดหมู่ และใส่คำอธิบาย (ไม่บังคับ)
  3. คลิก สร้าง Page (Create Page)
  4. กลับไปที่ App Dashboard แล้วเพิ่ม Page ใหม่นี้ตามขั้นตอนด้านบน
หมายเหตุ

บัญชี Facebook ที่เพิ่ม Page ต้องมีสิทธิ์ Admin บน Page นั้น


ขั้นตอนที่ 5: สร้าง Page Access Token

  1. ใน Messenger → Settings ส่วน Access Tokens หา Page ที่เชื่อมต่อไว้
  2. คลิก Generate Token ข้างชื่อ Page
  3. คัดลอก Token ทันที — Token นี้จะไม่ถูกบันทึกในหน้า UI
Token ที่ได้เป็น Short-lived

Token ที่ได้จากขั้นตอนนี้เป็น Short-lived Token สำหรับ Production ควรแปลงเป็น Long-lived Token

แปลงเป็น Long-lived Token

# ขั้นตอนที่ 1: แปลง Short-lived User Token เป็น Long-lived User Token
curl -X GET "https://graph.facebook.com/v21.0/oauth/access_token?\
grant_type=fb_exchange_token&\
client_id={APP_ID}&\
client_secret={APP_SECRET}&\
fb_exchange_token={SHORT_LIVED_TOKEN}"
# ขั้นตอนที่ 2: ดึง Page Access Token (ไม่มีวันหมดอายุ) จาก Long-lived User Token
curl -X GET "https://graph.facebook.com/v21.0/me/accounts?\
access_token={LONG_LIVED_USER_TOKEN}"

Page Access Token ที่ได้จากขั้นตอนที่ 2 จะไม่มีวันหมดอายุ ตราบใดที่ผู้ใช้ที่สร้างยังเป็น Admin ของ Page


ขั้นตอนที่ 6: ตั้งค่าใน MorphX Dashboard

  1. เข้าสู่ระบบ MorphX Dashboard
  2. ไปที่เมนู แพลตฟอร์ม (/dashboard/platforms)
  3. คลิกที่การ์ด Facebook → คลิก ตั้งค่า
  4. กรอก Credentials ทั้ง 3 รายการ:
    • Page Access Token — Token ที่ได้จากขั้นตอนที่ 5
    • App Secret — จาก Settings → Basic ใน App Dashboard
    • Verify Token — สร้างสตริงลับขึ้นเอง เช่น morphx_verify_abc123
  5. คลิก บันทึก
  6. ระบบจะแสดง Webhook URL — คัดลอกไว้สำหรับขั้นตอนถัดไป
เคล็ดลับเกี่ยวกับ Verify Token

Verify Token คือสตริงที่คุณกำหนดเอง ใช้ครั้งเดียวตอนยืนยัน Webhook ควรเป็นสตริงที่คาดเดาไม่ได้ เช่น:

morphx_fb_verify_2024_xK9mP2nQ

ขั้นตอนที่ 7: ตั้งค่า Webhook URL

  1. ใน App Dashboard ไปที่ Messenger → Settings

  2. เลื่อนไปที่ส่วน Webhooks

  3. คลิก Add Callback URL (หรือ Edit Callback URL หากตั้งค่าไว้แล้ว)

  4. กรอกข้อมูล:

    • Callback URL: Webhook URL ที่คัดลอกจาก MorphX Dashboard
    https://<โดเมน MorphX>/api/webhook/FACEBOOK?tenantId=<TENANT_ID>
    • Verify Token: สตริงเดียวกับที่กรอกใน MorphX Dashboard
  5. คลิก Verify and Save

กระบวนการยืนยัน

เมื่อคลิก Verify and Save:

  1. Meta จะส่ง GET Request ไปยัง Callback URL พร้อม Query Parameters:
    • hub.mode=subscribe
    • hub.verify_token=<Verify Token ที่คุณกำหนด>
    • hub.challenge=<สตริงสุ่ม>
  2. MorphX จะตรวจสอบว่า Verify Token ตรงกัน แล้วตอบกลับด้วยค่า hub.challenge
  3. หากทุกอย่างถูกต้อง Webhook จะถูกบันทึกสำเร็จ
ข้อกำหนด
  • Webhook URL ต้องเข้าถึงได้จากอินเทอร์เน็ตผ่าน HTTPS
  • สำหรับการพัฒนาในเครื่อง ใช้บริการ Tunnel เช่น ngrok เพื่อสร้าง HTTPS URL ชั่วคราว

ขั้นตอนที่ 8: สมัครรับ Page Events

หลังยืนยัน Webhook สำเร็จ ต้องเลือก Events ที่ต้องการรับ:

  1. ใน Messenger → Settings ส่วน Webhooks คลิก Add Subscriptions สำหรับ Page ที่เชื่อมต่อ
  2. เลือก Subscription Fields ต่อไปนี้:
Fieldหน้าที่ความจำเป็น
messagesรับข้อความที่ผู้ใช้ส่งมา✅ จำเป็น
messaging_postbacksรับเหตุการณ์เมื่อผู้ใช้กดปุ่ม Postback✅ แนะนำ
messaging_optinsรับเหตุการณ์ Opt-in จากผู้ใช้⬜ ไม่บังคับ
message_deliveriesใบตอบรับการส่งข้อความ⬜ ไม่บังคับ
message_readsใบตอบรับการอ่านข้อความ⬜ ไม่บังคับ
  1. คลิก Save
อย่างน้อยที่สุด

ต้องสมัครรับ messages เป็นอย่างน้อย MorphX ใช้ Field นี้ในการรับข้อความจากผู้ใช้และประมวลผลผ่านระบบ RAG


ขั้นตอนที่ 9: ทดสอบในโหมด Development

ในขณะที่แอปยังอยู่ในโหมด Development เฉพาะ Admin, Developer และ Tester เท่านั้นที่สามารถส่งข้อความถึงบอทได้

เพิ่มผู้ทดสอบ

  1. ใน App Dashboard ไปที่ Roles (หรือ App Roles)
  2. เพิ่มบัญชี Facebook เป็น Tester หรือ Developer
  3. ผู้ที่ถูกเพิ่มต้องยอมรับคำเชิญก่อนจึงจะทดสอบได้

ทดสอบการทำงาน

  1. เปิด Facebook Page ของคุณใน Messenger
  2. ส่งข้อความจากบัญชี Tester
  3. ตรวจสอบว่า:
    • ✅ ข้อความถูกส่งไปยัง Webhook (ตรวจสอบจาก Server log)
    • ✅ ลายเซ็น (Signature) ผ่านการตรวจสอบ
    • ✅ บอทประมวลผลข้อความผ่านระบบ RAG
    • ✅ ข้อความตอบกลับถูกส่งกลับไปยังผู้ใช้
เครื่องมือทดสอบ

ใช้ Graph API Explorer เพื่อทดสอบ API Calls ด้วยตนเองได้ที่ https://developers.facebook.com/tools/explorer/


ขั้นตอนที่ 10: App Review — เปิดใช้งานจริง

สำคัญ

จนกว่าแอปจะผ่าน App Review เฉพาะ Admin, Developer และ Tester เท่านั้นที่ใช้งานได้ ผู้ใช้ทั่วไปจะได้รับข้อผิดพลาด

สิทธิ์ (Permissions) ที่ต้องขอ

สิทธิ์หน้าที่ระดับ
pages_messagingส่งและรับข้อความในฐานะ PageAdvanced Access
pages_manage_metadataสมัครรับ Webhook Events ของ PageAdvanced Access
pages_show_listแสดงรายการ Pages ที่ผู้ใช้จัดการAdvanced Access
pages_read_engagementอ่านข้อมูล Engagement ของ PageAdvanced Access

ขั้นตอนส่ง App Review

  1. ตั้ง Privacy Policy:

    • ไปที่ Settings → Basic → Privacy Policy URL
    • ใส่ URL ของนโยบายความเป็นส่วนตัวที่เข้าถึงได้สาธารณะ
    • ต้องระบุ: ข้อมูลที่เก็บ, วิธีใช้งาน, วิธีลบข้อมูล
  2. ส่งคำขอแต่ละ Permission:

    • ไปที่ App Review → Permissions and Features
    • คลิก Request Advanced Access สำหรับแต่ละ Permission
    • สำหรับแต่ละ Permission ต้องเตรียม:
      • คำอธิบาย ว่าแอปใช้สิทธิ์นี้ทำอะไรและทำไม
      • วิดีโอสาธิต (Screencast) แสดงการใช้งานจริง
  3. ข้อกำหนดวิดีโอสาธิต (Screencast):

    • แสดงแอปพลิเคชันจริง ไม่ใช่ Mock
    • สาธิตขั้นตอนทั้งหมด: ผู้ใช้ส่งข้อความ → บอทรับ → บอทตอบกลับ
    • แสดงว่าแต่ละ Permission ถูกใช้งานจริง
    • ความละเอียดต้องอ่านข้อความได้ชัดเจน
    • ใช้ข้อมูลจริง ไม่ใช้ข้อมูล Dummy
  4. เตรียม Test User (แนะนำ):

    • สร้าง Test User ใน Roles → Test Users
    • ใส่ Login Credentials ในหมายเหตุการส่ง
  5. ส่งตรวจสอบ:

    • คลิก Submit for Review
    • ระยะเวลาตรวจสอบ: 2-7 วันทำการ

สาเหตุที่มักถูกปฏิเสธ

สาเหตุวิธีแก้ไข
ขอ Permission มากเกินไปขอเฉพาะ Permission ที่ใช้งานจริง
วิดีโอสาธิตไม่ชัดเจนบันทึกให้ชัด แสดงทุก Permission
Privacy Policy มีปัญหาตรวจสอบว่า URL เข้าถึงได้ ไม่มี Login wall
แอปไม่ทำงานWebhook ต้อง Live ขณะส่ง Review

นโยบายหน้าต่างการส่งข้อความ 24 ชั่วโมง

Facebook บังคับใช้ หน้าต่างการส่งข้อความ 24 ชั่วโมง:

  • บอทส่งข้อความถึงผู้ใช้ได้เฉพาะภายใน 24 ชั่วโมงหลังจากผู้ใช้ส่งข้อความล่าสุด
  • หลัง 24 ชั่วโมง ไม่สามารถส่งข้อความได้ ยกเว้นใช้ Message Tag (จำกัดเฉพาะกรณีเฉพาะ)
  • Message Tag ที่ใช้ได้:
    • Post-Purchase Update — แจ้งสถานะคำสั่งซื้อ/การจัดส่ง
    • Confirmed Event Update — แจ้งเตือนกิจกรรมที่ลงทะเบียน
    • Account Update — แจ้งเรื่องความปลอดภัยบัญชี/การเรียกเก็บเงิน
ข้อจำกัด

ห้ามใช้ Message Tag สำหรับข้อความโปรโมชั่นหรือการตลาด การฝ่าฝืนอาจทำให้แอปถูกระงับ


Checklist สรุป

ขั้นตอนสิ่งที่ต้องทำตำแหน่ง
1สมัครบัญชี Meta Developerdevelopers.facebook.com
2สร้าง Facebook App (ประเภท Business)My Apps → Create App
3เพิ่ม Messenger ProductApp Dashboard → Add Product
4เชื่อมต่อ Facebook PageMessenger → Settings → Access Tokens
5สร้าง Page Access TokenMessenger → Settings → Generate Token
6จด App SecretSettings → Basic → App Secret
7กำหนด Verify Tokenสร้างสตริงลับขึ้นเอง
8กรอก Credentials ใน MorphXMorphX Dashboard → แพลตฟอร์ม
9ตั้งค่า Webhook URLMessenger → Settings → Webhooks
10สมัครรับ Events (messages)Messenger → Settings → Webhooks
11ทดสอบด้วยบัญชี Testerส่งข้อความใน Messenger
12ตั้ง Privacy Policy URLSettings → Basic
13ส่ง App ReviewApp Review → Permissions
14เปิด Live ModeSettings → Basic → App Mode

การแก้ปัญหา

Webhook Verification ล้มเหลว

  • ตรวจสอบว่า Verify Token ใน MorphX Dashboard ตรงกับที่กรอกใน Meta App Dashboard
  • ตรวจสอบว่า Webhook URL เข้าถึงได้จากอินเทอร์เน็ต
  • ตรวจสอบว่าเซิร์ฟเวอร์ MorphX ทำงานอยู่

ผู้ใช้ทั่วไปส่งข้อความไม่ได้

  • แอปต้องผ่าน App Review ก่อน
  • ตรวจสอบว่าแอปอยู่ใน Live Mode (ไม่ใช่ Development)
  • ตรวจสอบว่าได้รับ pages_messaging Permission แล้ว

บอทไม่ตอบกลับ

  • ตรวจสอบว่า Page Access Token ยังใช้ได้ (ไม่หมดอายุ)
  • ตรวจสอบว่าสมัครรับ Event messages แล้ว
  • ตรวจสอบ Server log สำหรับข้อผิดพลาด

ลายเซ็น (Signature) ไม่ผ่าน

  • ตรวจสอบว่า App Secret ถูกต้อง
  • App Secret จะเปลี่ยนเมื่อ Reset — ต้องอัปเดตใน MorphX Dashboard ด้วย

ลิงก์ที่เกี่ยวข้อง