मुख्य सामग्री पर जाएं
X API v2 को सभी एंडपॉइंट्स में एकसमान पैटर्न के साथ डिज़ाइन किया गया है। एक बार आप समझ लें कि कोई एक एंडपॉइंट कैसे काम करता है, तो वही पैटर्न हर जगह लागू होते हैं।

सुसंगत पैटर्न

URL संरचना

सभी v2 एंडपॉइंट एक अनुमानित पैटर्न का पालन करते हैं:
/version/resource/{id}?parameters
/version/resource/verb?parameters
उदाहरण:
/2/tweets/1234567890                    # एक विशिष्ट पोस्ट प्राप्त करें
/2/tweets/search/recent                 # हाल की पोस्ट्स खोजें
/2/users/by/username/xdevelopers        # उपयोगकर्ता नाम द्वारा उपयोगकर्ता प्राप्त करें
/2/users/1234/followers                 # उपयोगकर्ता के फ़ॉलोअर्स प्राप्त करें

रिस्पॉन्स संरचना

सभी रिस्पॉन्स एक ही शीर्ष-स्तरीय संरचना का उपयोग करते हैं:
{
  "data": { ... },       // प्राथमिक ऑब्जेक्ट(s)
  "includes": { ... },   // विस्तारित ऑब्जेक्ट
  "meta": { ... },       // पेजिनेशन, गणना
  "errors": [ ... ]      // आंशिक त्रुटियाँ (यदि कोई हों)
}

ID का प्रारूप

विभिन्न भाषाओं के साथ संगतता सुनिश्चित करने के लिए सभी ID स्ट्रिंग के रूप में लौटाई जाती हैं:
{
  "id": "1234567890123456789",
  "author_id": "2244994945"
}

फ़ील्ड्स और expansions

एक ही फ़ील्ड्स और expansions पैरामीटर हर जगह एक जैसे तरीके से काम करते हैं:
ऑब्जेक्टफ़ील्ड्स पैरामीटरइन सभी में काम करता है
पोस्टtweet.fieldsपोस्ट्स लौटाने वाले सभी एंडपॉइंट्स
उपयोगकर्ताuser.fieldsउपयोगकर्ताओं को लौटाने वाले सभी एंडपॉइंट्स
मीडियाmedia.fieldsमीडिया expansions वाले सभी एंडपॉइंट्स
पोलpoll.fieldsपोल expansions वाले सभी एंडपॉइंट्स
स्थानplace.fieldsस्थान expansions वाले सभी एंडपॉइंट्स

ऑब्जेक्ट स्कीमा

एक ही ऑब्जेक्ट type में हमेशा वही फ़ील्ड्स होते हैं, चाहे उसे कोई भी एंडपॉइंट रिटर्न करे:
  • search से मिला पोस्ट, lookup से मिले पोस्ट के समान फ़ील्ड्स रखता है
  • followers से मिला User, search से मिले User के समान फ़ील्ड्स रखता है
  • Expanded ऑब्जेक्ट्स अपने standalone समकक्षों से मेल खाते हैं

प्रमाणीकरण

सभी एंडपॉइंट एक ही प्रमाणीकरण विधियों का उपयोग करते हैं:
विधिहेडर फ़ॉर्मैट
बेयरर टोकनAuthorization: Bearer {token}
OAuth 1.0aAuthorization: OAuth {parameters}
OAuth 2.0Authorization: Bearer {user_token}

त्रुटि प्रबंधन

त्रुटियाँ एक समान प्रारूप में होती हैं:
{
  "title": "Invalid Request",
  "detail": "The query parameter is missing",
  "type": "https://api.x.com/2/problems/invalid-request"
}
सभी error type देखें →
सभी पेजिनेट किए गए एंडपॉइंट एक ही टोकन सिस्टम का उपयोग करते हैं:
ParameterDescription
max_resultsप्रति पेज परिणाम
pagination_tokennext_token या previous_token से मिला टोकन
पेजिनेशन के बारे में और जानें →

नामकरण परंपराएं

  • अमेरिकी अंग्रेज़ी वर्तनी (favorites, न कि favourites)
  • फ़ील्ड नामों के लिए snake_case (author_id, created_at)
  • सुसंगत शब्दावली (retweet_count, फ़ील्ड्स में repost_count नहीं)

रिक्त मान

जिन फ़ील्ड्स का कोई मान नहीं होता, उन्हें null के रूप में लौटाने के बजाय शामिल नहीं किया जाता है:
// बिना बायो वाला उपयोगकर्ता
{
  "id": "1234",
  "name": "Example User",
  "username": "example"
  // "description" छोड़ा गया है, null नहीं
}

इकाई की संगति

entities ऑब्जेक्ट में केवल वे इकाइयाँ शामिल होती हैं, जिन्हें टेक्स्ट से पार्स किया गया है:
  • urls
  • hashtags
  • mentions
  • cashtags
मीडिया और पोल attachments में होते हैं, entities में नहीं।

आपके लिए इसका क्या मतलब है

एक बार सीखें, हर जगह इस्तेमाल करें

जो पैटर्न आप एक एंडपॉइंट पर सीखते हैं, वे सभी एंडपॉइंट्स पर लागू होते हैं।

अनुमानित रिस्पॉन्स

पूरे API में समान object types की संरचना एक जैसी रहती है।

ज़्यादा सरल कोड

सामान्य पैटर्न के लिए पुन: प्रयोज्य functions बनाएँ।

आसान डिबगिंग

एकसमान error formats समस्या-निवारण को आसान बनाते हैं।

असंगतियों की रिपोर्ट करें

कोई असंगति मिली? हमें बताएँ: