
भाषा 🇮🇳 हिन्दी
शुरुआत करना
कॉन्फ़िगरेशन
अनुकूलन
उन्नत
कोलैब चैट
दस्तावेज़ों, पुस्तकों आदि में इनलाइन लाइव कमेंट्स जोड़ें
FastComments Collab Chat उपयोगकर्ताओं को आपकी वेबसाइट पर किसी भी टेक्स्ट सामग्री को हाइलाइट और एनोटेट करने में सक्षम बनाता है, जिससे विशिष्ट टेक्स्ट चयनों से जुड़ी थ्रेडेड चर्चाएँ बनती हैं। उपयोगकर्ता शब्द, वाक्य या पूरे पैराग्राफ का चयन करके सीधे आपकी सामग्री के भीतर सहयोगी बातचीत शुरू कर सकते हैं।
यह सुविधा संपादकीय फीडबैक, सहयोगी पठन वातावरण, शैक्षिक प्लेटफ़ॉर्म, दस्तावेज़ समीक्षा, और किसी भी ऐसे परिदृश्य के लिए आदर्श है जहाँ आप विशिष्ट टेक्स्ट से जुड़ी संदर्भात्मक चर्चाएँ चाहते हैं।
ध्यान दें कि ये दस्तावेज़ विशेष रूप से Collab Chat कार्यक्षमता के लिए हैं। आप पुस्तकों जैसी कई पृष्ठों वाली सामग्री के लिए thread-per-page के साथ कमेंटिंग जोड़ सकते हैं, बिना collab chat का उपयोग किए। FastComments प्रति पृष्ठ या प्रति थ्रेड कोई शुल्क भी नहीं लेता। Collab Chat विशेष रूप से तब है जब आप उपयोगकर्ताओं को टेक्स्ट चुनने और हाइलाइट किए गए टेक्स्ट अंश पर कमेंट करने की अनुमति देना चाहते हैं।
आप यहाँ एक उदाहरण देख सकते हैं।
शुरुआत करना 
त्वरित शुरुआत
Collab Chat के साथ शुरुआत करना आसान है। आपको FastComments Collab Chat स्क्रिप्ट, एक HTML एलिमेंट जिसमें वह टेक्स्ट हो जिसे आप एनोटेट करना चाहते हैं, और अपनी Tenant ID के साथ एक कॉन्फ़िगरेशन ऑब्जेक्ट की आवश्यकता है।
इंस्टॉलेशन
अपने पेज में Collab Chat स्क्रिप्ट जोड़ें:

बेसिक इम्प्लीमेंटेशन
यहाँ एक न्यूनतम उदाहरण है:
Run 
यदि पहले से नहीं है, तो 'demo' को अपनी वास्तविक FastComments Tenant ID से बदलें, जिसे आप अपने FastComments डैशबोर्ड में पा सकते हैं।
यह कैसे काम करता है
इनिशियलाइज़ होने के बाद, उपयोगकर्ता टारगेट एलिमेंट के भीतर कोई भी टेक्स्ट चुन सकते हैं। एक छोटे विलंब (डेस्कटॉप पर 3.5 सेकंड) के बाद, एक प्रॉम्प्ट दिखाई देता है जो उन्हें चर्चा शुरू करने की अनुमति देता है। जब कोई चर्चा बनाई जाती है, तो टेक्स्ट पर एक विज़ुअल हाइलाइट दिखाई देता है। अन्य उपयोगकर्ता हाइलाइट पर होवर करके या क्लिक करके चर्चा देख सकते हैं और उसमें भाग ले सकते हैं। सभी चर्चाएँ सभी विज़िटर्स के लिए रियल-टाइम में सिंक होती हैं।
लाइव डेमो
आप Collab Chat को क्रिया में हमारे लाइव डेमो पेज पर देख सकते हैं।
अगले कदम
अब जब आपकी बेसिक्स काम कर रही हैं, तो आप Configuration Options गाइड में दिखावट और व्यवहार को कस्टमाइज़ कर सकते हैं। टेक्स्ट सिलेक्शन कैसे काम करता है, यह समझने के लिए Text Selection Behavior गाइड देखें। Customization गाइड में स्टाइलिंग और डार्क मोड सपोर्ट के बारे में जानें। उन्नत इंटीग्रेशन के लिए, API Reference देखें।
फ्रंटएंड लाइब्रेरी
सभी FastComments फ्रंटएंड लाइब्रेरी (react, vue, angular, आदि) में Collab Chat है।
उदाहरण 
बेसिक उदाहरण
Collab Chat का उपयोग करने का सबसे सरल तरीका एक सिंगल कंटेंट कंटेनर को टारगेट करना है। यह उदाहरण दिखाता है कि एक आर्टिकल पर टेक्स्ट एनोटेशन कैसे सक्षम करें:
Run 
कस्टम URL ID के साथ उदाहरण (प्रति बुक पेज, आर्टिकल, आदि)
डिफ़ॉल्ट रूप से, Collab Chat बातचीत की पहचान करने के लिए पेज URL को एलिमेंट पाथ और टेक्स्ट रेंज के साथ जोड़ता है। आप बातचीत को ग्रुप करने के तरीके पर अधिक नियंत्रण पाने के लिए एक कस्टम urlId प्रदान कर सकते हैं:

यह तब उपयोगी है जब आपकी URL संरचना बदल जाती है लेकिन आप उन्हीं बातचीत को बनाए रखना चाहते हैं, या जब आप एक ही बातचीत के एनोटेशन को कई पेजों पर साझा करना चाहते हैं।
डार्क मोड के साथ उदाहरण
यदि आपकी साइट का बैकग्राउंड डार्क है, तो यह सुनिश्चित करने के लिए डार्क मोड सपोर्ट सक्षम करें कि चैट UI सही दिखे:
Run 
टॉप बार अक्षम के साथ उदाहरण
डिफ़ॉल्ट रूप से, Collab Chat यूज़र संख्या और चर्चा संख्या के साथ एक टॉप बार दिखाता है। आप इसे अक्षम कर सकते हैं:
Run 
कमेंट काउंट कॉलबैक के साथ उदाहरण
आप commentCountUpdated कॉलबैक का उपयोग करके ट्रैक कर सकते हैं कि कमेंट कब जोड़े या अपडेट किए जाते हैं:

एकाधिक सेक्शन के साथ उदाहरण
आप अपने पेज के कई अलग-अलग सेक्शन पर Collab Chat इनिशियलाइज़ कर सकते हैं। प्रत्येक सेक्शन के अपने स्वतंत्र एनोटेशन होंगे:

ऑनलाइन बुक्स में लाइव कमेंटिंग जोड़ना 
आप चाहें तो Collab Chat को प्रति पेज इनिशियलाइज़ कर सकते हैं और प्रत्येक पेज के लिए अलग थ्रेड रख सकते हैं — बस urlId पैरामीटर को book-one-page1 जैसा कोई मान दें। यह कॉन्फ़िगरेशन सामान्य कमेंटिंग विजेट के लिए भी काम करता है।
कॉन्फ़िगरेशन विकल्प 
अवलोकन
FastComments Collab Chat मानक FastComments कमेंटिंग विजेट का विस्तार करता है, इसलिए यह बेस विजेट से सभी कॉन्फ़िगरेशन विकल्प प्राप्त करता है और साथ ही टेक्स्ट एनोटेशन के लिए कुछ विशिष्ट विकल्प भी जोड़ता है।
आवश्यक कॉन्फ़िगरेशन
tenantId
आपकी FastComments Tenant ID आवश्यक है। आप इसे अपने FastComments डैशबोर्ड में पा सकते हैं।

Collab Chat विशिष्ट विकल्प
urlId
डिफ़ॉल्ट रूप से, Collab Chat पेज URL, एलिमेंट तक के DOM पाथ, और चयनित टेक्स्ट रेंज के आधार पर प्रत्येक बातचीत के लिए एक अद्वितीय पहचानकर्ता बनाता है। आप इसे कस्टम urlId से ओवरराइड कर सकते हैं।

यह तब उपयोगी है जब आपकी URL संरचना बदल सकती हो लेकिन आप वही बातचीत बनाए रखना चाहते हों, या जब आप कई पेजों पर एनोटेशन साझा करना चाहते हों।
topBarTarget
यह टॉप बार के प्रदर्शन को नियंत्रित करता है जो उपयोगकर्ता संख्या और चर्चा संख्या दिखाती है। टॉप बार को पूरी तरह अक्षम करने के लिए null सेट करें, या इसे किसी विशिष्ट स्थान पर रेंडर करने के लिए एक DOM एलिमेंट प्रदान करें।

hasDarkBackground
जब आपके पेज का बैकग्राउंड गहरा हो तो डार्क मोड स्टाइलिंग सक्षम करें। यह पहचान स्वचालित होती है, लेकिन इसे ओवरराइड करना वांछनीय हो सकता है।

commentCountUpdated
एक कॉलबैक फ़ंक्शन जो कमेंट संख्या बदलने पर चलता है। यह बैज या पेज टाइटल जैसे UI एलिमेंट अपडेट करने के लिए उपयोगी है।

विरासत में मिले कॉन्फ़िगरेशन विकल्प
चूंकि Collab Chat मानक कमेंटिंग विजेट का विस्तार करता है, आप बेस FastComments विजेट के किसी भी कॉन्फ़िगरेशन विकल्प का उपयोग कर सकते हैं। यहाँ कुछ सामान्यतः उपयोग किए जाने वाले विकल्प हैं:
locale
विजेट UI के लिए भाषा सेट करें। FastComments दर्जनों भाषाओं का समर्थन करता है।

readonly
सभी बातचीत को केवल-पढ़ने योग्य बनाएं। उपयोगकर्ता मौजूदा एनोटेशन देख सकते हैं लेकिन नए नहीं बना सकते या उत्तर नहीं दे सकते।

sso और simpleSSO
Single Sign-On का उपयोग करके अपने प्रमाणीकरण सिस्टम के साथ एकीकृत करें।

प्रमाणीकरण विकल्पों के पूर्ण विवरण के लिए SSO दस्तावेज़ देखें।
maxReplyDepth
नियंत्रित करें कि उत्तर कितने स्तर तक गहरे जा सकते हैं। डिफ़ॉल्ट रूप से, Collab Chat इसे 0 पर सेट करता है, जिसका अर्थ है कि सभी कमेंट फ्लैट हैं (कोई नेस्टेड उत्तर नहीं)। यदि आप थ्रेडेड बातचीत चाहते हैं तो आप इसे बदल सकते हैं।

आंतरिक कॉन्फ़िगरेशन
ये विकल्प Collab Chat द्वारा स्वचालित रूप से सेट किए जाते हैं और इन्हें ओवरराइड नहीं किया जाना चाहिए:
Collab Chat के लिए productId स्वचालित रूप से 3 पर सेट होता है। चैट विंडो कार्यक्षमता प्रदान करने के लिए floating-chat एक्सटेंशन स्वचालित रूप से लोड होता है। विजेट स्वचालित रूप से मोबाइल डिवाइस (768px से कम चौड़ी स्क्रीन) का पता लगाता है और UI को तदनुसार समायोजित करता है।
पूर्ण उदाहरण
यहाँ कई कॉन्फ़िगरेशन विकल्पों को एक साथ दिखाने वाला एक उदाहरण है:

बेस विजेट से विरासत में मिले सभी उपलब्ध कॉन्फ़िगरेशन विकल्पों की पूरी सूची के लिए, मुख्य FastComments कॉन्फ़िगरेशन दस्तावेज़ देखें।
टेक्स्ट चयन व्यवहार 
टेक्स्ट चयन कैसे काम करता है
जब उपयोगकर्ता Collab Chat कंटेनर के भीतर टेक्स्ट चुनते हैं, तो विजेट उस चयन को कैप्चर करता है और उन्हें चर्चा शुरू करने की अनुमति देता है। चयन एक शब्द जितना छोटा या विभिन्न तत्वों में फैले कई पैराग्राफ जितना बड़ा हो सकता है।
चयन में देरी
डेस्कटॉप डिवाइस पर, उपयोगकर्ता द्वारा टेक्स्ट चुनने और चर्चा प्रॉम्प्ट दिखाई देने के बीच 3.5 सेकंड का विलंब होता है। यह उपयोगकर्ताओं द्वारा केवल कॉपी या पढ़ने के लिए टेक्स्ट हाइलाइट करते समय UI के टिमटिमाने से रोकता है। मोबाइल डिवाइस पर, प्रॉम्प्ट तुरंत दिखाई देता है क्योंकि टच स्क्रीन पर टेक्स्ट चयन अधिक जानबूझकर किया जाता है।
अद्वितीय बातचीत IDs
प्रत्येक बातचीत को एक अद्वितीय urlId मिलता है जो पेज URL, DOM तत्व पथ, और क्रमबद्ध टेक्स्ट रेंज को जोड़ता है। यह सुनिश्चित करता है कि प्रत्येक टेक्स्ट चयन एक अलग बातचीत बनाता है जिसे बाद में फिर से खोजा जा सकता है।
यदि आप अपने कॉन्फ़िगरेशन में एक कस्टम urlId प्रदान करते हैं, तो इसे तत्व पथ और टेक्स्ट रेंज के साथ जोड़ा जाएगा ताकि अंतिम पहचानकर्ता बन सके।
विज़ुअल हाइलाइट्स
जब किसी विशेष टेक्स्ट चयन के लिए एक बातचीत मौजूद होती है, तो उस टेक्स्ट को एक विज़ुअल हाइलाइट मिलता है। हाइलाइट को बैकग्राउंड रंगों का उपयोग करके लागू किया जाता है और यह होवर पर या संबंधित चैट विंडो खुलने पर दिखाई देता है।
हाइलाइटिंग सिस्टम चयनित टेक्स्ट को एक विशेष तत्व में लपेटकर काम करता है जिसे स्टाइल किया जा सकता है। यह दृष्टिकोण सुनिश्चित करता है कि अंतर्निहित HTML संरचना जटिल होने पर भी हाइलाइट्स सटीक बने रहें।
चैट विंडो पोज़िशनिंग
जब उपयोगकर्ता किसी हाइलाइट पर क्लिक करता है या एक नई एनोटेशन बनाता है, तो चयनित टेक्स्ट के पास एक चैट विंडो दिखाई देती है। विजेट उपलब्ध व्यूपोर्ट स्थान के आधार पर इस विंडो के लिए सर्वोत्तम स्थिति की स्वचालित गणना करता है।
पोज़िशनिंग सिस्टम to-right, to-left, to-top, और to-bottom जैसी CSS क्लासेस का उपयोग करता है यह इंगित करने के लिए कि चैट विंडो हाइलाइट से किस दिशा में विस्तारित होनी चाहिए। मोबाइल डिवाइस पर (768px से कम चौड़ी स्क्रीन), बेहतर उपयोगिता के लिए चैट विंडो हमेशा फुलस्क्रीन दिखाई देती है।
चैट विंडो आयाम
चैट विंडो डेस्कटॉप पर 410px चौड़ी होती है, जिसमें 20px स्पेसिंग और हाइलाइट किए गए टेक्स्ट की ओर इशारा करता हुआ 16px का विज़ुअल तीर होता है। इन आयामों को सुसंगत व्यवहार सुनिश्चित करने के लिए निश्चित रखा गया है, लेकिन आप CSS के साथ उपस्थिति को अनुकूलित कर सकते हैं।
क्रॉस-तत्व चयन
उपयोगकर्ता ऐसा टेक्स्ट चुन सकते हैं जो कई HTML तत्वों में फैला हो, जैसे एक पैराग्राफ के मध्य से दूसरे के आरंभ तक हाइलाइट करना। रेंज सीरियलाइज़ेशन सिस्टम इसे सही ढंग से संभालता है और तत्व सीमाओं के पार भी सभी चयनित टेक्स्ट को हाइलाइट करेगा।
ब्राउज़र संगतता
टेक्स्ट चयन सिस्टम मानक window.getSelection() API का उपयोग करता है जो सभी आधुनिक ब्राउज़रों में समर्थित है। Internet Explorer के पुराने संस्करणों के लिए, यह संगतता के लिए document.selection पर वापस आ जाता है।
चयन निरंतरता
एक बार टेक्स्ट चयन के लिए बातचीत बन जाने पर, वह एनोटेशन तब भी बना रहता है यदि पेज रीलोड हो जाए। क्रमबद्ध रेंज और DOM पथ विजेट को उपयोगकर्ताओं के पेज पर वापस आने पर बिल्कुल उसी स्थान पर हाइलाइट्स पुनर्स्थापित करने की अनुमति देते हैं।
यह तब तक विश्वसनीय रूप से काम करता है जब तक आपका पेज कंटेंट स्थिर रहता है। यदि आप टेक्स्ट कंटेंट बदलते हैं या अपनी HTML को पुनर्गठित करते हैं, तो मौजूदा एनोटेशन अब टेक्स्ट के साथ सही ढंग से संरेखित नहीं हो सकते। इस कारण से, सक्रिय एनोटेशन वाले पेजों पर बड़े कंटेंट परिवर्तनों से बचना सबसे अच्छा है, या जब कंटेंट परिवर्तन आवश्यक हों तो एनोटेशन को माइग्रेट करने पर विचार करें।
अनुकूलन 
डार्क मोड सपोर्ट
डायनामिक डार्क मोड
यदि आपकी साइट का डार्क मोड body एलिमेंट में .dark क्लास जोड़कर नियंत्रित होता है, तो Collab Chat UI इसे बिना री-इनिशियलाइज़ेशन के स्वतः ही सम्मानित करेगा। विजेट की स्टाइल्स इस क्लास की उपस्थिति के प्रति प्रतिक्रिया देने के लिए डिज़ाइन की गई हैं।

CSS के साथ कस्टम स्टाइलिंग
आप CSS का उपयोग करके हाइलाइट्स, चैट विंडोज़ और अन्य एलिमेंट्स की उपस्थिति को कस्टमाइज़ कर सकते हैं। विजेट विशिष्ट क्लासेस जोड़ता है जिन्हें आप अपनी स्टाइलशीट में टारगेट कर सकते हैं।
टेक्स्ट हाइलाइट्स FastComments कमेंट बबल स्टाइलिंग सिस्टम का उपयोग करते हैं, इसलिए स्टैंडर्ड कमेंटिंग विजेट पर आपके द्वारा लागू की गई कोई भी कस्टमाइज़ेशन Collab Chat को भी प्रभावित करेगी।
टॉप बार कस्टमाइज़ेशन
टॉप बार ऑनलाइन उपयोगकर्ताओं की संख्या और चर्चाओं की संख्या दिखाता है। आप topBarTarget के रूप में एक कस्टम एलिमेंट प्रदान करके इसकी स्थिति को कस्टमाइज़ कर सकते हैं:

या इसे null सेट करके पूरी तरह अक्षम करें:

मोबाइल व्यवहार
768px से कम चौड़ाई वाली स्क्रीन पर, Collab Chat स्वतः ही मोबाइल-अनुकूलित लेआउट पर स्विच हो जाता है। चैट विंडोज़ टेक्स्ट के बगल में फ्लोटिंग होने के बजाय फुलस्क्रीन दिखाई देती हैं, और अधिक तुरंत इंटरैक्शन के लिए सिलेक्शन डिले हटा दिया जाता है।
यह व्यवहार इन-बिल्ट है और इसके लिए किसी कॉन्फ़िगरेशन की आवश्यकता नहीं है। विजेट स्क्रीन का आकार स्वतः पहचानता है और तदनुसार समायोजित करता है।
चैट विंडो की उपस्थिति
चैट विंडोज़ डेस्कटॉप पर 410px चौड़ी होती हैं और हाइलाइट किए गए टेक्स्ट की ओर इशारा करने वाला 16px का तीर होता है। विंडोज़ उपलब्ध व्यूपोर्ट स्पेस के आधार पर स्वतः स्थिति निर्धारित करती हैं, जिसमें to-right, to-left, to-top, और to-bottom जैसी पोज़िशनिंग क्लासेस का उपयोग होता है।
आप इन विंडोज़ के रंग, फ़ॉन्ट, स्पेसिंग या अन्य विज़ुअल गुणों को समायोजित करने के लिए कस्टम CSS जोड़ सकते हैं। चैट विंडोज़ स्टैंडर्ड FastComments विजेट के समान कंपोनेंट संरचना का उपयोग करती हैं, इसलिए वे आपके द्वारा लागू की गई किसी भी ग्लोबल कस्टमाइज़ेशन को विरासत में लेती हैं।
लोकलाइज़ेशन
Collab Chat स्टैंडर्ड FastComments विजेट के समान सभी लोकलाइज़ेशन विकल्पों का समर्थन करता है। विभिन्न भाषाओं में UI टेक्स्ट दिखाने के लिए locale विकल्प सेट करें:

FastComments दर्जनों भाषाओं का समर्थन करता है। लोकेल सेटिंग प्रॉम्प्ट्स, बटन और प्लेसहोल्डर टेक्स्ट सहित सभी UI टेक्स्ट को प्रभावित करती है।
विरासत में मिले कस्टमाइज़ेशन विकल्प
चूंकि Collab Chat स्टैंडर्ड कमेंटिंग विजेट का विस्तार करता है, यह बेस विजेट से सभी कस्टमाइज़ेशन विकल्प विरासत में लेता है। इसमें कस्टम CSS क्लासेस, कस्टम अनुवाद, अवतार कस्टमाइज़ेशन, दिनांक फ़ॉर्मेटिंग और बहुत कुछ शामिल है।
उपलब्ध कस्टमाइज़ेशन विकल्पों की पूरी सूची के लिए मुख्य FastComments कस्टमाइज़ेशन दस्तावेज़ीकरण देखें।
कस्टम फ़ॉन्ट्स के साथ कार्य करना
यदि आपकी साइट कस्टम फ़ॉन्ट्स का उपयोग करती है, तो Collab Chat UI आपके पेज की CSS से उन फ़ॉन्ट्स को विरासत में लेगा। यदि आप चाहते हैं कि फ्लोटिंग चैट विंडो वही फ़ॉन्ट्स उपयोग करे, तो आपको एक विजेट कस्टमाइज़ेशन रूल बनाना पड़ सकता है और उस रूल की कस्टम CSS में फ़ॉन्ट्स को @import करना पड़ सकता है।
लाइव सिंक 
रियल-टाइम अपडेट
Collab Chat सभी जुड़े हुए उपयोगकर्ताओं के बीच सभी बातचीत को रियल-टाइम में सिंक करने के लिए WebSocket कनेक्शन का उपयोग करता है। जब कोई नया एनोटेशन बनाता है, कोई कमेंट जोड़ता है, या कोई चर्चा हटाता है, तो उसी पेज को देख रहे अन्य सभी उपयोगकर्ता रिफ्रेश किए बिना अपडेट तुरंत देखते हैं।
WebSocket सिंक कैसे काम करता है
जब आप Collab Chat को इनिशियलाइज़ करते हैं, तो विजेट FastComments सर्वर्स से एक WebSocket कनेक्शन स्थापित करता है। यह कनेक्शन उपयोगकर्ता के सेशन की अवधि के दौरान खुला रहता है और वर्तमान पेज से संबंधित अपडेट के लिए सुनता रहता है।
WebSocket सिस्टम Collab Chat के लिए तीन प्रकार के ब्रॉडकास्ट संदेशों का उपयोग करता है। new-text-chat इवेंट तब फायर होता है जब कोई पेज पर नया एनोटेशन बनाता है। updated-text-chat इवेंट तब फायर होता है जब कोई किसी मौजूदा बातचीत को अपडेट करता है। deleted-text-chat इवेंट तब फायर होता है जब कोई एनोटेशन हटाता है।
ब्रॉडकास्ट ID सिस्टम
इको इफेक्ट को रोकने के लिए, जिसमें उपयोगकर्ता अपनी ही क्रियाओं को वापस ब्रॉडकास्ट होते देखते हैं, प्रत्येक अपडेट में एक अद्वितीय broadcastId शामिल होता है। जब कोई उपयोगकर्ता एनोटेशन बनाता या अपडेट करता है, तो उसका क्लाइंट उस ऑपरेशन के लिए एक UUID जनरेट करता है। जब WebSocket अपडेट को सभी क्लाइंट्स को वापस ब्रॉडकास्ट करता है, तो मूल क्लाइंट उस अपडेट को अनदेखा कर देता है क्योंकि वह अपने ही broadcastId से मेल खाता है।
इससे एक सहज इंटरैक्शन सुनिश्चित होता है जिसमें उपयोगकर्ता सर्वर के माध्यम से राउंड-ट्रिप की प्रतीक्षा किए बिना अपने परिवर्तन UI में तुरंत देखते हैं, जबकि अन्य सभी उपयोगकर्ताओं को अपडेट मिलना भी सुनिश्चित रहता है।
लाइव उपयोगकर्ता संख्या
टॉप बार वर्तमान में पेज देख रहे उपयोगकर्ताओं की संख्या प्रदर्शित करता है। यह संख्या उपयोगकर्ताओं के जुड़ने और छोड़ने के साथ रियल-टाइम में अपडेट होती रहती है। उपयोगकर्ता संख्या उसी WebSocket कनेक्शन के माध्यम से प्रदान की जाती है और कनेक्शन तथा डिस्कनेक्शन इवेंट्स के आधार पर स्वचालित रूप से बढ़ती/घटती है।
कनेक्शन लचीलापन
यदि नेटवर्क समस्याओं या सर्वर रखरखाव के कारण WebSocket कनेक्शन टूट जाता है, तो विजेट स्वचालित रूप से फिर से कनेक्ट होने का प्रयास करता है। पुनःकनेक्शन अवधि के दौरान, उपयोगकर्ता मौजूदा एनोटेशन के साथ इंटरैक्ट कर सकते हैं, लेकिन कनेक्शन फिर से स्थापित होने तक अन्य उपयोगकर्ताओं के रियल-टाइम अपडेट नहीं देख पाएंगे।
पुनः कनेक्ट होने के बाद, विजेट यह सुनिश्चित करने के लिए रीसिंक्रोनाइज़ करता है कि कोई अपडेट न छूटा हो। यह पारदर्शी रूप से होता है, बिना उपयोगकर्ता के हस्तक्षेप की आवश्यकता के।
बैंडविड्थ विचार
WebSocket संदेश हल्के होते हैं और उनमें केवल स्थिति सिंक करने के लिए आवश्यक आवश्यक जानकारी होती है। नया एनोटेशन बनाने में आमतौर पर 1KB से कम बैंडविड्थ का उपयोग होता है। सिस्टम में उच्च-गतिविधि अवधियों के दौरान संदेश आवृत्ति को कम करने के लिए बुद्धिमान बैचिंग भी शामिल है।
FastComments डैशबोर्ड में आपके उपयोग मेट्रिक्स pubSubMessageCount और pubSubBandwidth को ट्रैक करते हैं ताकि आप अपनी साइटों में रियल-टाइम सिंक गतिविधि की निगरानी कर सकें।
क्रॉस-टैब सिंक्रोनाइज़ेशन
यदि कोई उपयोगकर्ता एक ही पेज को कई ब्राउज़र टैब में खोलता है, तो एक टैब में किए गए अपडेट तुरंत अन्य टैब में दिखाई देते हैं। यह उसी WebSocket सिंक तंत्र के माध्यम से काम करता है और इसके लिए किसी अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता नहीं होती।
सुरक्षा
WebSocket संदेश सुरक्षित कनेक्शन (WSS) के माध्यम से प्रसारित होते हैं और टेनेंट सत्यापन शामिल करते हैं ताकि यह सुनिश्चित हो कि उपयोगकर्ताओं को केवल उन बातचीत के अपडेट मिलें जिन्हें देखने के लिए वे अधिकृत हैं। अनधिकृत पहुंच या हेरफेर को रोकने के लिए सर्वर सभी ऑपरेशनों को ब्रॉडकास्ट करने से पहले सत्यापित करता है।
API संदर्भ 
API अवलोकन
Collab Chat प्रोग्रामेटिक रूप से टेक्स्ट बातचीत प्रबंधित करने के लिए तीन REST API एंडपॉइंट प्रदान करता है। ये एंडपॉइंट आपको ब्राउज़र विजेट का उपयोग किए बिना एनोटेशन प्राप्त करने, बनाने और हटाने की अनुमति देते हैं।
ये सार्वजनिक एंडपॉइंट हैं जो ब्राउज़र कुकीज़ के माध्यम से उपयोगकर्ताओं को प्रमाणित करते हैं। ये API कुंजियों का उपयोग नहीं करते। इन एंडपॉइंट तक पहुँचने के लिए उपयोगकर्ताओं का अपने ब्राउज़र में FastComments में लॉग इन होना आवश्यक है।
बेस URL
सभी Collab Chat API एंडपॉइंट निम्नलिखित के अंतर्गत हैं:

प्रमाणीकरण
ये एंडपॉइंट ब्राउज़र कुकीज़ के माध्यम से उपयोगकर्ताओं को प्रमाणित करते हैं। ये API कुंजियों का उपयोग नहीं करते। इन एंडपॉइंट तक पहुँचने के लिए उपयोगकर्ताओं का अपने ब्राउज़र में FastComments में लॉग इन होना आवश्यक है।
सभी बातचीत प्राप्त करें
किसी विशिष्ट पेज के लिए सभी टेक्स्ट बातचीत प्राप्त करें।
एंडपॉइंट

पैरामीटर
tenantId (पाथ पैरामीटर, आवश्यक) आपकी FastComments Tenant ID है।
urlId (क्वेरी पैरामीटर, आवश्यक) वह पेज पहचानकर्ता है जिसके लिए आप बातचीत प्राप्त करना चाहते हैं।
प्रतिक्रिया
प्रतिक्रिया में API स्थिति, प्रमाणित होने पर वर्तमान उपयोगकर्ता सत्र की जानकारी, उनकी IDs, URLs और टेक्स्ट रेंज के साथ बातचीत की एक सरणी, एक साफ़ किया गया URL पहचानकर्ता, यह दर्शाने वाला फ़्लैग कि वर्तमान उपयोगकर्ता साइट एडमिन या मॉडरेटर है, और लाइव सिंक के लिए WebSocket कनेक्शन विवरण जिसमें tenantIdWS, urlIdWS और userIdWS शामिल हैं।
उदाहरण अनुरोध

उदाहरण प्रतिक्रिया

बातचीत बनाएँ
किसी विशिष्ट टेक्स्ट चयन के लिए एक नई टेक्स्ट बातचीत बनाएँ।
एंडपॉइंट

पैरामीटर
tenantId (पाथ पैरामीटर, आवश्यक) आपकी FastComments Tenant ID है।
अनुरोध बॉडी JSON होनी चाहिए और इसमें ये आवश्यक फ़ील्ड शामिल होने चाहिए।
urlId (स्ट्रिंग, आवश्यक) बेस पेज पहचानकर्ता है।
urlIdWithRange (स्ट्रिंग, आवश्यक) टेक्स्ट रेंज के साथ संयुक्त URL है, उदाहरण के लिए my-page:p:0:15,0:45{abc123}।
pageTitle (स्ट्रिंग, आवश्यक) पेज का शीर्षक है।
selector (स्ट्रिंग, आवश्यक) चयनित टेक्स्ट वाले तत्व का DOM पाथ है।
range (स्ट्रिंग, आवश्यक) startOffset:endOffset,startOffset:endOffset{checksum} प्रारूप में क्रमबद्ध टेक्स्ट रेंज है।
createdFromCommentId (स्ट्रिंग, आवश्यक) उस टिप्पणी की ID है जिसने यह चैट शुरू की।
broadcastId (स्ट्रिंग, आवश्यक) इको प्रभावों को रोकने के लिए लाइव सिंक्रोनाइज़ेशन के लिए एक UUID है।
प्रतिक्रिया
प्रतिक्रिया में API स्थिति और नई बनाई गई बातचीत की ID शामिल है।
उदाहरण अनुरोध

उदाहरण प्रतिक्रिया

बातचीत हटाएँ
एक मौजूदा टेक्स्ट बातचीत हटाएँ। इस एंडपॉइंट के लिए एडमिन या मॉडरेटर अनुमतियाँ आवश्यक हैं, या बातचीत प्रमाणित उपयोगकर्ता द्वारा बनाई गई होनी चाहिए।
एंडपॉइंट

पैरामीटर
tenantId (पाथ पैरामीटर, आवश्यक) आपकी FastComments Tenant ID है।
chatId (पाथ पैरामीटर, आवश्यक) हटाने के लिए बातचीत की ID है।
broadcastId (अनुरोध बॉडी, आवश्यक) लाइव सिंक्रोनाइज़ेशन के लिए एक UUID है।
उदाहरण अनुरोध

उदाहरण प्रतिक्रिया

दर सीमित करना
ये एंडपॉइंट मानक FastComments API दर सीमा के अधीन हैं। दर सीमा मिडलवेयर सामान्य उपयोग पैटर्न की अनुमति देते हुए दुरुपयोग को रोकने के लिए प्रति-टेनेंट लागू होता है।
त्रुटि प्रतिक्रियाएँ
सभी एंडपॉइंट मानक HTTP स्थिति कोड लौटाते हैं। 400 प्रतिक्रिया अमान्य अनुरोध पैरामीटर दर्शाती है। 401 प्रतिक्रिया का अर्थ है प्रमाणीकरण विफल। 403 प्रतिक्रिया अपर्याप्त अनुमतियाँ दर्शाती है। 404 प्रतिक्रिया का अर्थ है कि बातचीत नहीं मिली। 429 प्रतिक्रिया दर सीमा पार होने का संकेत देती है।
त्रुटि प्रतिक्रियाओं में विवरण के साथ एक JSON बॉडी शामिल होती है:

उपयोग ट्रैकिंग
बातचीत बनाना आपके conversationCreateCount उपयोग मीट्रिक को बढ़ाता है। सभी WebSocket सिंक गतिविधि pubSubMessageCount और pubSubBandwidth को बढ़ाती है। आप उपयोग विश्लेषण के अंतर्गत अपने FastComments डैशबोर्ड में इन मीट्रिक्स की निगरानी कर सकते हैं।
कोई सवाल है?
FastComments Collab Chat के लिए बस इतना ही! यदि आपके कोई सवाल हैं, इम्प्लीमेंटेशन में मदद चाहिए, या फीचर सुझाव हैं, तो कृपया नीचे हमें बताएं या हमारी सपोर्ट टीम से संपर्क करें।
लाइव उदाहरणों के लिए, Govscent.org देखें, जो Collab Chat का उत्पादन में उपयोग करता है।