Profile-Key.
لا يُوقَّع شيء من جانبك ولا يوجد مفتاح خاص في التدفق. الاستثناء الوحيد هو عمليات التكامل الأقدم
التي توقّع رموزها بنفسها. راجع الرموز الموقّعة ذاتيًا (القديمة).
ثلاث طرق للربط
ثلاثة أشكال، والأول والثاني هما التكامل نفسه. اختر بحسب التدفق — فهي ليست متنافية، وكثير من التكاملات تستخدم الصفحة المستضافة للتأهيل والأداة داخل التطبيق بعد ذلك.صفّا الأداة هما تكامل واحد لا اثنان. استدعاء
init واحد يمنحك الاثنين معًا: ركّب الإطارات
حيث تريد أزرارنا، واستدعِ popup() من زرك الخاص في أي مكان آخر. يتشاركان جلسة واحدة ويبلّغان
على المعالجات نفسها.الوضع المباشر (Direct mode) هو النافذة المنبثقة نفسها
دون السكربت الخاص بنا — لصفحة ذات Content-Security-Policy صارمة، أو صفحة تُعرض من الخادم،
أو تطبيق أصلي. هناك تفتح النافذة المنبثقة وتراقبها بنفسك.غير متأكد؟ ابدأ بصفحة الربط المستضافة. فهي لا تحتاج إلى Max Pack ولا إلى معاملات إضافية،
وهي أسرع طريق إلى شيء يعمل — والانتقال إلى الأداة لاحقًا لا يغيّر طريقة إنشاء الجلسات.إنشاء رابط
استدعِ إنشاء Link Session مع تمريرProfile-Key الخاص
بالمستخدم في الترويسة. بالنسبة للصفحة المستضافة، هذا هو الطلب بأكمله:
cURL
url يحمل رمزًا معتّمًا قصير الأجل:
Linking URL
فيديو مدته دقيقة واحدة يوضّح كيفية إنشاء رابط. سُجّل قبل Link Sessions، لذا لا يزال يُظهر إرسال
Private Key — لم تُعد هذه الخطوة لازمة، وكل ما عداه في الفيديو لم يتغيّر.
إرسال رابط الربط
فتح رابط الربط
افتحه في علامة تبويب متصفح جديدة أو نافذة جديدة أو View Controller. يمكنك التحكم في إغلاق أو إعادة توجيه تلك النافذة.لا تسمح الشبكات الاجتماعية بفتح صفحة الربط المستضافة داخل iFrame، ولا بإخفاء نطاق أصل الشريك
المعتمد
profile.ayrshare.com. إذا أردت أن يجري الربط داخل صفحتك أنت، فذلك هو دور
الأداة المضمّنة: تُقدَّم إطاراتها من أصل تابع لـ Ayrshare
وهي الطريقة المدعومة للقيام بذلك.معرفة اكتمال الربط
إشارتان، ويمكنك استخدام أيٍّ منهما:- أحداث اكتمال الربط — عيّن
originعند إنشاء الرابط فترسل نافذة الربطconnect:successوconnect:errorوconnect:cancelledإلى صفحتك لحظة وقوعها. دون استطلاع. - الحصول على Link Session — يُبلغ عن
completedAtوlastCompletedAtوcompletedNetworks. هذه هي إشارة التطبيقات الأصلية، والوحيدة لـ Telegram، الذي يكتمل خارج النطاق.
انتهاء صلاحية الرابط
الرابط صالح لمدة 5 دقائق افتراضيًا. بعد ذلك، أنشئ رابطًا جديدًا. مع Max Pack، اضبطexpiresIn بالدقائق لتوسيع تلك النافذة — حتى 2880 دقيقة (48 ساعة)، وهو
الحد الأقصى الذي تقبله API:
Expires In
الأمان
ينتقل رمز الجلسة داخل سلسلة الاستعلام (query string) في رابط الربط. وأي شيء يسجّل الروابط يمكنه أن يسجّله أيضًا: سجل التصفح في متصفح المستخدم، وسجلات الوكيل (proxy) والخادم، وأدوات التحليلات، وخدمات إعادة التوجيه. للحدّ من الخطر:- لا تُدرج الرابط الكامل في السجلات داخل أنظمتك. سجّل الملف الشخصي والوقت بدلًا منه.
- أرسل الرابط مباشرةً إلى المستخدم. لا تُمرّره عبر خدمات تقصير الروابط أو أدوات تتبّع إعادة التوجيه أو تتبّع النقرات في البريد الإلكتروني. يُرسل بريد Connect Accounts الرابط دون تتبّع النقرات.
- اجعل النافذة قصيرة. استخدم أقصر قيمة
expiresInتناسب احتياجاتك (Max Pack). - أبطل الرابط الذي تظن أنه تسرّب، باستخدام إبطال Link Session.
Profile Key
يحدّدProfile-Key أي User Profile يخصّه الرابط. يمكنك العثور عليه في لوحة مطوّري Ayrshare
بالتبديل إلى ذلك الملف.
لا تحتاج إلى Private Key لإنشاء الروابط. الروابط التي تُنشئها API غير موقّعة، لذا لا يوجد ما
يُقرأ من ملف أو يُلصق في التعليمات البرمجية. ولا يزال المعامل القديم
privateKey يُقبل ويُتجاهل،
لذا تستمر عمليات التكامل الحالية في العمل.إذا كان تكاملك يوقّع رموزه بنفسه، فاحتفظ بملف private.key الخاص بك. راجع
الرموز الموقّعة ذاتيًا (القديمة).التبديل بين الملفات الشخصية
إذا كان ملف شخصي مُسجَّل الدخول بالفعل، فإن فتح رابط ملف آخر لا يبدّل الملفات — وهذا مقصود، فهو يجعل التجربة أسرع للمستخدم الموجود هناك بالفعل. لفرض التبديل، راجع تسجيل الخروج التلقائي من جلسة الملف الشخصي.طريقة ربط Instagram
يمكن ربط حسابات Instagram بـ طريقتين: مباشرة عبر Instagram Login، أو عبر Facebook Page متصلة. يتحكم في التدفق الذي يبدأ عند نقر المستخدم على زر Instagram عادةً إعداد Instagram Login على مستوى الحساب. يتجاوز معامل الجسمinstagramLinkMethod هذا الإعداد لرابط واحد:
Instagram Link Method
- لا يغيّر إعدادك على مستوى الحساب ولا يؤثر على أي رابط آخر.
- إذا حُذف، يسري الإعداد على مستوى الحساب، تمامًا كما كان من قبل.
- تعيد القيمة غير الصالحة
400مع سرد القيم الصالحة (instagram،facebook). - راجع اختلافات الميزات قبل الاختيار — بعض ميزات Instagram، مثل البحث عن الوسوم والتعاون، متاحة فقط مع مصادقة Facebook Page.
بريد Connect Accounts
يمكن لـ Ayrshare إرسال الرابط بالبريد الإلكتروني إلى مستخدمك نيابةً عنك، ليتمكن من الوصول إلى صفحة الربط الخاصة به دون زيارة تطبيقك. اقرنه بقيمةexpiresIn أطول —
فالدقائق الخمس الافتراضية نادرًا ما تصمد أمام صندوق وارد.
JSON لربط الحسابات
كل حقل داخلemail مطلوب. أي حقل مفقود يُفشل الإرسال.
Example Contact Email Request
emailSent:
Example Contact Email Response
emailSent: false بالإضافة إلى كائن emailError، حتى تتمكن من إرسال الرابط إلى المستخدم بطريقة أخرى:
Example Failed Email Response
emailError كلما طلبت إرسال بريد إلكتروني ولم يُرسَل: إما لأن الإرسال فشل، أو لأن كائن email كان ينقصه حقل مطلوب، وفي هذه الحالة يذكر details الحقول الناقصة. أما emailSent: false بدون emailError فيعني أنه لم يُطلب أي بريد إلكتروني. أما غياب to فمختلف: إذ يُرفض الطلب بالكامل مع code: 188.
مثال بريد Connect Accounts
فيما يلي مثال على البريد الإلكتروني الذي يفتح صفحة الربط الاجتماعي:
Social Connect Hub <connect@socialconnecthub.com>
تطبيقات الأجهزة المحمولة
افتح رابط الربط في متصفح النظام، وليس أبدًا في webview مضمّن: يرفض Google تسجيل الدخول فيه بالخطأdisallowed_useragent، وتحجبه Meta كليًا. سيرى مستخدمك صفحة الخطأ الخاصة بالشبكة
نفسها، ولا شيء من جانبك يصلح ذلك.
- iOS —
ASWebAuthenticationSession، أوSFSafariViewController. - Android — Chrome Custom Tabs.
origin على
مخططك المخصص (myapp://connected) حتى يكون للصفحة طريق عودة إلى تطبيقك.
أمثلة التعليمات البرمجية للأجهزة المحمولة
استبدلlinkingURL بقيمة url المُعادة من
إنشاء Link Session.
الاختبار
يوصى أولًا بإنشاء رابط في Postman. يتضمّن Integration Package الخاص بك — المتوفر في صفحة API Key الخاصة بـ Primary Profile في لوحة التحكم — ملف إعداد Postman نموذجيًا. استورده، واملأ Profile Key الخاص بك في حقل body الخاص بـprofileKey، وانقر على
Send.
لا يزال الإعداد النموذجي يملأ privateKey وdomain مسبقًا. يُتجاهل privateKey، ويمكنك إفراغ
domain إلا إذا كان لحسابك أكثر من نطاق ربط واحد.
يمكنك أيضًا توليد التعليمات البرمجية من Postman.
Bubble.io
Bubble linking URL
القديم: generateJWT
تنفّذ إنشاء رابط ربط (
generateJWT) المهمة نفسها وهي
مهملة (deprecated) — مدعومة بالكامل، وبلا موعد للإزالة، ودون تغيير للروابط التي سلّمتها
بالفعل. توثّق صفحتها الخاصة معاملاتها، بما في ذلك المعاملات الثلاثة التي باتت تُقبل الآن
وتُتجاهل.تستخدم نقطتا النهاية المُحقِّق نفسه، لذا فإن كل ما في هذه الصفحة ينطبق على أيٍّ منهما. الفرق
الوحيد الجدير بالمعرفة عند الانتقال: يتسامح generateJWT مع ثلاثة أمور ترفضها إنشاء Link
Session — شبكة غير معروفة في allowedSocial، ونصف واحد فقط من بيانات اعتماد X، وredirect
غير نصي.الرموز الموقّعة ذاتيًا (القديمة)
تُنشئ بعض عمليات التكامل الأقدم رابط الربط بنفسها. فهي توقّع رمزًا باستخدام ملفprivate.key من
Integration Package الخاص بها، وتمرّره في ?jwt= ضمن الرابط.
لا تزال هذه الطريقة تعمل، وبلا موعد للإزالة. ولا يُنصح بها لعمليات التكامل الجديدة. استخدم
إنشاء Link Session بدلًا منها.
إذا كان تكاملك يوقّع رموزه بنفسه:
- استمر في استخدام ملف
private.keyالخاص بك، واحفظه سرًّا. - لا يمكن التحقق من الروابط الموقّعة ذاتيًا أو إبطالها باستخدام نقاط نهاية جلسات الربط.
- لا تُعِد تعيين Integration Package الخاص بك. فإعادة التعيين تُلغي نطاقك الحالي ومفاتيحه، لذا تتوقف الروابط التي سبق أن وزّعتها عن العمل، ولن تتمكن من توقيع روابط جديدة.
- لا تنتهي صلاحية الرابط الموقّع ذاتيًا إلا إذا حدّد رمزه وقتًا في
exp. ولا تنطبق عليه قيمةexpiresInولا المدة الافتراضية لجلسات الربط، لذا اجعل هذا الوقت قصيرًا. - تعامل مع عناوين URL للروابط الموقّعة ذاتيًا كأنها كلمة مرور. وإذا كان أحدها قد تسرّب، فأعِد تعيين مفتاح API من صفحة API في لوحة التحكم، ثم حدّث تكاملك ليستخدم المفتاح الجديد. يحمي ذلك حسابك، لكنه قد لا يمنع الرابط المسرّب من العمل. تواصل مع الدعم لإيقاف الرابط.