कृपया ध्यान दें हमने X API v2 में batch compliance नाम का एक नया कंप्लायंस टूल जारी किया है। यह नया टूल आपको पोस्ट या उपयोगकर्ता IDs के बड़े डेटासेट अपलोड करने की सुविधा देता है, ताकि उनकी कंप्लायंस स्थिति प्राप्त की जा सके और यह निर्धारित किया जा सके कि आपके डेटासेट को अनुपालन में लाने के लिए किस डेटा पर कार्रवाई आवश्यक है।
इसके अतिरिक्त, पोस्ट संपादन के समर्थन के लिए batch compliance और compliance firehose, दोनों को अपडेट किया गया है। compliance firehose के लिए, एक नया ‘tweet_edit’ इवेंट जोड़ा गया है। अधिक जानकारी के लिए Compliance Data Objects दस्तावेज़ देखें। Edit Post मेटाडेटा कैसे काम करता है, इसके बारे में अधिक जानने के लिए Edit Posts fundamentals पेज देखें।
अवलोकन
Enterprise
X के मूल मूल्यों में से एक है उपयोगकर्ता की आवाज़ की रक्षा करना और उसका सम्मान करना। इसमें उनकी अपेक्षाओं और मंशा का सम्मान करना भी शामिल है, जब वे X पर साझा की गई अपनी सामग्री को हटाते, बदलते या संपादित करते हैं। हमारा मानना है कि यह दुनिया के सबसे बड़े सार्वजनिक, रीयल-टाइम सूचना प्लेटफ़ॉर्मों में से एक के दीर्घकालिक स्वास्थ्य के लिए अत्यंत महत्वपूर्ण है। X अपने उपयोगकर्ताओं को नियंत्रण देता है, जिससे व्यक्तियों को अपने X अनुभव को नियंत्रित करने की क्षमता मिलती है। हमारा मानना है कि X डेटा प्राप्त करने वाले व्यावसायिक उपभोक्ताओं की यह ज़िम्मेदारी है कि वे अंतिम उपयोगकर्ताओं की अपेक्षाओं और मंशा का सम्मान करें।
X प्लेटफ़ॉर्म पर संभव अनुपालन संबंधी घटनाओं के प्रकारों के बारे में अधिक जानकारी के लिए, हमारा लेख X पर उपयोगकर्ता की मंशा का सम्मान करना देखें।
API के माध्यम से X डेटा का उपयोग करने वाले किसी भी डेवलपर या कंपनी पर यह दायित्व होता है कि वह उपयोगकर्ता सामग्री में होने वाले बदलावों का सम्मान करने के लिए सभी उचित प्रयास करे। यह दायित्व उपयोगकर्ता घटनाओं, जैसे हटाना, संशोधन, और शेयरिंग विकल्पों में बदलाव (उदाहरण के लिए, सामग्री का संरक्षित या रोकी गई हो जाना) तक विस्तृत होता है। इसमें वे स्थितियाँ भी शामिल हैं जब उपयोगकर्ता अपने पोस्ट्स को संपादित करते हैं। कृपया Developer Policy और/या अपने X Data Agreement में दी गई विशिष्ट भाषा देखें, ताकि आप समझ सकें कि यह दायित्व आपके X डेटा के उपयोग को कैसे प्रभावित करता है।
X निम्नलिखित समाधान प्रदान करता है, जो इन उपयोगकर्ता अनुपालन संबंधी घटनाओं के बारे में जानकारी देते हैं और यह बताते हैं कि कोई विशिष्ट पोस्ट या उपयोगकर्ता सार्वजनिक रूप से उपलब्ध है या नहीं। समाधानों का संक्षिप्त अवलोकन और उनके सामान्य इंटीग्रेशन पैटर्न नीचे दिए गए हैं:
GET statuses/lookup और GET users/lookup
- प्रारूप: REST API’s देखें: GET statuses/lookup और GET users/lookup.
- ये endpoint हमेशा किसी भी पोस्ट संपादन का नवीनतम संस्करण लौटाते हैं। संपादन सुविधा शुरू होने के बाद बनाई गई पोस्ट्स का वर्णन करने वाले सभी Post objects में पोस्ट संपादन metadata शामिल होगा। यह उन पोस्ट्स पर भी लागू होता है जिन्हें संपादित नहीं किया गया था।
- सभी पोस्ट्स के लिए, उनके बनाए जाने के 30 मिनट से अधिक समय बाद की गई requests सभी पोस्ट्स की अंतिम स्थिति दर्शाएँगी।
- API request के हिस्से के रूप में caller द्वारा परिभाषित विशिष्ट पोस्ट्स या उपयोगकर्ताओं के लिए उपलब्धता संबंधी जानकारी प्रदान करते हैं।
- पोस्ट्स / उपयोगकर्ताओं के किसी विशिष्ट समूह की वर्तमान उपलब्धता स्थिति की ad-hoc spot-checking के लिए इनका उपयोग किया जा सकता है।
- उन ग्राहकों के लिए आदर्श, जिन्हें किसी निश्चित समय पर किसी विशेष पोस्ट या उपयोगकर्ता की वर्तमान स्थिति जांचने का तरीका चाहिए।
-
ये API’s एक उपयोगी तंत्र प्रदान करते हैं, जिसका उपयोग वे ग्राहक कर सकते हैं जिन्हें किसी सामग्री की उपलब्धता जांचनी हो, उदाहरण के लिए जब:
- पोस्ट्स प्रदर्शित करना
- किसी पोस्ट या उपयोगकर्ता के साथ 1:1 तरीके से इंटरैक्ट करना
- अनुमत file download के माध्यम से X सामग्री को किसी 3rd party तक वितरित करना
- पोस्ट्स को लंबे समय तक संग्रहीत करना
Compliance Firehose (केवल एंटरप्राइज़)
- फ़ॉर्मैट: Streaming API देखें: Compliance Firehose.
- X पर Compliance activities की रियल-टाइम स्ट्रीम प्रदान करता है। इन गतिविधियों में पोस्ट्स के संपादित किए जाने की घटनाएँ भी शामिल हैं।
- प्लेटफ़ॉर्म पर नए अनुपालन इवेंट होने पर, संग्रहीत डेटा के किसी सेट में अनुपालन स्थिति बनाए रखने के लिए इसका उपयोग किया जा सकता है।
- उन ग्राहकों के लिए आदर्श है जो लंबे समय तक X डेटा की बड़ी मात्रा प्राप्त और संग्रहीत करते हैं।
गाइड
अनुपालन के लिए सर्वोत्तम प्रथाएँ
सिफारिशें और सर्वोत्तम प्रथाएँ
- ऐसी डेटा स्टोरेज स्कीमाएँ बनाएँ जो संख्यात्मक पोस्ट ID और उपयोगकर्ता ID संग्रहीत करें: उपयोगकर्ता संदेशों के लिए उस उपयोगकर्ता की सभी पोस्ट्स पर कार्रवाई करना आवश्यक होता है। इसलिए, चूँकि सभी अनुपालन संदेश केवल संख्यात्मक ID के माध्यम से ही भेजे जाते हैं, ऐसी स्टोरेज स्कीमाएँ डिज़ाइन करना महत्वपूर्ण है जो संख्यात्मक ID के आधार पर पोस्ट और उपयोगकर्ता के बीच संबंध बनाए रखें। डेटा उपभोक्ताओं को पोस्ट ID और उपयोगकर्ता ID, दोनों के आधार पर अनुपालन इवेंट्स की निगरानी करनी होगी और स्थानीय डेटा स्टोर को उपयुक्त रूप से अपडेट करने में सक्षम होना होगा।
-
ऐसी स्कीमाएँ बनाएँ जो सभी अनुपालन स्थितियों को कवर करें: विभिन्न ऐप्लिकेशनों में अनुपालन गतिविधियों को कैसे संभाला जाएगा, इसके आधार पर डेटा स्टोर में अन्य मेटाडेटा जोड़ना आवश्यक हो सकता है। उदाहरण के लिए, डेटा उपभोक्ता
status\_withheldसंदेश से प्रभावित देशों में सामग्री के प्रदर्शन को सीमित करने में सुविधा के लिए किसी मौजूदा डेटाबेस में मेटाडेटा जोड़ने का निर्णय ले सकते हैं। - Retweet डिलीट को संभालना: Retweets, पोस्ट का एक विशेष प्रकार हैं, जिसमें मूल संदेश Retweet के भीतर एक ऑब्जेक्ट में नेस्टेड होता है। इस स्थिति में, एक Retweet में दो पोस्ट IDs का संदर्भ होता है – एक Retweet की ID, और दूसरी मूल संदेश की ID (जो नेस्टेड ऑब्जेक्ट में शामिल होती है)। जब कोई मूल संदेश हटाया जाता है, तो मूल ID के लिए एक पोस्ट delete संदेश जारी किया जाता है। पोस्ट deletion इवेंट्स आम तौर पर सभी Retweets के लिए delete इवेंट्स ट्रिगर करते हैं। हालांकि, कुछ मामलों में सभी नहीं भेजे जाते, इसलिए client systems को अपूर्ण Retweet deletions को सहन करने में सक्षम होना चाहिए। मूल ID का deletion, उसके बाद आने वाले सभी Retweets को हटाने के लिए पर्याप्त होना चाहिए। Retweets को संग्रहीत करते समय मूल पोस्ट ID का संदर्भ रखना, और पोस्ट delete इवेंट्स प्राप्त होने पर सभी संदर्भित Retweets को हटा देना, एक सर्वोत्तम प्रथा है।
अनुपालन डेटा ऑब्जेक्ट्स
Compliance Firehose API
- उपयोगकर्ता statuses के बारे में अधिक यहाँ पढ़ें, और deleted पोस्ट्स से संबंधित हमारी developer policy यहाँ देखें।
- Compliance Firehose को ‘tweet_edit’ इवेंट प्रदान करने के लिए अपडेट किया गया है।
- कई उपयोगकर्ता delete, protect और suspend इवेंट आवश्यक रूप से स्थायी नहीं होते और वे अवस्थाओं के बीच अनंत बार टॉगल हो सकते हैं। इनमें शामिल हैं: user_delete, user_undelete, user_protect, user_unprotect, user_suspend, user_unsuspend।
- user_deletes के 30 दिन बाद status_deletes केवल तभी आते हैं, जब उपयोगकर्ता ने अपने खाते को user_undelete चुनकर पुनर्स्थापित न किया हो। यह संभव है कि user_delete को उपयोगकर्ता बाद में उलट दे, और 30 दिन बाद उनकी सभी पोस्ट्स के लिए deletes न हों।
- user_suspend एक ऐसी कार्रवाई है जो तब तक प्रभावी रहती है, जब तक उपयोगकर्ता पर user_unsuspend इवेंट लागू न हो। ये 30 दिनों की समयावधि के किसी बदलाव के अधीन नहीं होते।
पेलोड के उदाहरण
पोस्ट हटाया जाना
पोस्ट रोकी गई
ड्रॉप
Undrop
भौगोलिक जानकारी हटाना
उपयोगकर्ता विलोपन
उपयोगकर्ता पुनर्बहाली
उपयोगकर्ता की जानकारी रोकी गई
उपयोगकर्ता को सुरक्षित करना
उपयोगकर्ता की सुरक्षा हटाना
उपयोगकर्ता को निलंबित करें
उपयोगकर्ता का निलंबन समाप्त करना
Compliance Firehose को एकीकृत करना
Compliance Firehose के साथ एकीकरण
- Compliance Firehose के प्रत्येक स्ट्रीमिंग API पार्टिशन के साथ एक स्ट्रीमिंग कनेक्शन स्थापित करे
- अधिक डेटा वॉल्यूम को संभाले – असिंक्रोनस प्रक्रियाओं का उपयोग करके स्ट्रीम इनजेशन को अतिरिक्त प्रोसेसिंग से अलग रखे
- किसी भी कारण से डिस्कनेक्ट होने पर स्ट्रीम पार्टिशनों से अपने-आप फिर से कनेक्ट हो
- ऊपर दिए गए मार्गदर्शन के अनुसार, आपके द्वारा संग्रहीत पोस्ट और उपयोगकर्ता डेटा से संबंधित अनुपालन इवेंट्स को प्रोसेस करे
Twitter पर उपयोगकर्ता की मंशा का सम्मान करना
उपयोगकर्ता
स्टेटस
उपयोगकर्ता और स्टेटस में होने वाले बदलावों पर नज़र रखना
API संदर्भ
GET compliance/firehose
मेथड्स
प्रमाणीकरण
GET /compliance/:stream
उदाहरण cURL अनुरोध
निम्नलिखित उदाहरण अनुरोध कमांड लाइन पर cURL का उपयोग करके किया जाता है:
partition=1 से कनेक्ट होता है - इस स्ट्रीम का पूरा डेटा प्राप्त करने के लिए आपको सभी 8 partitions से कनेक्ट करना होगा।
रिस्पॉन्स कोड
अन्य अनुशंसाएँ & सर्वोत्तम प्रथाएँ
- ऐसी डेटा स्टोरेज स्कीमाएँ बनाएँ जो संख्यात्मक Tweet ID और User ID संग्रहीत करें: उपयोगकर्ता संदेशों के लिए उस उपयोगकर्ता के सभी Tweets पर कार्रवाई करना आवश्यक होता है। इसलिए, चूँकि सभी compliance संदेश केवल संख्यात्मक ID के आधार पर ही भेजे जाते हैं, ऐसी स्टोरेज स्कीमाएँ डिज़ाइन करना महत्वपूर्ण है जो संख्यात्मक ID के आधार पर Tweet और User के बीच संबंध बनाए रखें। डेटा उपभोक्ताओं को Tweet ID और User ID, दोनों के आधार पर compliance events की निगरानी करनी होगी और स्थानीय डेटा स्टोर को उपयुक्त रूप से अपडेट करने में सक्षम होना होगा।
-
ऐसी स्कीमाएँ बनाएँ जो सभी compliance statuses को कवर करें: विभिन्न अनुप्रयोगों में compliance गतिविधियों को कैसे संभाला जाएगा, इसके आधार पर डेटा स्टोर में अन्य metadata जोड़ना आवश्यक हो सकता है। उदाहरण के लिए, डेटा उपभोक्ता
status_withheldसंदेश से प्रभावित देशों में सामग्री के प्रदर्शन को प्रतिबंधित करने की सुविधा के लिए किसी मौजूदा डेटाबेस में metadata जोड़ने का निर्णय ले सकते हैं। - Retweet deletes को संभालना: Retweets, Tweet का एक विशेष प्रकार हैं, जिसमें मूल संदेश Retweet के भीतर एक nested object में होता है। इस स्थिति में, एक Retweet में दो Tweet IDs संदर्भित होती हैं — एक Retweet की ID और दूसरी मूल संदेश की ID (जो nested object में शामिल होती है)। जब किसी मूल संदेश को हटाया जाता है, तो मूल ID के लिए एक Tweet delete message जारी किया जाता है। इसके बाद सभी Retweets के लिए अलग-अलग delete messages जारी नहीं किए जाते। मूल ID को हटाना, उसके बाद के सभी Retweets को हटाने के लिए पर्याप्त होना चाहिए।