मुख्य सामग्री पर जाएं
इस मार्गदर्शिका में उन प्रमुख अवधारणाओं के बारे में बताया गया है जिनकी आपको manage Direct Messages एंडपॉइंट को अपने ऐप में एकीकृत करने के लिए आवश्यकता है।

प्रमाणीकरण

DM एंडपॉइंट्स के लिए उपयोगकर्ता प्रमाणीकरण आवश्यक है:
विधिविवरण
PKCE के साथ OAuth 2.0 Authorization Codeअनुशंसित
OAuth 1.0a User Contextलेगेसी सपोर्ट
केवल ऐप प्रमाणीकरण समर्थित नहीं है। सभी डायरेक्ट मैसेज निजी होते हैं।

आवश्यक स्कोप (OAuth 2.0)

स्कोपकिनके लिए आवश्यक
dm.writeसंदेश भेजने और हटाने के लिए
dm.readdm.write के साथ आवश्यक
tweet.readdm स्कोप के साथ आवश्यक
users.readdm स्कोप के साथ आवश्यक

एंडपॉइंट का अवलोकन

MethodEndpointDescription
POST/2/dm_conversations/with/:participant_id/messagesएक-से-एक संदेश भेजें
POST/2/dm_conversationsसमूह बातचीत बनाएँ
POST/2/dm_conversations/:dm_conversation_id/messagesबातचीत में संदेश जोड़ें
DELETE/2/dm_events/:event_idसंदेश हटाएँ

संदेश भेजना

वन-टू-वन संदेश

किसी खास उपयोगकर्ता को संदेश भेजें। अगर बातचीत मौजूद नहीं है, तो नई बातचीत बनाई जाती है:
cURL
curl -X POST "https://api.x.com/2/dm_conversations/with/9876543210/messages" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello!"}'

समूह बातचीत

एक नया समूह बनाएँ और पहला संदेश भेजें:
cURL
curl -X POST "https://api.x.com/2/dm_conversations" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "conversation_type": "Group",
    "participant_ids": ["944480690", "906948460078698496"],
    "message": {"text": "Welcome to our group!"}
  }'
conversation_type फ़ील्ड का मान "Group" होना चाहिए (केस-सेंसिटिव)।

मौजूदा बातचीत में जोड़ें

जिस भी बातचीत का आप हिस्सा हैं, उसमें संदेश भेजें:
cURL
curl -X POST "https://api.x.com/2/dm_conversations/1582103724607971328/messages" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"text": "Another message"}'

मीडिया संलग्नक

हर संदेश के साथ मीडिया का एक आइटम (फ़ोटो, वीडियो, या GIF) संलग्न करें।
1

मीडिया अपलोड करें

अपनी फ़ाइल अपलोड करने और media_id पाने के लिए Media Upload endpoint का उपयोग करें।
2

संदेश में शामिल करें

{
  "text": "Check out this image!",
  "attachments": [{"media_id": "1583157113245011970"}]
}
  • मीडिया उसी प्रमाणित उपयोगकर्ता द्वारा अपलोड किया गया होना चाहिए
  • अपलोड के बाद मीडिया 24 घंटे तक उपलब्ध रहता है
  • हर संदेश के लिए केवल एक संलग्नक समर्थित है

पोस्ट्स साझा करना

टेक्स्ट में पोस्ट URL जोड़कर अपने संदेश में एक पोस्ट शामिल करें:
{
  "text": "Have you seen this? https://x.com/XDevelopers/status/1580559079470145536"
}
प्रतिक्रिया में पोस्ट ID वाला referenced_tweets फ़ील्ड शामिल होगा।

संदेश संबंधी आवश्यकताएँ

फ़ील्डआवश्यकटिप्पणियाँ
textहाँ*अगर कोई attachments नहीं है, तो आवश्यक
attachmentsहाँ*अगर कोई text नहीं है, तो आवश्यक
*text या attachments में से कम-से-कम एक दिया जाना चाहिए।

v1.1 के साथ ID संगतता

बातचीत और event ID, v1.1 और v2 एंडपॉइंट के बीच साझा होते हैं। इससे हाइब्रिड वर्कफ़्लो संभव होते हैं:
  • v2 के साथ संदेश बनाएँ
  • v1.1 के साथ संदेश हटाएँ (यह v2 में अभी उपलब्ध नहीं है)
  • x.com URL से बातचीत ID प्राप्त करें

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

StatusErrorSolution
400अमान्य अनुरोधअनुरोध बॉडी का फ़ॉर्मैट जाँचें
401अनधिकृतaccess token सत्यापित करें
403निषिद्धscopes और उपयोगकर्ता अनुमतियों की जाँच करें
429बहुत अधिक अनुरोधप्रतीक्षा करें और फिर से प्रयास करें

आम समस्याएँ

प्राप्तकर्ता की DM सेटिंग्स ऐसी हो सकती हैं जो अज्ञात उपयोगकर्ताओं के संदेशों को रोकती हैं, या उसने आपको ब्लॉक किया हो सकता है।
सुनिश्चित करें कि मीडिया उसी ऑथेंटिकेट किए गए उपयोगकर्ता ने अपलोड किया हो और वह 24 घंटे से कम पुराना हो।
सत्यापित करें कि सभी प्रतिभागियों की ID मान्य हैं और उपयोगकर्ता समूह DM आमंत्रण स्वीकार करते हैं।

अगले चरण

त्वरित शुरुआत

अपना पहला Direct Message भेजें

DM लुकअप

DM बातचीतें प्राप्त करें

मीडिया अपलोड

अटैचमेंट के लिए मीडिया अपलोड करें

API संदर्भ

एंडपॉइंट का पूरा दस्तावेज़ीकरण