इस endpoint को पोस्ट edit metadata शामिल करने के लिए अपडेट किया गया है। इस metadata के बारे में अधिक जानने के लिए “पोस्ट्स संपादित करें” के मूलभूत सिद्धांत पेज देखें। इस endpoint का उपयोग अक्सर Direct Messages endpoints के साथ किया जाता है। हमने नए v2 Direct Messages endpoints लॉन्च किए हैं। ध्यान दें कि Enterprise और Premium Account Activity APIs, v2 one-to-one messages का समर्थन करते हैं, लेकिन अभी तक group conversations का समर्थन नहीं करते हैं।
Enterprise
Account Activity API आपको webhooks के ज़रिए किसी उपयोगकर्ता खाते से संबंधित realtime गतिविधियों की सदस्यता लेने की सुविधा देता है। इसका अर्थ है कि आप एक ही कनेक्शन के माध्यम से अपने एक या अधिक स्वामित्व वाले या subscribed खातों से realtime पोस्ट्स, Direct Messages और अन्य खाता events प्राप्त कर सकते हैं।
आपको अपने webhook registration पर प्रत्येक उपयोगकर्ता subscription के लिए नीचे दी गई सभी संबंधित गतिविधियां प्राप्त होंगी:
कृपया ध्यान दें - हम Account Activity API के माध्यम से home timeline data उपलब्ध नहीं कराते हैं। इस डेटा को प्राप्त करने के लिए कृपया GET statuses/home_timeline का उपयोग करें।
वीडियो श्रृंखला
सुविधा सारांश
-
कोई प्रश्न हैं? त्रुटियाँ आ रही हैं?
- हमारे अक्सर पूछे जाने वाले प्रश्न या त्रुटि समस्या-निवारण मार्गदर्शिका पढ़ें.
-
हमारा सैंपल कोड देखें:
- Enterprise Account Activity API डैशबोर्ड, एक Node वेब ऐप जो Account Activity API के Enterprise स्तर का उपयोग करके वेबहुक इवेंट दिखाता है और इसमें Replay की कार्यक्षमता भी शामिल है।
- SnowBot chatbot, Enterprise Account Activity और Direct Message APIs पर बना एक Ruby वेब ऐप।
वेबहुक और सब्स्क्राइब किए गए उपयोगकर्ताओं को प्रबंधित करें
- एक पंजीकृत X ऐप - यहाँ रजिस्टर करें
- एक बेयरर टोकन - और जानें
- ऐसा वेबहुक जो Challenge-Response Check (CRC) पास करता हो - और जानें
- एक Enterprise खाता - [यहाँ आवेदन करें]https://developer.x.com/en/products/x-api/enterprise
वेबहुक का प्रबंधन:
- वेबहुक जोड़ना
- वेबहुक देखना
- वेबहुक हटाना
आइए, दिए गए ऐप संदर्भ के लिए एक नया वेबहुक URL पंजीकृत करके शुरू करें।सहेजने से पहले URL को CRC अनुरोध के माध्यम से सत्यापित किया जाएगा। वेबहुक पंजीकृत करने के बाद, उसकी ID नोट कर लें, क्योंकि बाद में इसकी आवश्यकता होगी।निम्नलिखित में बदलाव करने के बाद, नीचे दिया गया cURL अनुरोध अपनी कमांड लाइन में कॉपी करें:
-
URL
<URL>उदा.https://yourdomain.com/webhooks/twitter/ -
Consumer key
<CONSUMER_KEY>उदा.xvz1evFS4wEEPTGEFPHBog -
Access token
<ACCESS_TOKEN>उदा.370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb
सब्सक्राइब किए गए उपयोगकर्ताओं का प्रबंधन:
- सदस्यता जोड़ना
- सदस्यताएँ देखना
- सदस्यता हटाना
हम शुरुआत किसी उपयोगकर्ता को सब्सक्राइब करने से करेंगे, ताकि आपको सभी इवेंट प्रकार प्राप्त हों।निम्नलिखित मानों में बदलाव करने के बाद, नीचे दिए गए cURL अनुरोध को अपनी कमांड लाइन में कॉपी करें:
-
Webhook ID
<:WEBHOOK_ID>उदा.1234567890 -
Consumer key name
<CONSUMER_KEY>उदा.xvz1evFS4wEEPTGEFPHBog -
सब्सक्राइब करने वाले उपयोगकर्ता का access token
<SUBSCRIBING_USER'S_ACCESS_TOKEN>उदा.370773112-GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEb
संदर्भित लेख
- Challenge-Response Check (CRC) का अवलोकन
- [Account Activity डेटा types](/x-api/enterprise-gnip-2.0/fundamentals/account-activity#account-activity-data-object-structure
- वेबहुक और Subscriptions को प्रबंधित करना
Account Activity API का वीडियो वॉकथ्रू
- वेबहुक पंजीकृत करना
- user subscription जोड़ना
- user subscription हटाना
- account activities प्राप्त करना
- account activities को replay करना
-
कोई सवाल हैं? त्रुटियाँ आ रही हैं?
- हमारे अक्सर पूछे जाने वाले सवाल या त्रुटि समस्या-निवारण मार्गदर्शिका पढ़ें.
-
हमारा नमूना कोड देखें:
- Enterprise Account Activity API dashboard, एक Node वेब ऐप जो Account Activity API के Enterprise tier का उपयोग करके webhook इवेंट दिखाता है और इसमें Replay की कार्यक्षमता भी शामिल है।
- SnowBot chatbot, एक Ruby वेब ऐप है, जिसे Enterprise Account Activity और Direct Message APIs पर बनाया गया है।
वेबहुक्स के साथ शुरुआत करना
1. एक X ऐप बनाएँ।
- स्वीकृत डेवलपर खाते के साथ डेवलपर कंसोल में एक X ऐप बनाएँ। अगर आप अपनी कंपनी की ओर से ऐप बना रहे हैं, तो सुझाव है कि आप इसे किसी कॉर्पोरेट X खाते से बनाएँ। डेवलपर खाते के लिए आवेदन करने हेतु, यहाँ क्लिक करें।
- अपने ऐप पेज के permissions टैब में “Read, Write and Access direct messages” सक्षम करें।
- “Keys and Access Tokens” टैब में अपने ऐप की Consumer Key (API Key) और Consumer Token (API Secret) नोट कर लें।
- इसी टैब में अपने ऐप के Access Token and Access Token Secret जनरेट करें। अपने webhook URL को रजिस्टर करने के लिए आपको इन Access Tokens की आवश्यकता होगी, जहाँ X अकाउंट इवेंट भेजेगा।
- अगर आप X Sign-in और X API के साथ user context के काम करने के तरीके से परिचित नहीं हैं, तो Obtaining Access Tokens देखें। जिन खातों के लिए आप इवेंट प्राप्त करना चाहते हैं, उन्हें जोड़ते समय आप उस खाते के access tokens का उपयोग करके उन्हें subscribe करेंगे।
- अपने ऐप की संख्यात्मक ID नोट कर लें, जैसा कि डेवलपर कंसोल के “Apps” पेज पर दिखाई देता है। Account Activity API access के लिए आवेदन करते समय, आपको इस app ID की आवश्यकता होगी।
2. Account Activity API एक्सेस प्राप्त करें
3. वेबहुक कंज़्यूमर ऐप विकसित करें
-
इवेंट प्राप्त करने के लिए अपने वेबहुक के रूप में इस्तेमाल करने हेतु URL वाला एक वेब ऐप बनाएं। यह आपके सर्वर पर डिप्लॉय किया गया endpoint है, जो आने वाले X वेबहुक इवेंट को सुनता है।
- URI path पूरी तरह आपकी पसंद पर निर्भर करता है। उदाहरण के लिए, यह मान्य होगा: https://mydomain.com_/service/listen_
- अगर आप कई स्रोतों से आने वाले वेबहुक सुन रहे हैं, तो एक सामान्य पैटर्न यह है: https://mydomain.com/webhook/twitter
- ध्यान दें कि दिए गए URL में port specification शामिल नहीं हो सकती (https://mydomain.com:5000/NoWorkie).
- जैसा कि हमारी Securing Webhooks गाइड में बताया गया है, पहला कदम ऐसा कोड लिखना है जो X Challenge Response Check (CRC) GET अनुरोध प्राप्त करे और सही फ़ॉर्मैट में JSON रिस्पॉन्स लौटाए।
- अपना वेबहुक URL रजिस्टर करें। आप /webhooks.json?url= endpoint पर एक POST अनुरोध करेंगे। जब आप यह अनुरोध करेंगे, तो X आपके वेब ऐप को एक CRC अनुरोध भेजेगा। जब कोई वेबहुक सफलतापूर्वक रजिस्टर हो जाता है, तो रिस्पॉन्स में एक वेबहुक id शामिल होगा। बाद में Account Activity API के कुछ अनुरोध करते समय इस वेबहुक id की आवश्यकता पड़ेगी।
- X आपके द्वारा रजिस्टर किए गए URL पर account वेबहुक इवेंट भेजेगा। सुनिश्चित करें कि आपका वेब ऐप आने वाले इवेंट के लिए POST अनुरोधों को सपोर्ट करता है। ये इवेंट JSON में एन्कोड किए जाएंगे। उदाहरण वेबहुक JSON payloads के लिए HERE देखें।
- आपका वेब ऐप तैयार हो जाने के बाद, अगला कदम उन accounts को जोड़ना है जिनके लिए गतिविधियां प्राप्त करनी हैं। accounts जोड़ते समय (या हटाते समय) आप account id का संदर्भ देते हुए POST अनुरोध करेंगे। अधिक जानकारी के लिए हमारी guide on adding subscriptions देखें।
4. सेटअप सत्यापित करें
- यह सत्यापित करने के लिए कि आपका ऐप और वेबहुक सही तरीके से कॉन्फ़िगर किए गए हैं, उन X खातों में से किसी एक द्वारा किए गए किसी पोस्ट को पसंद करें जिनकी सदस्यता आपके ऐप ने ली है। आपके सब्सक्राइबर को मिलने वाले प्रत्येक Favorite के लिए आपको अपने वेबहुक URL पर POST अनुरोध के माध्यम से एक
favorite_eventsमिलना चाहिए। - ध्यान दें कि सदस्यता जोड़े जाने के बाद इवेंट डिलीवर होना शुरू होने में 10 सेकंड तक लग सकते हैं।
- अपना वेबहुक URL रजिस्टर करते समय, आपके वेब ऐप को अपने consumer token और secret साथ ही ऐप के मालिक के user access token और secret के साथ प्रमाणित होना चाहिए।
- सभी आने वाले Direct Messages वेबहुक के माध्यम से डिलीवर किए जाएंगे। POST direct_messages/events/new (message_create) के माध्यम से भेजे गए सभी Direct Messages भी वेबहुक के माध्यम से डिलीवर किए जाएंगे। ऐसा इसलिए है ताकि आपका वेब ऐप किसी दूसरे client के माध्यम से भेजे गए Direct Messages से अवगत रह सके।
- ध्यान दें कि हर वेबहुक इवेंट में एक for_user_id user ID शामिल होती है, जो यह बताती है कि इवेंट किस सदस्यता के लिए डिलीवर किया गया था।
- यदि एक ही बातचीत में दो उपयोगकर्ता Direct Messages के लिए आपके वेब ऐप का उपयोग कर रहे हैं, तो आपके वेबहुक को दो डुप्लिकेट इवेंट प्राप्त होंगे (प्रत्येक उपयोगकर्ता के लिए एक)। आपके वेब ऐप को इसे ध्यान में रखना चाहिए।
- यदि एक से अधिक वेब ऐप एक ही वेबहुक URL साझा कर रहे हैं और प्रत्येक ऐप से वही उपयोगकर्ता मैप किया गया है, तो वही इवेंट आपके वेबहुक को कई बार भेजा जाएगा (प्रत्येक वेब ऐप के लिए एक बार)।
- कुछ मामलों में, आपके वेबहुक को डुप्लिकेट इवेंट मिल सकते हैं। आपके वेबहुक ऐप को इसके प्रति सहनशील होना चाहिए और इवेंट ID के आधार पर डुप्लिकेट हटाने चाहिए।
- यह अपेक्षा न करें कि Quick Reply का रिस्पॉन्स किसी अनुरोध के तुरंत बाद आएगा। उपयोगकर्ता Quick Reply अनुरोध को अनदेखा कर सकता है और पारंपरिक Direct Message के माध्यम से जवाब दे सकता है। उपयोगकर्ता संदेश थ्रेड में किसी ऐसे अनुरोध के लिए भी Quick Reply रिस्पॉन्स दे सकता है, जिसका उसने पहले उत्तर नहीं दिया हो。
-
उदाहरण कोड देखें:
- Enterprise Account Activity API डैशबोर्ड, एक node वेब ऐप जो Account Activity API के enterprise tier का उपयोग करके वेबहुक इवेंट दिखाता है और इसमें Replay कार्यक्षमता भी शामिल है।
- SnowBot chatbot, एक Ruby वेब ऐप जो Account Activity और Direct Message APIs पर बनाया गया है। इस code base में Account Activity API वेबहुक सेट अप करने में मदद के लिए एक script शामिल है।
वेबहुक को सुरक्षित बनाना
- चैलेंज-रिस्पॉन्स जाँचें X को उस वेब ऐप के स्वामित्व की पुष्टि करने में सक्षम बनाती हैं, जो वेबहुक इवेंट प्राप्त कर रहा है।
- प्रत्येक POST अनुरोध में मौजूद सिग्नेचर हेडर आपको यह पुष्टि करने में सक्षम बनाता है कि आने वाले वेबहुक का स्रोत X ही है।
Challenge-Response Checks
crc_token पैरामीटर के साथ एक GET अनुरोध भेजेगा। यह अनुरोध प्राप्त होने पर, आपके web app को crc_token पैरामीटर और आपके ऐप के Consumer Secret (विवरण नीचे) के आधार पर एक एन्क्रिप्टेड response_token बनाना होगा। response_token को JSON में एन्कोड किया जाना चाहिए (नीचे उदाहरण देखें) और तीन सेकंड के भीतर लौटाया जाना चाहिए। सफल होने पर, एक वेबहुक id लौटाया जाएगा।
जब आप अपना वेबहुक URL पंजीकृत करते हैं, तब एक CRC भेजा जाएगा, इसलिए अपने CRC रिस्पॉन्स कोड को लागू करना एक बुनियादी पहला कदम है। एक बार आपका वेबहुक स्थापित हो जाने पर, X हमारे द्वारा अंतिम सफल रिस्पॉन्स प्राप्त करने के समय से लगभग हर 24 घंटे में CRC ट्रिगर करेगा। आवश्यकता पड़ने पर आपका ऐप अपने वेबहुक id के साथ PUT अनुरोध भेजकर भी CRC ट्रिगर कर सकता है। CRC ट्रिगर करना आपके वेबहुक application को विकसित करते समय, नया कोड परिनियोजित करने के बाद, और अपनी सेवा को पुनः आरंभ करने के बाद उपयोगी होता है।
आने वाले हर CRC अनुरोध के लिए crc_token के बदलने की अपेक्षा की जानी चाहिए, और गणना में इसे संदेश के रूप में इस्तेमाल किया जाना चाहिए, जहाँ आपका Consumer Secret कुंजी होता है।
यदि रिस्पॉन्स 3 सेकंड के भीतर पोस्ट नहीं किया जाता है या अमान्य हो जाता है, तो पंजीकृत वेबहुक पर ईवेंट भेजे जाना बंद हो जाएगा।
CRC अनुरोध इन स्थितियों में होगा:
- जब कोई वेबहुक URL पंजीकृत किया जाता है।
- आपके वेबहुक URL को सत्यापित करने के लिए लगभग हर घंटे।
- आप PUT अनुरोध करके CRC को मैन्युअल रूप से ट्रिगर कर सकते हैं। जैसे-जैसे आप अपना वेबहुक क्लाइंट विकसित करते हैं, वैसे-वैसे CRC रिस्पॉन्स विकसित करते समय CRC को मैन्युअल रूप से ट्रिगर करने की योजना बनानी चाहिए।
रिस्पॉन्स आवश्यकताएँ:
crc_tokenऔर आपके ऐप के Consumer Secret से बनाया गया base64-एन्कोडेड HMAC SHA-256 हैश- मान्य response_token और JSON फ़ॉर्मैट।
- 3 सेकंड से कम विलंबता।
- 200 HTTP रिस्पॉन्स कोड।
भाषा के अनुसार HMAC लाइब्रेरी:
Python में उदाहरण रिस्पॉन्स टोकन जनरेशन:
उदाहरण JSON रिस्पॉन्स:
अन्य उदाहरण:
- यहाँ Node/JS में लिखी गई CRC रिस्पॉन्स मेथड का एक उदाहरण है।
- यहाँ Ruby में लिखी गई CRC रिस्पॉन्स मेथड का एक उदाहरण है (generate_crc_response और CRC ईवेंट प्राप्त करने वाला /GET रूट देखें)।
वैकल्पिक सिग्नेचर हेडर सत्यापन
- अपने consumer secret और आने वाली payload body का उपयोग करके एक hash बनाएं।
- बनाए गए hash की तुलना base64-encoded x-twitter-webhooks-signature मान से करें। timing attack के जोखिम को कम करने के लिए compare_digest जैसी विधि का उपयोग करें।
अतिरिक्त सुरक्षा दिशानिर्देश
X समेकित नेटवर्क ब्लॉक
- 199.59.148.0/22
- 199.16.156.0/22
- 192.133.77.0/26
- 64.63.15.0/24
- 64.63.31.0/24
- 64.63.47.0/24
- 202.160.128.0/24
- 202.160.129.0/24
- 202.160.130.0/24
अनुशंसित सर्वर कॉन्फ़िगरेशन
- ssllabs.com परीक्षण में “A” रेटिंग
- TLS 1.2 सक्षम करें
- Forward Secrecy सक्षम करें
- SSLv2 बंद करें
- SSLv3 बंद करें (POODLE के कारण)
- TLS 1.0 बंद करें
- TLS 1.1 बंद करें
- TLS Compression बंद करें
- Session Tickets बंद करें, जब तक कि आप session ticket keys को रोटेट नहीं करते।
- SSL Configuration में “ssl_prefer_server_ciphers” या “SSLHonorCipherOrder” विकल्प को “on” पर सेट करें।
- सुनिश्चित करें कि ciphers की सूची आधुनिक हो, जैसे:
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES128-SHA256:AES128-SHA:AES256-GCM-SHA384:AES256-SHA256:AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:DES-CBC3-SHA
webhook और सदस्यताओं का प्रबंधन
Webhook बनाना और बदलना
Webhook कॉन्फ़िगरेशन प्रबंधन एंडपॉइंट:
मैं webhook URL को सीधे अपडेट क्यों नहीं कर सकता?
User सदस्यताएँ जोड़ना और हटाना
सदस्यता प्रबंधन एंडपॉइंट्स
Account Activity API: एंटरप्राइज़
कृपया ध्यान दें: API का उपयोग शुरू करने से पहले, X को आपके डेवलपर ऐप के लिए Account Activity API की पहुँच सक्षम करनी होगी। इसके लिए, यह सुनिश्चित करें कि आप प्रमाणीकरण के लिए जिस ऐप ID का उपयोग करना चाहते हैं, उसे अपने अकाउंट मैनेजर या तकनीकी सहायता टीम के साथ साझा करें।
*_ प्रमाणीकरण के लिए सब्सक्राइब करने वाले उपयोगकर्ता के access tokens आवश्यक हैं। _
जिन एंडपॉइंट्स के लिए OAuth 1.0a उपयोगकर्ता-संदर्भ प्रमाणीकरण आवश्यक है, उनमें अनुरोध को प्रमाणित करने के लिए आपको निम्नलिखित क्रेडेंशियल देने होंगे:
- Consumer Keys (API Key और Secret)
- Access Tokens (Access Token और Secret)
- POST account_activity/webhooks: दिए गए application context के लिए नया webhook URL रजिस्टर करें
- PUT account_activity/webhooks/:webhook_id: दिए गए webhook URL के लिए challenge response check (CRC) ट्रिगर करें
- DELETE account_activity/webhooks/:webhook_id: webhook हटाएँ
- POST account_activity/webhooks/:webhook_id/subscriptions/all: application को किसी उपयोगकर्ता के account events के लिए subscribe करें
- GET account_activity/webhooks/:webhook_id/subscriptions/all: जाँचें कि कोई webhook configuration किसी उपयोगकर्ता के events के लिए subscribed है या नहीं
- DELETE account_activity/webhooks/:webhook_id/subscriptions/all: दिए गए उपयोगकर्ता context और application के लिए subscription निष्क्रिय करें [DEPRECATED]
कृपया ध्यान दें: सुनिश्चित करें कि आपका developer App “Read, Write, and Direct Messages” के लिए enabled हो। आप इस setting को अपने डेवलपर खाते के Projects & Apps section में, चुने गए developer App के “App permissions” के अंतर्गत बदल सकते हैं। permissions settings बदलने के बाद आपको अपने App credentials फिर से generate करने होंगे।
कृपया ध्यान दें: API का उपयोग शुरू करने से पहले X को आपके developer App के लिए Account Activity API access enable करना होगा। इसके लिए, authentication के उद्देश्य से जिस App ID का आप उपयोग करना चाहते हैं, उसे अपने account manager या technical support team के साथ साझा करना सुनिश्चित करें।
*_ प्रमाणीकरण के लिए सब्सक्राइब करने वाले उपयोगकर्ता के access token आवश्यक हैं। _
उन एंडपॉइंट्स के लिए जिनमें OAuth 1.0a उपयोगकर्ता-संदर्भ प्रमाणीकरण आवश्यक है, आपको रिक्वेस्ट को प्रमाणित करने के लिए ये क्रेडेंशियल्स देने होंगे:
- Consumer Keys (API Key और Secret)
- Access Tokens (Access Token और Secret)
- POST account_activity/webhooks: दिए गए application context के लिए एक नया webhook URL रजिस्टर करें
- PUT account_activity/webhooks/:webhook_id: दिए गए webhook URL के लिए challenge-response check (CRC) ट्रिगर करें
- DELETE account_activity/webhooks/:webhook_id: एक webhook हटाएँ
- POST account_activity/webhooks/:webhook_id/subscriptions/all: application को किसी उपयोगकर्ता के account events के लिए subscribe करें
- GET account_activity/webhooks/:webhook_id/subscriptions/all: जाँचें कि कोई webhook configuration किसी उपयोगकर्ता के events के लिए subscribed है या नहीं
- DELETE account_activity/webhooks/:webhook_id/subscriptions/all: दिए गए उपयोगकर्ता context और application के लिए subscription निष्क्रिय करें [DEPRECATED]
कृपया ध्यान दें: सुनिश्चित करें कि आपका डेवलपर ऐप “Read, Write, and Direct Messages” के लिए enabled है। आप इस setting को अपने डेवलपर खाते के Projects & Apps section में, चुने गए डेवलपर ऐप के “App permissions” के अंतर्गत बदल सकते हैं। permissions setting बदलने के बाद आपको अपने ऐप credentials फिर से generate करने होंगे।
पुनः प्रयास
Enterprise
Account Activity API के enterprise tier का एक लाभ webhook इवेंट के लिए पुनः प्रयास तंत्र है। यदि ‘success’ 200 HTTP रिस्पॉन्स कोड प्राप्त नहीं होता, तो X सर्वर पुनः प्रयास तंत्र शुरू करता है और webhook इवेंट को पाँच मिनट की अवधि में अधिकतम तीन बार फिर से भेजता है। यह webhook इवेंट पुनः प्रयास सेवा नेटवर्क समस्याएँ होने पर, तथा client-side सेवा रुकावटों और डिप्लॉयमेंट के दौरान, विश्वसनीयता और इवेंट रिकवरी प्रदान करने में मदद करती है।
पुनः प्रयास क्या हैं?
पुनः प्रयास समयरेखा
पुनः प्रयास समयरेखा
Account Activity डेटा ऑब्जेक्ट की संरचना
उपलब्ध गतिविधियाँ
Payload उदाहरण
ऊपर दी गई तालिका में वर्णित प्रत्येक Account Activity इवेंट के लिए नीचे payload उदाहरण देखें।
tweet_create_events (पोस्ट्स, रीट्वीट्स, रिप्लाई, कोट ट्वीट्स)
tweet_create_events (@मेंशन)
favorite_events
follow_events
unfollow_events
block_events
unblock_events
mute_events
unmute_events
user_event
direct_message_events
direct_message_indicate_typing_events
direct_message_mark_read_events
tweet_delete_events
Account Activity Replay API
Enterprise
Account Activity Replay API एक डेटा रिकवरी टूल है, जो आपको पिछले पाँच दिनों तक की घटनाएँ पुनर्प्राप्त करने की सुविधा देता है। इसका उपयोग उन स्थितियों में डेटा रिकवर करने के लिए किया जाना चाहिए, जहाँ आपका वेबहुक सर्वर घटनाएँ मिस कर देता है — चाहे इसका कारण retry window से अधिक समय तक रहने वाला डिस्कनेक्शन हो, या ऐसी डिज़ास्टर रिकवरी स्थितियाँ हों जिनमें आपके सिस्टम को फिर से सामान्य स्थिति में लाने के लिए कुछ दिनों की आवश्यकता पड़े।
Account Activity Replay API को उन सभी स्थितियों के लिए विकसित किया गया है, जहाँ आप कुछ समय तक गतिविधियाँ इनजेस्ट नहीं कर पाते। यह गतिविधियों को उसी वेबहुक पर डिलीवर करता है, जिसका उपयोग उनकी मूल रीयल-टाइम डिलीवरी के लिए किया गया था। यह प्रोडक्ट एक रिकवरी टूल है, बैकफिल टूल नहीं; इसका मतलब है कि घटनाएँ केवल तभी फिर से चलाई जाएँगी, जब उन्हें पहले डिलीवर करने का प्रयास किया गया हो। Account Activity Replay API किसी सदस्यता के बनाए जाने के समय से पहले की अवधि की घटनाएँ डिलीवर नहीं कर सकता।
Account Activity Replay API का उपयोग
सीमाएँ
डेटा उपलब्धता और प्रकार
माइग्रेशन परिचय
- User Streams
- Site Streams
- GET direct_messages
- GET direct_messages/sent
- GET direct_messages/show
- POST direct_messages/new
- POST direct_messages/destroy
- Account Activity API enterprise और premium
- GET direct_messages/events/list
- GET direct_messages/events/show
- POST direct_messages/events/new
- POST direct_messages/events/destroy
- Account Activity API migration guide उनके लिए, जो User Streams और Site Streams से हमारी नई वेबहुक-आधारित सेवा पर जा रहे हैं
- Direct Message migration guide उनके लिए, जो Direct Message REST endpoints के बीच माइग्रेट कर रहे हैं
- Account Activity Dashboard एक नमूना Node.js web app है, जिसमें Account Activity API के साथ शुरुआत करने के लिए helper scripts शामिल हैं।
- SnowBot एक नमूना chatbot है, जो Account Activity API और REST Direct Message endpoints का उपयोग करता है। यह Ruby में लिखा गया है, Sinatra web app framework का उपयोग करता है, और Heroku पर deploy किया गया है।
माइग्रेशन गाइड: User Streams/Site Streams से Account Activity API पर माइग्रेट करना
परिवर्तनों का सारांश
अप्रचलित API
विकल्प API
अंतर और माइग्रेशन संबंधी विचार
नई सुविधाएँ
उपयोगकर्ता सदस्यताओं का प्रबंधन
माइग्रेशन कैसे करें
Site Streams API से Account Activity API पर आसानी से माइग्रेट करने के लिए नीचे दिए गए चरणों का पालन करें
- आवश्यक webhooks की संख्या
- आपके application पर प्रबंधित वर्तमान/अनुमानित subscriptions/अधिकृत उपयोगकर्ता
- X client applications की वर्तमान संख्या
- X से आप किस स्तर का support चाहते हैं (forum support या managed enterprise स्तर का 1:1 support)
- प्रत्येक पैकेज की कीमत
- अपने X ऐप पेज के permissions tab में “Read, Write and Access direct messages” सक्षम करें। *ध्यान दें कि इन settings में बदलाव पूर्वव्यापी नहीं होता; जो उपयोगकर्ता पहले से अधिकृत हैं, वे वही authorization settings बनाए रखेंगे जो उनके authorization के समय लागू थीं। यदि किसी उपयोगकर्ता ने आपको पहले से read, write और direct message access नहीं दिया है, तो आपको उस उपयोगकर्ता से अपना application फिर से authorize कराना होगा।
- यदि आप X Sign-in और X API के साथ user contexts के काम करने के तरीके से परिचित नहीं हैं, तो Access Tokens प्राप्त करना देखें।
- “Keys and Tokens” tab के सबसे नीचे X ऐप owner के लिए access tokens generate करें। इसी tab में अपना Consumer Key, Consumer Secret, Access Token और Access Token Secret नोट कर लें। API का उपयोग करने के लिए आपको इनकी आवश्यकता होगी।
- application-only API methods के लिए अपने Consumer Key और Consumer Secret का उपयोग करके एक बेयरर टोकन generate करें।
- events प्राप्त करने के लिए webhook के रूप में उपयोग करने हेतु endpoint वाला एक web app बनाएं (उदा. https://your_domain.com/webhook/twitter या https://webhooks.your_domain.com)।
- अपना webhook बनाते समय अपने Consumer Key, Consumer Secret, Access Token और Access Token Secret का उपयोग करें। ध्यान दें कि आपके endpoint को एक JSON रिस्पॉन्स लौटाना होगा, जिसमें response_token हो, जो crc_token और आपके ऐप Consumer Secret से बनाया गया base64-encoded HMAC SHA-256 hash हो।
- Securing Webhooks दस्तावेज़ देखें और Challenge Response Check (CRC) requirements पर विशेष ध्यान दें।
- सुनिश्चित करें कि आपका webhook incoming events के लिए POST requests और CRC के लिए GET requests support करता है।
- सुनिश्चित करें कि आपके webhook की latency कम हो (<3 seconds to respond to POST requests)
- Webhook APIs आपके webhooks को दो तरीकों से सुरक्षित करेंगी:
- यह सत्यापित करने के लिए कि web app और webhook URL, दोनों के owner आप ही हैं, X एक Challenge Response Check (CRC) करेगा, जिसे cyclic redundancy check के साथ भ्रमित नहीं करना चाहिए।
- crc_token नाम के parameter के साथ एक GET request आपके webhook URL पर भेजी जाएगी। आपके endpoint को एक JSON रिस्पॉन्स लौटाना होगा, जिसमें response_token हो, जो crc_token और आपके ऐप Consumer Secret से बनाया गया base64-encoded HMAC SHA-256 hash हो।
- प्रत्येक incoming CRC request के लिए crc_token बदलने की अपेक्षा की जानी चाहिए। गणना में crc_token को message के रूप में उपयोग किया जाना चाहिए, जहाँ आपका Consumer Secret key होता है।
- यदि रिस्पॉन्स अमान्य होता है, तो registered webhook पर events भेजना बंद कर दिया जाएगा।
- User Streams पर अपनी मौजूदा उपयोगकर्ता सदस्यताओं की सूची बनाएं
- इस अनुरोध का उपयोग करके अपनी नई Account Activity API सदस्यताएँ सेट अप करें: POST account_activity/all/:env_name/subscriptions
- इस अनुरोध का उपयोग करके अपनी Account Activity API सदस्यताओं की पुष्टि करें: _GET account_activity/all/:env_name/subscriptions/list _
- इस अनुरोध का उपयोग करके Site Streams पर अपनी मौजूदा सदस्यताओं की सूची बनाएं: GET /1.1/site/c/:stream_id/info.json
- इस अनुरोध का उपयोग करके अपनी नई Account Activity API सदस्यताएँ सेट अप करें: POST account_activity/all/:env_name/subscriptions
- इस अनुरोध का उपयोग करके अपनी Account Activity API सदस्यताओं की पुष्टि करें: _GET account_activity/all/:env_name/subscriptions/list _
- POST webhooks का उपयोग करके अपने ऐप के साथ अपना webhook URL पंजीकृत करें और एक webhook_id प्राप्त करें।
- लौटाए गए webhook_id का उपयोग करके POST webhooks/:webhook_id/subscriptions/all से उपयोगकर्ता सदस्यताएँ जोड़ें।
Account Activity डैशबोर्ड (नमूना Account Activity API ऐप)
- यहाँ से Account Activity Dashboard का नमूना ऐप डाउनलोड करें (यह Node.js का उपयोग करता है)
- ऐप को इंस्टॉल और लॉन्च करने के लिए README में दिए गए निर्देशों का पालन करें
- ऐप लॉन्च होने के बाद, आप UI का उपयोग करके अपना webhook आसानी से सेट अप कर सकते हैं और नई सदस्यता बना सकते हैं
उपलब्ध गतिविधियाँ
अप्रचलित स्ट्रीमिंग संदेश प्रकार
अप्रचलित इवेंट प्रकार
Direct Message माइग्रेशन मार्गदर्शिका
- बदलावों का सारांश
- नई सुविधाएँ
- Direct Messages भेजना
- Direct Messages प्राप्त करना
- Direct Messages हटाना
बदलावों का सारांश
यदि आप अभी भी नीचे दिए गए DM endpoint का उपयोग कर रहे हैं, तो आपको नए endpoint पर माइग्रेट करना होगा।नई सुविधाएँ
- मीडिया अटैचमेंट (image, GIF, और video) के लिए समर्थन।
- उपयोगकर्ताओं से पहले से तय विकल्पों की सूची के साथ structured replies प्राप्त करने की क्षमता।
- 30 दिनों तक पुराने Direct Messages तक पहुँच।
अंतर और माइग्रेशन संबंधी बातें
नए API endpoint अपने पुराने समकक्षों से बहुत अलग तरीके से काम करते हैं। सिर्फ endpoint URL अपडेट करने से आपके application में errors आएंगे। माइग्रेशन के लिए अपने application को अपडेट करते समय नीचे दी गई बातों पर ध्यान दें।नया Direct Message ऑब्जेक्ट
सारांश
- पूरी तरह नई Direct Message ऑब्जेक्ट संरचना।
- संक्षिप्त यूज़र ऑब्जेक्ट।
- नई जानकारी जोड़ी गई है (quick reply रिस्पॉन्स, अटैचमेंट्स आदि)।
Direct Messages भेजना
सारांश
- संदेश JSON POST बॉडी में परिभाषित किया जाता है
- Content-type हेडर को application/json पर सेट किया जाना चाहिए
- OAuth signature के जनरेशन में JSON बॉडी शामिल नहीं होती।
Direct Message प्राप्त करना
sender_id प्रॉपर्टी के आधार पर रिस्पॉन्स को post-process करना होगा।
अब पेजिनेशन Direct Message के ID के बजाय cursor मान पर आधारित है। हर रिस्पॉन्स के साथ एक cursor प्रॉपर्टी रिटर्न की जाती है। GET direct_messages/events/list पिछले 30 दिनों तक के संदेश रिटर्न करेगा, चाहे उन 30 दिनों में कितने भी संदेश मौजूद हों। जब cursor रिटर्न नहीं किया जाता है, तो इसका मतलब है कि रिटर्न करने के लिए कोई और संदेश नहीं हैं। GET direct_messages/events/show के साथ अलग-अलग Direct Message तक पहुंचने की विधि पहले जैसी ही रहती है, हालांकि रिटर्न किए गए Direct Message object की संरचना, जैसा पहले बताया गया है, अलग होती है।
अंत में, Direct Message तक रीयल-टाइम पहुंच अब Account Activity API के साथ webhook के माध्यम से प्राप्त की जाएगी। User Streams या Site Streams से migrate करने के मार्गदर्शन के लिए, अधिक जानकारी हेतु Account Activity API की migration guide देखें।
सारांश
- अब भेजे गए और प्राप्त संदेश उसी endpoint से लौटाए जाते हैं।
- अधिकतम 30 दिनों तक के संदेश लौटाए जाते हैं।
- Cursor-आधारित pagination।
- Webhook के माध्यम से Direct Message तक रीयल-टाइम पहुँच।
Direct Messages हटाना
सारांश
- किसी Direct Message को हटाने के लिए ID की आवश्यकता होती है।
- नए endpoint के लिए DELETE अनुरोध की आवश्यकता होती है।
- हटाए गए Direct Messages आधिकारिक X clients में कैसे दिखाई देते हैं, यह पहले जैसा ही रहता है।
अक्सर पूछे जाने वाले प्रश्न
सामान्य
- गति: हम X की गति से डेटा पहुँचाते हैं।
- सरलता: हम एक ही webhook कनेक्शन के ज़रिए किसी अकाउंट की सभी events पहुँचाते हैं। API के माध्यम से भेजी जाने वाली गतिविधियों में पोस्ट्स, @mentions, replies, Retweets, Quote Tweets, Quote Tweets के Retweets, favorites, भेजे गए Direct Messages, प्राप्त Direct Messages, follows, blocks, और mutes शामिल हैं।
- स्केल: event caps की किसी भी रेट लिमिट्स से सीमित हुए बिना, आप अपने प्रबंधित अकाउंट की सभी गतिविधियाँ प्राप्त करते हैं।
- यदि आप अभी शुरुआत कर रहे हैं, तो हम अनुशंसा करते हैं कि आप हमारी Getting started with webhooks guide देखें
-
X Dev द्वारा समर्थित scripts के साथ आगे बढ़ें:
- Account Activity API dashboard, एक node web ऐप जो webhook events दिखाता है।
- SnowBot chatbot, Account Activity और Direct Message APIs पर बना एक Ruby web ऐप। इस code base में Account Activity API webhooks सेट अप करने में मदद के लिए एक script भी शामिल है।
- सर्वर किसी CRC के जवाब में गलत टोकन लौटाता है। इस स्थिति में, हमारा सिस्टम आपको गतिविधि भेजने के लिए पुनः प्रयास नहीं करेगा।
- webhook URL पर गलत certificate कॉन्फ़िगर किया गया है। इस स्थिति में भी, हमारा सिस्टम आपको गतिविधि भेजने के लिए पुनः प्रयास नहीं करेगा।
- आपका सर्वर non-2XX, non-4XXX, non-5XXX रिस्पॉन्स कोड लौटाता है।
- आप gzip के उपयोग को निर्दिष्ट करते हैं, लेकिन वास्तव में उसे भेजते नहीं हैं।
- आप gzip के उपयोग को निर्दिष्ट नहीं करते, लेकिन वास्तव में उसे रिस्पॉन्स में भेजते हैं।
/all/ हिस्से को अन्य account activity data objects से बदल सकता हूँ? **POST https://api.x.com/1.1/account_activity/all/:env_name/subscriptions.json
नहीं, यह संभव नहीं है। अभी केवल /all/ product ही उपलब्ध है।
**क्या उपयोगकर्ताओं से Direct Messages permissions का अनुरोध किए बिना Account Activity API का उपयोग करने का कोई तरीका है? **
फ़िलहाल, Direct Messages permissions आवश्यक हैं क्योंकि इस API के लिए Direct Messages गतिविधियों को ‘filter out’ करने का कोई तरीका नहीं है।
क्या Account Activity API का कोई sandbox संस्करण है?
हाँ, हम परीक्षण के लिए sandbox विकल्प उपलब्ध कराते हैं। हमारा sandbox विकल्प केवल एक webhook तक सीमित है, और इसमें अधिकतम 15 सदस्यताओं की सीमा है। sandbox विकल्प के बारे में अधिक जानकारी आप हमारे documentation में पढ़ सकते हैं।
**क्या subscribed users का उल्लेख करने वाले पोस्ट्स के Retweets पाने के लिए Account Activity API का उपयोग किया जा सकता है? **
दुर्भाग्य से, यह इस API द्वारा डिलीवर की जाने वाली गतिविधियों का हिस्सा नहीं है। इसके लिए, हम Streaming API का उपयोग करने का सुझाव देते हैं।
tweet_create_event द्वारा दर्शाए जाने वाले संभावित activity types क्या हैं?
निम्न स्थितियों में tweet_create_event payload भेजा जाएगा:
यदि subscription user इनमें से कोई कार्रवाई करता है:
- एक पोस्ट बनाता है
- Retweet करता है
- किसी पोस्ट का जवाब देता है
- subscription user को @mentions* करता है
- subscription user द्वारा बनाए गए Tweet को Quote करता है
user_has_blocked नाम का एक boolean field दिखाई देगा, जो “true” या “false” पर सेट होगा। यह field केवल पोस्ट mentions पर दिखाया जाता है।
Enterprise
मैं अपने ऐप को allowlist में कैसे जोड़ सकता हूँ, या कैसे जाँच सकता हूँ कि मेरा ऐप पहले से allowlist में है या नहीं?
Enterprise APIs के ज़रिए एक्सेस के लिए allowlist में जोड़े गए X ऐप्स को मैनेज करने के लिए, कृपया अपने ऐप ID के साथ अपने अकाउंट मैनेजर से संपर्क करें। अपना ऐप ID आप डेवलपर कंसोल में “Apps” पेज पर जाकर ढूँढ सकते हैं।
यदि मेरे पास तीन webhooks का एक्सेस है, तो क्या मैं enterprise उपयोग के लिए रजिस्टर किए गए अपने हर ऐप के लिए तीन webhooks इस्तेमाल कर सकता हूँ?
webhook की सीमा ऐप स्तर पर नहीं, बल्कि अकाउंट स्तर पर तय होती है। अगर आपके पास तीन webhooks का एक्सेस है और enterprise उपयोग के लिए दो ऐप रजिस्टर हैं, तो आप एक ऐप पर दो webhooks और दूसरे ऐप पर तीसरा webhook इस्तेमाल कर सकते हैं, लेकिन हर ऐप पर तीन-तीन नहीं।
क्या मैं यह तय कर सकता हूँ कि Account Activity Replay API का उपयोग करके किस प्रकार के events फिर से डिलीवर किए जाएँगे?
फिर से चलाए जाने वाले events के प्रकार तय नहीं किए जा सकते। तय की गई दिनांक और समय विंडो के दौरान डिलीवर किए गए सभी events फिर से चलाए जाएँगे।
अगर मेरा application किसी Account Activity Replay API event को ingest नहीं कर पाता है, तो क्या कोई retries होंगी?
नहीं, कोई retries नहीं होंगी। अगर कोई application, Account Activity Replay API द्वारा भेजे गए किसी event को ingest नहीं कर पाता है, तो छूटे हुए Replay events को फिर से डिलीवर करने की कोशिश के लिए उसी समयावधि के लिए एक और Replay job सबमिट की जा सकती है।
जब मुझे partial success completion event मिले, तो मुझे क्या करना चाहिए?
हम सुझाव देते हैं कि जो events प्राप्त हुए थे उनके timestamps नोट कर लें और जो events छूट गए थे उनके लिए एक और Replay job का अनुरोध करें।
एक समय में मेरे कितने Account Activity Replay API jobs चल सकते हैं?
हर webhook पर एक समय में केवल एक Account Activity Replay API job चल सकती है।
जब Account Activity Replay API events मेरे webhook पर डिलीवर किए जा रहे हों, तो मैं उन्हें real-time production events से कैसे अलग पहचान सकता हूँ?
चूँकि Account Activity Replay API हमेशा पिछले events डिलीवर करता है, इसलिए उन्हें event के timestamp के आधार पर real-time production events से अलग पहचाना जा सकता है।
मेरे application द्वारा छोड़ी गई या छूट गई किसी activity को फिर से डिलीवर करने के लिए मैं Account Activity Replay API का उपयोग कितनी जल्दी शुरू कर सकता हूँ?
कोई activity बनाए जाने के लगभग 10 मिनट बाद redelivery के लिए उपलब्ध हो जाती है।
त्रुटि निवारण मार्गदर्शिका
Code 32
- Enterprise - सुनिश्चित करें कि आप जिन consumer keys और access tokens का उपयोग कर रहे हैं, वे ऐसे X ऐप से संबंधित हों जो Enterprise products के उपयोग के लिए पंजीकृत है। अगर आपके पास अपनी consumer keys और access tokens नहीं हैं, या आपको अपने X ऐप को allowlist में जोड़ना है, तो कृपया अपने account manager से संपर्क करें।
-
अगर आप user context के साथ authenticate कर रहे हैं, तो सुनिश्चित करें कि आपने सही
oauth nonce,oauth_signature, औरoauth_timestampके साथ अपने request को properly authorize किया है। -
सुनिश्चित करें कि आपके access tokens के पास सही permission level है।
- app dashboard में ‘Keys and tokens’ tab पर, कृपया सुनिश्चित करें कि आपके access tokens का permission level ‘Read, write, and direct messages’ है।
- अगर tokens का permission level इससे कम पर सेट है, तो कृपया ‘Permissions’ tab पर जाएँ, access permission को ‘Read, write, and direct messages’ पर सेट करें, फिर ‘Keys and tokens’ tab से अपने access tokens और secret को दोबारा generate करें।
-
सुनिश्चित करें कि आपका URL सही तरीके से बना हुआ है।
- कृपया ध्यान रखें कि
:env_namecase-sensitive है।
- कृपया ध्यान रखें कि
कोड 200 - निषिद्ध
- Premium - API को अनुरोध भेजने का प्रयास करने से पहले सुनिश्चित करें कि आपके पास स्वीकृत डेवलपर खाता हो। आपको अनुरोध में सही :env_name का भी उपयोग करना होगा, जिसे आप dev environments पेज पर कॉन्फ़िगर कर सकते हैं।
- Enterprise - सुनिश्चित करें कि आपके अकाउंट मैनेजर ने आपको Account Activity API का एक्सेस दिला दिया है।
- सुनिश्चित करें कि आपने अपना URI सही तरीके से कॉन्फ़िगर किया है। अगर आपने अपने अनुरोध में गलत URI दर्ज किया है, तो यह त्रुटि आ सकती है।
Code 214 - Webhook URL आवश्यकताओं को पूरा नहीं करती है।
- कृपया सुनिश्चित करें कि आप https का उपयोग कर रहे हैं।
- आपकी webhook URL का फ़ॉर्मैट गलत हो सकता है।
- Getting started with webhooks पेज पर Develop webhook consumer app अनुभाग में अपनी webhook URL सेट अप करने के बारे में अधिक जानें।
कोड 214 - CRC GET अनुरोध पर उच्च विलंबता। आपके webhook को 3 सेकंड से कम समय में जवाब देना चाहिए।
- इसका मतलब है कि आपका सर्वर धीमा है। सुनिश्चित करें कि आप CRC अनुरोध का जवाब 3 सेकंड के भीतर दे रहे हैं।
Code 214 - CRC GET अनुरोध के दौरान Non-200 रिस्पॉन्स कोड (जैसे 404, 500 आदि)।
- आपका सर्वर डाउन है। सुनिश्चित करें कि आपका सर्वर ठीक से चल रहा है।
कोड 214 - पहले से ही बहुत अधिक संसाधन बनाए जा चुके हैं।
- Enterprise - आप अपने सभी webhook पहले ही इस्तेमाल कर चुके हैं। यह पता लगाने के लिए कि आपके webhook कहाँ वितरित हैं, अपने प्रत्येक पंजीकृत ऐप के लिए GET webhooks endpoint का उपयोग करें।
कोड 261 - एप्लिकेशन लिखने से संबंधित कार्रवाइयाँ नहीं कर सकता।
- API के साथ आप जिस ऐप का उपयोग कर रहे हैं, उसके access token और access token secret के लिए सही अनुमति स्तर सेट नहीं है। कृपया X apps डैशबोर्ड में ‘Keys and tokens’ टैब पर जाएँ और अपने access token और access token secret को दिए गए अनुमति स्तरों की जाँच करें। यदि यह ‘Read, write and Direct Messages’ के अलावा किसी अन्य विकल्प पर सेट है, तो आपको ‘Permission’ टैब के अंतर्गत सेटिंग्स बदलनी होंगी और नई सेटिंग्स लागू करने के लिए अपना access token और access token secret फिर से जनरेट करना होगा।
- वैकल्पिक रूप से, हो सकता है कि आप app-only authentication का उपयोग करके webhook रजिस्टर करने की कोशिश कर रहे हों, जो समर्थित नहीं है। इसके बजाय user context के साथ authenticate करें, जैसा कि Enterprise Account Activity API के लिए webhook रजिस्टर करने वाले API संदर्भ अनुभागों में बताया गया है।
Account Activity API संदर्भ इंडेक्स
Enterprise अकाउंट एक्टिविटी API
https://api.x.com/1.1/account_activity/webhooks.json
उदाहरण अनुरोध
$ curl —request POST —url ‘https://api.x.com/1.1/account_activity/webhooks.json?url=https%3A%2F%2Fyour_domain.com%2Fwebhooks%2Ftwitter%2F0' —header ‘authorization: OAuth oauth_consumer_key=“CONSUMER_KEY”, oauth_nonce=“GENERATED”, oauth_signature=“GENERATED”, oauth_signature_method=“HMAC-SHA1”, oauth_timestamp=“GENERATED”, oauth_token=“ACCESS_TOKEN”, oauth_version=“1.0“‘उदाहरण रिस्पॉन्स - सफल
HTTP 403
https://api.x.com/1.1/account_activity/webhooks.json
उदाहरण अनुरोध
दिए गए webhook के URL के लिए चैलेंज रिस्पॉन्स जांच (CRC) ट्रिगर करता है। अगर जाँच सफल होती है, तो यह 204 रिटर्न करता है और उसकी status को
valid पर सेट करके webhook को फिर से सक्षम कर देता है।
https://api.x.com/1.1/account_activity/webhooks/:webhook_id.json
उदाहरण अनुरोध
दिया गया ऐप, दिए गए उपयोगकर्ता संदर्भ में, सभी संदेश प्रकारों के लिए सभी गतिविधियों की सदस्यता लेता है। सक्रिय होने के बाद, अनुरोध करने वाले उपयोगकर्ता की सभी गतिविधियाँ, POST request के माध्यम से ऐप के webhook पर भेजे जाएंगे।
सदस्यताएँ वर्तमान में आपके account configuration के आधार पर सीमित हैं। यदि आपको और सदस्यताएँ जोड़ने की आवश्यकता है, तो कृपया अपने account manager से संपर्क करें।
https://api.x.com/1.1/account_activity/webhooks/:webhook_id/subscriptions/all.json
उदाहरण अनुरोध
यह उन सदस्यताओं की संख्या रिटर्न करता है जो वर्तमान में आपके खाते पर सक्रिय हैं। ध्यान दें कि /count endpoint के लिए केवल application-only OAuth आवश्यक है, इसलिए आपको user context के बजाय बेयरर टोकन का उपयोग करके अनुरोध करने चाहिए।
https://api.x.com/1.1/account_activity/subscriptions/count.json
त्रुटि संदेश
HTTP 401
https://api.x.com/1.1/account_activity/webhooks/:webhook_id/subscriptions/all.json
उदाहरण अनुरोध
$ curl —request GET —url https://api.x.com/1.1/account_activity/webhooks/:WEBHOOK_ID/subscriptions/all.json —header ‘authorization: OAuth oauth_consumer_key=“WHITELISTED_CONSUMER_KEY”, oauth_nonce=“GENERATED”, oauth_signature=“GENERATED”, oauth_signature_method=“HMAC-SHA1”, oauth_timestamp=“GENERATED”, oauth_token=“SUBSCRIBING_USER’S_ACCESS_TOKEN”, oauth_version=“1.0“‘ HTTP 204 कोई सामग्री नहींhttps://api.x.com/1.1/account_activity/webhooks/:webhook_id/subscriptions/all/list.json
$ curl —request GET
—url https://api.x.com/1.1/account_activity/webhooks/:WEBHOOK_ID/subscriptions/all/list.json
—header ‘authorization: Bearer TOKEN’
उदाहरण रिस्पॉन्स - सफल
HTTP 200
HTTP 401
https://api.x.com/1.1/account_activity/webhooks/:webhook_id.json
उदाहरण अनुरोध
रिस्पॉन्स
HTTP 204 OKhttps://api.x.com/1.1/account_activity/webhooks/:webhook_id/subscriptions/all.json
अनुरोध का उदाहरण
https://api.x.com/1.1/account_activity/webhooks/:webhook_id/subscriptions/:user_id/all.json