การลิงก์บัญชีเป็นขั้นตอนที่แยกออกมาจากฟีเจอร์ตัวแสดงหน้าเว็บอื่นๆ ที่มีให้ใช้งานในแพลตฟอร์ม Messenger คุณสามารถเริ่มขั้นตอนนี้ได้ผ่านปุ่มเข้าสู่ระบบเท่านั้น โดยไม่สามารถเริ่มจากเมนูถาวรของบอท จากปุ่ม URL หรือจากภายในขั้นตอนของตัวแสดงหน้าเว็บหรือปลั๊กอินแชทที่เปิดอยู่แล้ว
ปัจจุบัน ผู้พัฒนาที่ใช้งานฟีเจอร์เหล่านี้สามารถรับ ID ของผู้ใช้ด้วยวิธีการที่ปลอดภัยโดยใช้ฟังก์ชั่น getContext()
ในส่วนขยายของ Messenger จากนั้นบอทก็จะสามารถใช้ ID ดังกล่าวเพื่อลิงก์บัญชีหรือปรับแต่งประสบการณ์ให้เหมาะกับผู้ใช้ได้
ขณะนี้ระบบรองรับเฉพาะการลิงก์บัญชีในแอพ Messenger บน iOS และ Android เท่านั้น
เมื่อผู้ใช้เริ่มการสนทนากับธุรกิจของคุณ คุณอาจต้องการระบุว่าผู้ใช้ดังกล่าวเป็นลูกค้าที่มีบัญชีกับธุรกิจของคุณอยู่แล้ว เพื่อช่วยคุณดำเนินการนี้ เราจึงได้สร้างโปรโตคอลที่ปลอดภัยในการลิงก์และยกเลิกการลิงก์ข้อมูลระบุตัวตนของผู้ใช้ Messenger กับข้อมูลระบุตัวตนของผู้ใช้ในธุรกิจของคุณขึ้นมา
การลิงก์บัญชีช่วยให้คุณสามารถเชิญผู้ใช้ให้เข้าสู่ระบบโดยใช้ขั้นตอนการยืนยันตัวตนของคุณเอง และรับ ID ในเพจ (PSID) บน Messenger เมื่อผู้ใช้เข้าสู่ระบบเรียบร้อยแล้ว ทำให้คุณสามารถมอบประสบการณ์ที่ปลอดภัย ได้รับการปรับให้เหมาะกับแต่ละบุคคล และมีความเกี่ยวข้องกับผู้ใช้มากขึ้นได้
การลิงก์บัญชีมีขั้นตอนง่ายๆ ไม่กี่ขั้นตอนดังนี้
redirect_uri
และ account_linking_token
จะถูกนำมาต่อท้ายการเรียกกลับที่คุณลงทะเบียนไว้redirect_uri
ระบุ และนำพารามิเตอร์ authorization_code
(ที่คุณกำหนดไว้) มาต่อท้ายเพื่อยืนยันการลิงก์การยกเลิกการลิงก์บัญชีสามารถทำได้ดังนี้
แพลตฟอร์ม Messenger จะเรียกใช้ URL การลิงก์บัญชีเมื่อผู้ใช้ทริกเกอร์การลิงก์บัญชี โดยพารามิเตอร์ redirect_uri
และ account_linking_token
จะถูกนำมาต่อท้าย URL การเรียกกลับ
<yourAccountLinkingUrl> ?account_linking_token=ACCOUNT_LINKING_TOKEN &redirect_uri=CALLBACK_URL
หากลิงก์บัญชีสำเร็จ คุณจะต้องดำเนินขั้นตอนให้เสร็จสมบูรณ์โดยเปลี่ยนเส้นทางเบราว์เซอร์ไปยัง URL ที่ระบุไว้ในพารามิเตอร์ redirect_uri
และนำพารามิเตอร์ authorization_code
ที่คุณกำหนดไว้มาต่อท้าย โปรดทราบว่า URL ดังกล่าวอาจมีพารามิเตอร์อยู่แล้ว ดังนั้น คุณควรนำรหัสการให้อนุญาตมาต่อท้ายพารามิเตอร์นั้น:
<redirect_uri> &authorization_code=AUTHORIZATION_CODE
หากลิงก์บัญชีไม่สำเร็จ ให้เปลี่ยนเส้นทางเบราว์เซอร์ไปยัง redirect_uri
ที่ส่งถึงคุณเป็นพารามิเตอร์ แต่ไม่ต้องนำ authorization_code
มาต่อท้าย
ชื่อพารามิเตอร์ | คำอธิบาย |
---|---|
| เปลี่ยนเส้นทาง URI ซึ่งจะถูกเพิ่มโดย Messenger โดยคุณต้องเปลี่ยนเส้นทางเบราว์เซอร์ไปยังตำแหน่งนี้เมื่อสิ้นสุดขั้นตอนการยืนยันตัวตน ซึ่งอาจมี URL พารามิเตอร์ที่เข้ารหัสไว้อยู่แล้ว |
| โทเค็นแบบใช้งานระยะสั้นที่ส่งมาจาก Messenger ซึ่งคุณต้องส่งกลับโดยเป็นส่วนหนึ่งของรูปแบบการเปลี่ยนเส้นทาง โทเค็นนี้จะใช้งานได้เพียง 5 นาทีเท่านั้น อีกทั้งมีการเข้ารหัสไว้และจะไม่ซ้ำกันสำหรับผู้ใช้แต่ละราย |
| รหัสที่ได้รับจากคุณเพื่อยืนยันว่าการลิงก์เสร็จสมบูรณ์ แพลตฟอร์ม Messenger จะส่งรหัสนี้กลับพร้อมกับ PSID ของผู้ใช้เป็นเหตุการณ์ Webhook การลิงก์บัญชี หากไม่มีการส่งพารามิเตอร์นี้จะทำให้ขั้นตอนการลิงก์ถูกยกเลิก |
ขั้นตอนการลิงก์ที่เสร็จสมบูรณ์จะทริกเกอร์เหตุการณ์การลิงก์บัญชีให้ส่ง ID ในเพจ (PSID) ของผู้ใช้
คุณต้องลงทะเบียนเหตุการณ์การเรียกกลับการลิงก์บัญชี หากระบบไม่รับทราบเหตุการณ์ Webhook นี้จะทำให้ขั้นตอนการลิงก์ถูกยกเลิก
ในบางกรณี คุณจำเป็นต้องเรียกดู ID ในเพจ (PSID) ของผู้ใช้ในระหว่างขั้นตอนการลิงก์ เพื่ออำนวยความสะดวกในสถานการณ์นี้ เราจึงได้เตรียมตำแหน่งข้อมูลการเรียกดู PSID ไว้เพื่อช่วยให้คุณสามารถดึง PSID ของผู้ใช้ที่ได้รับ account_linking_token
ใช้งานได้และยังไม่หมดอายุ
curl -X GET "https://graph.facebook.com/v2.6/me?access_token=PAGE_ACCESS_TOKEN \ &fields=recipient \ &account_linking_token=ACCOUNT_LINKING_TOKEN"
{ "id": "PAGE_ID", "recipient": "PSID" }
ในบางกรณี คุณจำเป็นต้องยกเลิกการลิงก์ ID ในเพจ (PSID) ของผู้ใช้อย่างเป็นระบบจากฝั่งแบ็คเอนด์ของคุณ เพื่ออำนวยความสะดวกในสถานการณ์นี้ เราจึงได้เตรียมตำแหน่งข้อมูลการยกเลิกการลิงก์ PSID ที่จะช่วยให้คุณสามารถยกเลิกการลิงก์บัญชีของผู้ใช้ที่ได้รับ PSID ที่ใช้งานได้
curl -X POST -H "Content-Type: application/json" -d '{ "psid":"PSID" }' "https://graph.facebook.com/v2.6/me/unlink_accounts?access_token=PAGE_ACCESS_TOKEN"
{ "result": "unlink account success" }
ใช้การลิงก์บัญชีเมื่อคุณมีระบบบัญชีผู้ใช้ที่อยู่นอกเหนือขอบเขตของ Messenger
อนุญาตให้ผู้คนสร้างบัญชีจากภายใน Messenger เพื่อให้สามารถใช้งานบัญชีในที่อื่นๆ ได้
แจ้งให้เข้าสู่ระบบเมื่อมีความเกี่ยวข้องตามบริบท กล่าวคือ เมื่อผู้ใช้บอทของคุณเห็นประโยชน์ของการเข้าสู่ระบบ
พิจารณาว่าบอทของคุณควรทำอย่างไรหากผู้ใช้ปฏิเสธการเข้าสู่ระบบ
แสดงการยืนยันที่ชัดเจนและให้การต้อนรับอย่างอบอุ่นหลังจากเข้าสู่ระบบ
อย่าใช้การลิงก์บัญชีหากผู้คนจะโต้ตอบกับคุณผ่าน Messenger เท่านั้น คุณสามารถจัดเก็บข้อมูลบัญชีผ่าน ID เธรดได้
หากเลี่ยงได้ อย่าขอให้ดำเนินการลิงก์บัญชีในทันที ทั้งนี้เพื่อให้ผู้คนได้ทำความเข้าใจกับบอทของคุณก่อน