Skip to main content
आपके उपयोगकर्ता अपने सोशल अकाउंट स्वयं कनेक्ट करते हैं — वे हर नेटवर्क के साथ सीधे प्रमाणित करते हैं, और आप कभी भी उनकी क्रेडेंशियल्स नहीं देखते या संग्रहीत नहीं करते। इस पेज पर सब कुछ उन्हें उस क्षण तक पहुँचाने और यह जानने के बारे में है कि सब कैसा रहा। हर रास्ते में एक चीज़ समान है: एक लिंक सेशन, जो आपकी API Key और एक Profile-Key से Link Session बनाएँ के साथ बनाया जाता है। आपकी ओर से कुछ भी साइन नहीं किया जाता और फ़्लो में कोई private key नहीं है।

कनेक्ट करने के तीन तरीक़े

तीन रूप, और पहले दो एक ही इंटीग्रेशन हैं। हर फ़्लो के हिसाब से चुनें — ये परस्पर अनन्य नहीं हैं, और कई इंटीग्रेशन ऑनबोर्डिंग के लिए होस्टेड पेज और बाद में ऐप के अंदर विजेट का उपयोग करते हैं।
विजेट की दोनों rows एक ही इंटीग्रेशन हैं, दो नहीं। एक ही init आपको दोनों देता है: जहाँ आप हमारे बटन चाहते हैं वहाँ फ़्रेम mount करें, और बाक़ी हर जगह अपने बटन से popup() कॉल करें। वे एक ही सेशन साझा करते हैं और एक ही handlers पर रिपोर्ट करते हैं।डायरेक्ट मोड वही पॉपअप है बिना हमारी स्क्रिप्ट के — सख़्त Content-Security-Policy वाले पेज, server-rendered पेज, या native ऐप के लिए। वहाँ पॉपअप आप स्वयं खोलते और देखते हैं।तय नहीं कर पा रहे? होस्टेड लिंकिंग पेज से शुरू करें। इसके लिए न Max Pack चाहिए और न कोई अतिरिक्त पैरामीटर, और यह कुछ चालू करने का सबसे तेज़ रास्ता है — बाद में विजेट पर जाने से सेशन बनाने का तरीक़ा नहीं बदलता।

लिंक बनाना

हेडर में उपयोगकर्ता की Profile-Key के साथ Link Session बनाएँ को कॉल करें। होस्टेड पेज के लिए यही पूरा अनुरोध है:
cURL
आपको वापस एक url मिलता है जिसमें अल्पकालिक, ओपेक token होता है:
Linking URL
आप यह भी देख सकते हैं कि लिंक खोला गया या नहीं और समय समाप्त होने से पहले उसे रद्द कर सकते हैं।
यह एक-मिनट का वीडियो लिंक बनाने की प्रक्रिया दिखाता है। यह link sessions से पहले का है, इसलिए इसमें अब भी Private Key भेजते हुए दिखाया गया है — वह चरण अब ज़रूरी नहीं है, और इसमें दिखाया गया बाक़ी सब कुछ अपरिवर्तित है।

लिंकिंग URL भेजना

लिंकिंग URL आपके उपयोगकर्ता को उनके प्रोफ़ाइल में साइन इन कर देता है, इसलिए इसे पासवर्ड की तरह मानें। इसे भरोसेमंद चैनल से भेजें, इसे लॉग न करें, और किसी तीसरे पक्ष को न दें। यह अपनी पूरी अवधि तक काम करता रहता है, इसलिए रीलोड या OAuth री-ट्राई चलता है — लेकिन हर लिंक केवल एक उपयोगकर्ता को भेजें, और हर व्यक्ति के लिए अलग लिंक बनाएँ।

लिंकिंग URL खोलना

इसे एक नए ब्राउज़र टैब, विंडो, या view controller में खोलें। आप उस विंडो के बंद करने या पुनर्निर्देशन को नियंत्रित कर सकते हैं।
सोशल नेटवर्क होस्टेड लिंकिंग पेज को iFrame के अंदर खोलने या approved partner origin profile.ayrshare.com को अस्पष्ट करने की अनुमति नहीं देते। यदि आप चाहते हैं कि लिंकिंग आपके अपने पेज के अंदर हो, तो एम्बेडेड विजेट इसीलिए है: इसके फ़्रेम Ayrshare origin से serve होते हैं और ऐसा करने का समर्थित तरीक़ा हैं।

कब पूरा हुआ, यह जानना

दो संकेत हैं, और आप दोनों में से कोई भी इस्तेमाल कर सकते हैं:
  • Link completion events — लिंक बनाते समय एक origin सेट करें और लिंकिंग विंडो घटित होते ही connect:success, connect:error और connect:cancelled आपके पेज पर पोस्ट करती है। कोई polling नहीं।
  • Link Session प्राप्त करें — completedAt, lastCompletedAt और completedNetworks रिपोर्ट करता है। native ऐप्स के लिए यही संकेत है, और Telegram के लिए एकमात्र, जो out of band पूरा होता है।

लिंक की समाप्ति

लिंक डिफ़ॉल्ट रूप से 5 मिनट के लिए मान्य है। उसके बाद नया लिंक बनाएँ। Max Pack के साथ, उस अवधि को बढ़ाने के लिए expiresIn को मिनटों में सेट करें — अधिकतम 2880 मिनट (48 घंटे) तक, जो API की स्वीकार्य अधिकतम सीमा है:
Expires In
लंबी अवधि ही लिंक ईमेल करने को व्यावहारिक बनाती है — कोई उपयोगकर्ता जिसे किसी छूटे हुए अकाउंट को फिर से कनेक्ट करना है, आपके ऐप पर आए बिना आपके ईमेल से सीधे नेटवर्क तक पहुँच सकता है।
अपनी सुरक्षा टीम के साथ समीक्षा करें कि लिंक को कितनी देर तक जीवित रहना चाहिए। लंबी अवधि का अर्थ है वह लंबा समय जिसमें intercept किया गया लिंक अब भी काम करता है। यदि कोई लिंक बाहर निकल जाए, तो आप समय समाप्त होने का इंतज़ार करने के बजाय उसे रद्द कर सकते हैं।

Profile Key

Profile-Key बताती है कि लिंक किस User Profile के लिए है। इसे Ayrshare डेवलपर डैशबोर्ड में उस प्रोफ़ाइल पर स्विच करके पाएँ।
Private Key अब इस्तेमाल नहीं होती। लिंक साइन नहीं किए जाते, इसलिए किसी फ़ाइल से कुछ पढ़ने या अपने कोड में चिपकाने की ज़रूरत नहीं है। पुराना privateKey पैरामीटर अब भी स्वीकार किया जाता है और नज़रअंदाज़ कर दिया जाता है, इसलिए मौजूदा इंटीग्रेशन काम करते रहते हैं, और आपके Integration Package की private.key फ़ाइल अनुपयोगी छोड़ी जा सकती है।

प्रोफ़ाइल स्विच करना

यदि कोई प्रोफ़ाइल पहले से साइन इन है, तो किसी अन्य प्रोफ़ाइल का लिंक खोलने से प्रोफ़ाइल नहीं बदलती — यह जानबूझकर है, और यह पहले से मौजूद उपयोगकर्ता के लिए अनुभव को तेज़ रखता है। स्विच बाध्य करने के लिए देखें Automatic Logout of a Profile Session। Instagram अकाउंट दो तरीक़ों से लिंक किए जा सकते हैं: सीधे Instagram Login के साथ, या connected Facebook Page के माध्यम से। जब कोई उपयोगकर्ता Instagram बटन क्लिक करता है तो कौन सा फ़्लो शुरू होता है, यह सामान्य रूप से अकाउंट-वाइड Instagram Login सेटिंग द्वारा नियंत्रित होता है। instagramLinkMethod बॉडी पैरामीटर एकल लिंक के लिए उस सेटिंग को ओवरराइड करता है:
Instagram Link Method
ओवरराइड उस लिंक की पूरी अवधि तक लागू रहता है, जिसमें Instagram/Facebook प्राधिकरण redirect के दौरान भी शामिल है। कुछ बातें जानने योग्य हैं:
  • यह आपकी अकाउंट-वाइड सेटिंग को नहीं बदलता और न ही किसी अन्य लिंक को प्रभावित करता है।
  • इसे छोड़ दें तो अकाउंट-वाइड सेटिंग लागू होती है, बिल्कुल पहले जैसी।
  • अमान्य मान मान्य मानों (instagram, facebook) को सूचीबद्ध करते हुए 400 लौटाता है।
  • चुनने से पहले फ़ीचर अंतर की समीक्षा करें — कुछ Instagram फ़ीचर, जैसे हैशटैग खोज और सहयोग, केवल Facebook Page प्रमाणीकरण के साथ उपलब्ध हैं।

Connect Accounts Email

Ayrshare आपके लिए आपके उपयोगकर्ता को लिंक ईमेल कर सकता है, ताकि वे आपके ऐप पर आए बिना अपने लिंकिंग पेज तक पहुँच सकें। इसे लंबे expiresIn के साथ जोड़ें — डिफ़ॉल्ट पाँच मिनट किसी inbox में शायद ही टिकते हैं।

Connect Accounts JSON

email के अंदर हर फ़ील्ड आवश्यक है। कोई एक भी गुम होने पर भेजना विफल हो जाता है।
Example Contact Email Request
expiresIn एक टॉप-लेवल पैरामीटर है, email ऑब्जेक्ट का हिस्सा नहीं। email के अंदर nested होने पर यह नज़रअंदाज़ कर दिया जाता है, और आपके उपयोगकर्ता को ऐसा लिंक मिलता है जो पाँच मिनट में समाप्त हो जाता है।
प्रतिक्रिया emailSent में परिणाम बताती है:
Example Contact Email Response
अगर ईमेल नहीं भेजा जा सका, तब भी अनुरोध सफल होता है और आपको लिंक मिलता है। प्रतिक्रिया में emailSent: false के साथ एक emailError ऑब्जेक्ट होता है, ताकि आप लिंक को किसी और तरीके से अपने उपयोगकर्ता तक पहुँचा सकें:
Example Failed Email Response
जब भी आपने ईमेल का अनुरोध किया और वह नहीं भेजा गया, emailError दिखता है: या तो भेजना विफल रहा, या email ऑब्जेक्ट में कोई आवश्यक फ़ील्ड नहीं था, और उस स्थिति में details छूटे हुए फ़ील्ड बताता है। emailError के बिना emailSent: false का अर्थ है कि कोई ईमेल अनुरोधित नहीं था। to न होने पर स्थिति अलग है: पूरा अनुरोध code: 188 के साथ अस्वीकार कर दिया जाता है।

Connect Accounts Email उदाहरण

यहाँ उस ईमेल का उदाहरण है जो सोशल लिंकिंग पेज खोलता है: Connect Accounts email ईमेल इस पते से आता है: Social Connect Hub <connect@socialconnecthub.com>

मोबाइल ऐप्स

लिंकिंग URL को सिस्टम ब्राउज़र में खोलें, कभी भी embedded webview में नहीं: Google उसमें साइन-इन को disallowed_useragent के साथ अस्वीकार करता है, और Meta उसे सिरे से ब्लॉक कर देता है। आपका उपयोगकर्ता नेटवर्क का अपना error पेज देखेगा, और आपकी ओर से कुछ भी इसे ठीक नहीं करता।
  • iOS — ASWebAuthenticationSession, या SFSafariViewController।
  • Android — Chrome Custom Tabs।
क्योंकि native ऐप के पास events पोस्ट करने के लिए कोई ब्राउज़र विंडो नहीं होती, परिणाम इसके बजाय Link Session प्राप्त करें से पाएँ। origin को अपनी custom scheme (myapp://connected) पर सेट करें ताकि पेज के पास आपके ऐप में वापस लौटने का रास्ता हो।

मोबाइल कोड उदाहरण

linkingURL को Link Session बनाएँ से लौटाए गए url से बदलें।

परीक्षण

पहले Postman में लिंक बनाना अनुशंसित है। आपके Integration Package में — डैशबोर्ड के Primary Profile API Key पेज पर — एक नमूना Postman कॉन्फ़िग शामिल है। इसे इम्पोर्ट करें, profileKey body फ़ील्ड में अपनी Profile Key भरें, और Send पर क्लिक करें। नमूना कॉन्फ़िग अब भी privateKey और domain पहले से भर देता है। privateKey नज़रअंदाज़ कर दिया जाता है, और domain को आप खाली कर सकते हैं, बशर्ते आपके अकाउंट पर एक से ज़्यादा लिंकिंग domain न हों। आप Postman से कोड जेनरेट भी कर सकते हैं।

Bubble.io

Bubble linking URL

Legacy: generateJWT

लिंकिंग URL बनाएँ (generateJWT) वही काम करता है और deprecated है — पूरी तरह समर्थित, कोई removal date नहीं, और आपके पहले से दिए हुए लिंक्स के लिए अपरिवर्तित। उसके अपने पेज पर उसके पैरामीटर documented हैं, जिनमें वे तीन भी शामिल हैं जो अब स्वीकार किए जाते हैं और नज़रअंदाज़ कर दिए जाते हैं।दोनों एंडपॉइंट एक ही वैलिडेटर चलाते हैं, इसलिए इस पेज पर लिखा सब कुछ दोनों पर लागू होता है। माइग्रेट करते समय जानने योग्य एकमात्र अंतर: generateJWT तीन चीज़ें बर्दाश्त करता है जिन्हें Link Session बनाएँ अस्वीकार करता है — allowedSocial में अपरिचित नेटवर्क, X क्रेडेंशियल का केवल एक हिस्सा, और गैर-स्ट्रिंग redirect।