ربط الحساب

تُعد عملية ربط الحساب منفصلة عن ميزات طريقة عرض الويب الأخرى المتوفرة في منصة Messenger. لا يمكن بدء العملية إلا عبر أزرار تسجيل الدخول وليس من خلال القائمة الثابتة في البرنامج التلقائي أو من أزرار عنوان URL أو من داخل دفق طريقة عرض الويب المفتوح بالفعل أو من المكون الإضافي "دردشة".

يمكن للمطوّرين الذين يستخدمون هذه الميزات الآن الحصول على معرّف المستخدم بطريقة آمنة باستخدام وظيفة getContext() في ملحقات Messenger. ويمكن للبرامج التلقائية بعد ذلك استخدام ذلك لربط حساب المستخدم أو إضفاء طابع شخصي على التجربة.

يتم دعم عملية ربط الحساب حاليًا في تطبيق Messenger على نظامي تشغيل iOS وAndroid.

عندما يبدأ أحد المستخدمين محادثة مع نشاطك التجاري، قد ترغب في تحديده كعميل يمتلك بالفعل حسابًا لدى نشاطك التجاري. ولمساعدتك في ذلك، قمنا بإنشاء بروتوكول آمن لربط هوية مستخدم Messenger بهوية المستخدم في نشاطك التجاري أو إلغاء ربطها.

تتيح لك عملية ربط الحسابات دعوة المستخدمين لتسجيل الدخول باستخدام دفق المصادقة الذي توفره والحصول على معرف على نطاق الصفحة (PSID) في Messenger بمجرد اكتمال العملية. ويمكنك بعد ذلك توفير تجربة أكثر أمانًا وملاءمة وذات طابع شخصي للمستخدمين.

المحتويات

عملية الربط

يتبع دفق ربط الحسابات عددًا من الخطوات البسيطة.

  1. قم بتسجيل عنوان URL للاستدعاء باستخدام زر تسجيل الدخول.
  2. تقوم منصة Messenger باستدعاء عنوان URL المسجل عندما يبدأ أحد المستخدمين دفق ربط الحساب. يتم إلحاق كل من المعلمة redirect_uri وaccount_linking_token بالاستدعاء المسجل.
  3. بمجرد اكتمال عملية الربط، أعد توجيه المستخدمين إلى الموقع الذي توفره redirect_uri وقم بإلحاق المعلمة authorization_code (التي تم تحديدها من جانبك) لتأكيد عملية الربط.
  4. يمكنك بشكل اختياري استرداد معرف المستخدم على مستوى الصفحة (PSID) باستخدام نقطة نهاية ربط الحساب. يجب استخدام هذه الخطوة فقط في حالات خاصة عندما تحتاج إلى معرف المستخدم على مستوى الصفحة كجزء من عملية الربط.

يمكن بدء إلغاء ربط الحسابات:

الاستدعاء

تقوم منصة 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.

المعلمات

اسم المعلمة الوصف

redirect_uri

تمثل محدد URI الذي سيضيفه Messenger، ويجب إعادة توجيه المتصفح إلى هذا الموقع في نهاية دفق المصادقة. وقد تتضمن معلمات بتشفير URL.

account_linking_token

تمثل رمز وصول قصير الأجل تقوم منصة Messenger بإرساله والذي يجب عليك إعادة إدخاله كجزء من نظام إعادة التوجيه. ويظل رمز الوصول هذا صالحًا لمدة 5 دقائق فقط، وهو مشفر وفريد لكل مستخدم.
يمكنك استدعاء نقطة نهاية استرداد المعرف على مستوى الصفحة من خلال هذا الرمز للحصول على معرف المستخدم على مستوى الصفحة (PSID) المقابل له.

authorization_code

تمثل الرمز الذي توفره لتأكيد نجاح عملية الربط. وتقوم منصة Messenger بإعادة إرسال هذا الرمز مرة أخرى مع معرف المستخدم على مستوى الصفحة في صورة حدث webhook لربط الحساب. كما يؤدي الفشل في إدخال هذه المعلمة إلى إيقاف عملية الربط.

حدث Webhook

يؤدي دفق الربط الناجح إلى تشغيل حدث ربط الحساب لتسليم معرف المستخدم على مستوى الصفحة (PSID).

يجب التسجيل في حدث استدعاء ربط الحساب. وسيؤدي عدم التعرف على حدث webhook هذا إلى إيقاف عملية الربط.

نقطة نهاية استرداد المعرف على مستوى الصفحة

في بعض الحالات قد تحتاج إلى استرداد معرف المستخدم على مستوى الصفحة (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"
}    

في بعض الحالات قد تحتاج إلى إلغاء ربط المعرف على مستوى الصفحة (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. يمكنك تخزين معلومات الحساب عبر معرف السلسلة.

لا تطلب ربط الحساب مباشرةً إذا كان بإمكانك تجنب ذلك؛ واسمح للأشخاص بتجربة برنامجك التلقائي والتعرف عليه أولاً.

دفق التصميم الموصى به

  1. اطلب تسجيل الدخول من خلال رسالة تتضمن زر ربط الحساب.
  2. اعرض صفحة تسجيل الدخول (متضمنة خيار إنشاء حساب) في طريقة عرض ويب ربط الحساب. احرص على أن تظهر الصفحة بمظهر جيد وأن تعمل بشكل جيد على شاشات الهواتف المحمولة.
  3. بعد تسجيل الدخول بنجاح، اعرض رسالة التأكيد في طريقة عرض الويب. سيتعين على المستخدمين تجاهلها بأنفسهم بعد ذلك.
  4. احرص على المتابعة من خلال إرسال رسالة شكر ودية و/أو الخطوات التالية في السلسلة، مع تضمين خيار لتسجيل الخروج.