- POST accounts/:account_id/cards Tweets:
- POST accounts/:account_id/tweets - Tweets में कार्ड्स जोड़ने के लिए,
card_uriपैरामीटर का उपयोग करें। शेड्यूल किए गए Tweets: - POST accounts/:account_id/scheduled_tweets
- वेबसाइट: 1:1 और 1.91:1
- इमेज ऐप डाउनलोड: 1:1 और 1.91:1
- पोल: 1.91:1
- इमेज कन्वर्सेशन: 1.91:1
- इमेज डायरेक्ट मैसेज: 1.91:1
- वीडियो वेबसाइट: 16:9 और 1:1
- वीडियो ऐप डाउनलोड: 16:9 और 1:1
- पोल: 16:9
- वीडियो कन्वर्सेशन: 16:9
- वीडियो डायरेक्ट मैसेज: 16:9
media_id का उपयोग करके, POST accounts/:account_id/videos एंडपॉइंट के माध्यम से वीडियो को किसी Ads अकाउंट से संबद्ध करें। वीडियो का id, जिसे कभी-कभी media_key भी कहा जाता है, बाद के अनुरोधों में इस्तेमाल किया जाएगा। यह एक string है जो एक int से शुरू होती है, फिर एक underscore आता है, और अंत में एक long value होती है। उदाहरण के लिए, देखें: 13_875943225764098048.
Tweet बनाने के लिए, वीडियो के id के साथ POST accounts/:account_id/tweet endpoint का इस्तेमाल करें। इस चरण में, आप वीडियो का शीर्षक, विवरण और कॉल-टू-एक्शन (CTA) भी दे सकते हैं। ये मान उपयोगकर्ताओं को दिखाई देते हैं।
Video App Download और Video Conversation कार्ड में पोस्टर इमेज जोड़ने की सुविधा उपलब्ध है। इन कार्ड में उपयोग के लिए इमेज अपलोड करने हेतु POST media/upload endpoint का उपयोग करें।
निम्नलिखित endpoints में से किसी एक का उपयोग करके कार्ड बनाएं:
- POST accounts/:account_id/cards/video_website
- POST accounts/:account_id/cards/video_app_download
- POST accounts/:account_id/cards/video_conversation
id और वैकल्पिक रूप से इमेज के media_id (पोस्टर इमेज के लिए) का उपयोग करके।
अंत में, POST accounts/:account_id/tweet endpoint का उपयोग करके Tweet बनाएं। कार्ड को card_uri parameter का उपयोग करके Tweets से अटैच किया जाता है।
API के माध्यम से वीडियो अपलोड करने के बारे में विस्तृत मार्गदर्शन के लिए, कृपया Video Upload Guide देखें।
वीडियो को प्री-रोल एसेट के रूप में भी प्रमोट किया जा सकता है। विस्तृत जानकारी के लिए Video Views Pre-roll Objective Guide देखें।
- (2015-10-22 से) प्रमोटेड सामग्री में उपयोग के लिए वीडियो अपलोड करते समय, POST media/upload (chunked) endpoint पर सभी
INITकमांड अनुरोधों मेंmedia_categoryपैरामीटर का मानamplify_videoहोना चाहिए। इस नए पैरामीटर का उपयोग यह सुनिश्चित करता है कि वीडियो का असिंक्रोनस रूप से प्री-प्रोसेसिंग हो और उसे प्रमोटेड सामग्री में उपयोग के लिए तैयार किया जाए। वीडियो अपलोड होने के बाद असिंक्रोनस प्रोसेसिंग पूरी हुई है या नहीं, यह जांचने के लिएSTATUSकमांड का उपयोग किया जा सकता है। - वर्तमान में अनुमत प्रमोटेड वीडियो की अधिकतम लंबाई 10 मिनट है, और फ़ाइल का आकार 500MB या उससे कम होना चाहिए।
- अपलोड किया गया वीडियो mp4 या mov फ़ॉर्मैट में होना चाहिए।
- अपलोड किया गया वीडियो आम तौर पर जल्दी प्रोसेस हो जाता है, लेकिन प्रोसेसिंग में लगने वाला समय वीडियो की लंबाई और फ़ाइल के आकार के अनुसार अलग-अलग हो सकता है।
- अपलोड की गई पोस्टर इमेज png या jpg फ़ॉर्मैट में होनी चाहिए। आस्पेक्ट रेशियो या आकार के लिए कोई आवश्यकता नहीं है, लेकिन पोस्टर इमेज को वीडियो प्लेयर के अनुसार समायोजित किया जाएगा।
- नए शेड्यूल किए गए Tweets बनाएँ, संशोधित करें और देखें
- किसी Scheduled Tweet को line item से संबद्ध करें
- मौजूदा Scheduled Tweets को क्वेरी करें और प्रबंधित करें
- Scheduled Tweet के लाइव हो जाने पर, लाइव Tweet
idप्राप्त करें
- GET accounts/:account_id/scheduled_tweets (सभी शेड्यूल किए गए Tweets की सूची प्राप्त करें)
- GET accounts/:account_id/scheduled_tweets/:scheduled_tweet_id (उसके
idका उपयोग करके किसी विशिष्ट शेड्यूल किए गए Tweet को देखें) - POST accounts/:account_id/scheduled_tweets (एक नया शेड्यूल किया गया Tweet बनाएँ)
- PUT accounts/:account_id/scheduled_tweets/:scheduled_tweet_id (किसी मौजूदा शेड्यूल किए गए Tweet में बदलाव करें)
- DELETE accounts/:account_id/scheduled_tweets/:scheduled_tweet_id (उसके
idका उपयोग करके किसी शेड्यूल किए गए Tweet को हटाएँ) - GET accounts/:account_id/scheduled_tweets/preview/:scheduled_tweet_id (किसी मौजूदा शेड्यूल किए गए Tweet का पूर्वावलोकन करें)
- GET accounts/:account_id/scheduled_promoted_tweets (सभी शेड्यूल किए गए प्रमोटेड Tweets की सूची प्राप्त करें)
- GET accounts/:account_id/scheduled_promoted_tweets/:scheduled_promoted_tweet_id (किसी शेड्यूल किए गए प्रमोटेड Tweet को उसके
idसे देखें) - POST accounts/:account_id/scheduled_promoted_tweets (एक नया शेड्यूल किया गया प्रमोटेड Tweet बनाएँ)
- DELETE accounts/:account_id/scheduled_promoted_tweets/:scheduled_promoted_tweet_id (किसी मौजूदा शेड्यूल किए गए प्रमोटेड Tweet को उसके
idसे हटाएँ)
- GET accounts/:account_id/scheduled_tweets/preview/:scheduled_tweet_id (किसी मौजूदा शेड्यूल किए गए Tweet को देखें)
- सत्यापित करें कि प्रमाणीकृत उपयोगकर्ता के पास दिए गए @handle के लिए ऑर्गेनिक Tweets बनाने की अनुमति है। Promoted-Only Tweet बनाने की सुविधा के लिए आवश्यक है कि प्रमाणीकृत उपयोगकर्ता खाते का उपयोगकर्ता हो और उसके पास Tweet composer permissions हों।
- सत्यापित करें कि
scheduled\_atसमय के 15 मिनट के अंतराल में बनाए जाने के लिए 30 से अधिक Tweets निर्धारित न हों। SCHEDULED_TWEET_LIMIT_EXCEEDED त्रुटि संदेश यह दर्शाता है कि भविष्य के उसी 15 मिनट के समय-अंतराल में बहुत अधिक शेड्यूल किए गए Tweets शेड्यूल कर दिए गए हैं। विज्ञापनदाताओं को किसी मौजूदा शेड्यूल किए गए Tweet को हटाना होगा याscheduled\_atसमय को पहले या बाद के समय पर बदलना होगा।
- ये सत्यापन नियम scheduled_at के समय चलाए जाते हैं और API में सामान्य Tweet बनाते समय लागू किए जाने वाले नियमों के समान होते हैं। उदाहरण के लिए, अगर किसी शेड्यूल किए गए Tweet में image और gif दोनों शामिल हों, तो वह लाइव नहीं होगा और scheduled_status को FAILED पर सेट कर दिया जाएगा
scheduled_at समय, और यदि Tweet में कोई media entities शामिल नहीं हैं, तो Tweet का text। इसके अलावा, यह endpoint कुछ अतिरिक्त विकल्प भी देता है, जिनकी मदद से आप as_user_id param के माध्यम से किसी अन्य @handle की ओर से शेड्यूल किया गया Tweet बना सकते हैं। साथ ही, आप एक card (card_uri) और media (media_ids) भी जोड़ सकते हैं। ध्यान दें कि किसी Tweet में केवल एक ही प्रकार की entities हो सकती हैं, यानी Video, Gif, या Image में से कोई एक। nullcast param यह नियंत्रित करता है कि Tweet “Promoted-Only” Tweet है या नहीं। सभी नए बनाए गए शेड्यूल किए गए Tweets डिफ़ॉल्ट रूप से “Promoted-Only” (nullcast=true) होते हैं। यदि nullcast=false है, तो एक Organic शेड्यूल किया गया Tweet बनाया जाता है।
जब कोई शेड्यूल किया गया Tweet सफलतापूर्वक बन जाता है, तो रिस्पॉन्स में एक id फ़ील्ड शामिल होती है, जो उस शेड्यूल किए गए Tweet के अद्वितीय पहचानकर्ता को दर्शाती है। इसके अलावा, tweet_id नाम की एक और फ़ील्ड भी लौटाई जाती है। यह फ़ील्ड शुरुआत में null होती है, लेकिन Tweet के लाइव होने पर इसमें “live” Tweet की ID भर दी जाती है।
tweet_id फ़ील्ड में “live” Tweet की ID भर दी जाएगी।
शेड्यूल किया गया Tweet देखें
इसके बाद, पिछले चरण के शेड्यूल किए गए Tweet id के साथ GET accounts/:account_id/tweet_previews endpoint का उपयोग करके Tweet का प्रीव्यू जनरेट किया जा सकता है। API रिस्पॉन्स में एक iframe URL शामिल होगा, जो शेड्यूल किए गए Tweet का प्रीव्यू रेंडर करने के लिए तैयार होगा। संबंधित CSS और इमेज सीधे X के माध्यम से सर्व की जाएंगी。
nullcast=true) Tweet बनाने की भी अनुमति देते हैं। इनमें से किसी एक को लाइन आइटम से संबद्ध किया जा सकता है। इसे संभव बनाने के लिए, हम POST accounts/:account_id/scheduled_promoted_tweets endpoint भी प्रदान करते हैं। यह endpoint एक API कॉल में केवल एक Promoted शेड्यूल किया गया Tweet को किसी लाइन आइटम से संबद्ध करने की अनुमति देता है। एक ही लाइन आइटम से कई शेड्यूल किए गए Tweets को संबद्ध करने के लिए, कई API कॉल करनी होंगी।
कृपया ध्यान दें कि किसी मौजूदा Promoted शेड्यूल किया गया Tweet को संशोधित करना संभव नहीं है।
SCHEDULED स्थिति में है और दिया गया शेड्यूल किया गया Tweet दिए गए objective के लिए मान्य है, लेकिन इसके अलावा कोई अन्य validations नहीं चलाई जातीं। line item और शेड्यूल किए गए Tweet पर लागू बाकी validation नियम तब चलाए जाते हैं, जब Tweet “live” हो जाता है।
यह सुनिश्चित करने के लिए कि campaign serving में कोई समस्या न आए, अनुशंसा की जाती है कि शेड्यूल किए गए Tweet का scheduled_at समय campaign/line item की flight dates से पहले रखा जाए।
उदाहरण के लिए, मान लें कि शेड्यूल किए गए Tweet को campaign की start date के बाद live होने के लिए सेट किया गया है (और एक ही line item से केवल एक ही Tweet associated है), तो campaign ACTIVE होगा। हालांकि, क्योंकि शेड्यूल किया गया Tweet अभी live नहीं है, इसलिए serving के लिए कोई creatives उपलब्ध नहीं होंगे।
शेड्यूल किया गया Tweet Management
बाकी endpoint sets API consumers को अपने सभी शेड्यूल किए गए Tweets और Scheduled Promoted Tweets को manage करने की सुविधा देते हैं। इन APIs का उपयोग सभी शेड्यूल किए गए Tweets की सूची लौटाने के लिए किया जा सकता है, जिसे वैकल्पिक रूप से किसी दिए गए state के आधार पर filter किया जा सकता है, साथ ही किसी दिए गए शेड्यूल किए गए Tweet को उसके id से lookup करने के लिए भी।
जब कोई शेड्यूल किया गया Tweet लाइव होने वाला होता है, या दूसरे शब्दों में scheduled_at समय पर, तो निम्नलिखित अपडेट किए जाते हैं:
- “लाइव” Tweet बनाया जाता है, हालांकि इसमें 1 सेकंड तक की देरी हो सकती है
tweet_idको निम्नलिखित इकाइयों में जोड़ा जाता है:- शेड्यूल किया गया Tweet
- Promoted शेड्यूल किया गया Tweet
- एक नई Promoted Tweet इकाई बनाई जाती है
- शेड्यूल किया गया Tweet बनाते समय सुनिश्चित करें कि Tweet मान्य हो (उदाहरण के लिए, किसी Tweet में केवल Image, Video या Gif में से एक ही हो सकता है, इन तीनों का कोई संयोजन नहीं)
- सुनिश्चित करें कि अभियान की flight dates (अर्थात
start_timeऔरend_time) शेड्यूल किए गए Tweet केscheduled_atसमय के अनुरूप हों - शेड्यूल किए गए Tweets को भविष्य में एक वर्ष (365 दिन) से अधिक आगे के लिए शेड्यूल नहीं किया जाना चाहिए
- शेड्यूल किए गए Tweets के लिए फिलहाल Tweet preview समर्थित नहीं है (अर्थात, बनाते समय शेड्यूल किए गए Tweets का पहले से पूर्वावलोकन करने की सुविधा उपलब्ध नहीं है)
मीडिया लाइब्रेरी
मीडिया लाइब्रेरी एंडपॉइंट्स X Ads खातों के लिए इमेज, GIF और वीडियो को प्रबंधित करने की सुविधा देते हैं। लाइब्रेरी में मौजूद मीडिया एसेट्स का उपयोग Tweets में और कार्ड बनाने के लिए किया जा सकता है। इन्हें कई creatives में भी दोबारा इस्तेमाल किया जा सकता है, जिससे एक ही एसेट को कई बार अपलोड करने की आवश्यकता नहीं रहती।- POST media/upload or POST media/upload (chunked) (मीडिया अपलोड करना)
- POST accounts/:account_id/media_library (मीडिया को मीडिया लाइब्रेरी में जोड़ना)
media\_id का उपयोग करते समय, जैसा कि ऊपर दिए गए उदाहरण में दिखाया गया है, media\_category भी निर्दिष्ट करना आवश्यक है। श्रेणी के चार संभावित मान हैं: AMPLIFY_VIDEO, TWEET_GIF, TWEET_IMAGE, और TWEET_VIDEO।
वैकल्पिक रूप से, मीडिया लाइब्रेरी में ऑब्जेक्ट्स के लिए name और file\_name मान सेट किए जा सकते हैं। ये एट्रिब्यूट उपयोगकर्ताओं को लाइब्रेरी में मीडिया के अलग-अलग वैरिएंट्स के बीच अंतर करने में मदद करते हैं।
वीडियो के लिए title और description सेट करना भी संभव है। इन मानों को POST accounts/:account_id/tweet endpoint के साथ video\_title और video\_description अनुरोध पैरामीटर के रूप में भेजने के लिए अभिप्रेत है। Tweet में यह टेक्स्ट वीडियो के नीचे दिखाई देता है।
मीडिया लाइब्रेरी में media_key की अवधारणा औपचारिक रूप से पेश की गई है। यह लाइब्रेरी में ऑब्जेक्ट्स के लिए एक अद्वितीय पहचानकर्ता है। Media key निम्नलिखित फ़ॉर्मैट में स्ट्रिंग मान होते हैं: 13_875943225764098048। ये हमारे सभी card endpoints में पूरी तरह समर्थित हैं।
इसके अलावा, मीडिया लाइब्रेरी रिस्पॉन्स में media_id भी शामिल होता है, जिसे एक स्ट्रिंग के रूप में दर्शाया जाता है। इसे उन resources के लिए शामिल किया जाता है जो फ़िलहाल media key स्वीकार नहीं करते: Tweets, Tweet preview, और Scheduled Tweets। हम हर जगह media key का समर्थन उपलब्ध कराने की दिशा में काम कर रहे हैं।
aspect_ratio एट्रिब्यूट GIFs और videos के लिए लौटाया जाता है। इसका उपयोग उन cards में इस्तेमाल के लिए media को फ़िल्टर करने में किया जा सकता है जो केवल विशेष aspect ratios स्वीकार करते हैं।
*ये endpoints video_id parameter का समर्थन करते हैं, जो एक media key है।
इस अनुभाग में, निम्नलिखित छवि का उपयोग एक Tweet में और एक वेबसाइट कार्ड बनाने के लिए किया जाएगा।
नोट: Ads API version 3 से, नए बनाए गए cards के लिए cards रिस्पॉन्स में केवल card_uri जनरेट होकर लौटाया जाता है।
नोट: Ads API version 5 से, cards रिस्पॉन्स में preview_url अब लौटाया नहीं जाता।
Tweet object रिस्पॉन्स में संदर्भ का type इस बात पर निर्भर करेगा कि Tweet किस तरह बनाया गया था। दूसरे शब्दों में, अगर Tweet को card_uri request parameter का उपयोग करके बनाया गया था, तो रिस्पॉन्स में card URI मान दिखाई देगा। दूसरी ओर, अगर preview_url को Tweet text के हिस्से के रूप में शामिल किया गया था, तो रिस्पॉन्स में preview URL दिखाई देगा।
कार्ड के URI मान का उपयोग करके बनाए गए Tweets के लिए, card_uri रिस्पॉन्स एट्रिब्यूट में कार्ड का संदर्भ ढूंढें। नीचे दिया गया उदाहरण रिस्पॉन्स GET accounts/:account_id/tweets endpoint का उपयोग करता है।
मीडिया key, ID के साथ एक संख्यात्मक prefix और एक underscore जोड़कर बनती है।
निम्न तालिका प्रत्येक इमेज-संबंधित रिसोर्स के रिस्पॉन्स में वर्तमान में उपलब्ध पहचानकर्ता प्रकारों के साथ-साथ संबंधित एट्रिब्यूट नाम भी दिखाती है।
Image cards और Account Media इमेज में किसी भी मीडिया पहचानकर्ता का कोई संदर्भ शामिल नहीं होता। Tweets में केवल media ID शामिल होते हैं। Scheduled और Draft Tweets में media ID और media key दोनों शामिल होते हैं। Media Library भी दोनों लौटाती है।
Tweets के लिए, entities[“media”] array के भीतर ऑब्जेक्ट में
id और id_str फ़ील्ड्स media ID के अनुरूप हैं। जिन मामलों में किसी Tweet में कई इमेज शामिल होती हैं, उनमें प्रत्येक media entity के संदर्भ केवल extended_entities[“media”] में ही मिल सकते हैं।
पहचानकर्ता के संदर्भों के अलावा, अक्सर इमेज के URL तक पहुँच होना भी महत्वपूर्ण होता है।
- इन URL के स्थान इस बात पर निर्भर करते हैं कि Tweet में एक इमेज है या कई इमेज।
वीडियो कार्ड्स (वीडियो वाले पोल कार्ड्स को छोड़कर) में
video_content_id रिस्पॉन्स एट्रिब्यूट शामिल होता है, लेकिन लौटाए गए मान के प्रकार में एकरूपता नहीं है। कुछ मामलों में यह media ID होता है; अन्य में यह media key होता है।
वीडियो के URL को कैसे एक्सेस किया जाए, इसकी जानकारी नीचे दी गई है।
वीडियो कार्ड्स में क्रमशः .vmap और .m3u8 URL के साथ
video_url और video_hls_url रिस्पॉन्स एट्रिब्यूट शामिल होते हैं।
कभी-कभी किसी मीडिया एसेट के बारे में अतिरिक्त जानकारी प्राप्त करनी पड़ती है। उदाहरण के लिए, वीडियो कार्ड के मामले में vmap URL के बजाय mp4 URL प्राप्त करना। यह जानकारी मीडिया लाइब्रेरी में उपलब्ध है। उपलब्ध जानकारी के विवरण के लिए हमारी Media Library Guide देखें। ads account के FULL promotable user से संबंधित अधिकांश एसेट लाइब्रेरी में मिल जाते हैं। हालांकि, इसके कुछ अपवाद हैं।
मीडिया फ़ेच करना
जैसा कि ऊपर बताया गया है, image cards में न media ID का संदर्भ होता है और न media key का। इसलिए, मीडिया लाइब्रेरी के माध्यम से उनके एसेट फ़ेच करना संभव नहीं है। यही बात Account Media images पर भी लागू होती है।
Video cards के लिए यह आवश्यक है कि वीडियो एसेट उसे बनाने से पहले मीडिया लाइब्रेरी में मौजूद हो (या उससे पहले Videos resource में हो)। इसलिए, ये एसेट हमेशा मीडिया लाइब्रेरी में प्राप्त किए जा सकते हैं। यही बात Account Media PREROLL एसेट्स पर भी लागू होती है।
अंत में, Tweets में मौजूद मीडिया के लिए हमेशा यह सुनिश्चित होता है कि वह मीडिया लाइब्रेरी में मौजूद होगा।
नीचे दी गई तालिका यह संक्षेप में बताती है कि कौन-से एसेट मीडिया लाइब्रेरी में प्राप्त किए जा सकते हैं। इसमें यह भी ध्यान रखा गया है कि lookup में उपयोग के लिए resource रिस्पॉन्स में कोई पहचानकर्ता शामिल है या नहीं।
- उन cards के लिए जहाँ
video_content_idएक media key है। जब इसका मान media ID होता है, तब भी एसेट मीडिया लाइब्रेरी में मौजूद रहता है, लेकिन उसे प्राप्त करने के लिए उसके आगे एक संख्यात्मक prefix और underscore जोड़ना पड़ता है। ** Tweets केवल media ID लौटाते हैं। हालांकि एसेट के मीडिया लाइब्रेरी में मौजूद होने की गारंटी होती है, उसे फ़ेच करने के लिए उसके आगे एक संख्यात्मक prefix और underscore जोड़ना पड़ता है।
- जब कोई AMPLIFY_VIDEO एसेट मीडिया लाइब्रेरी में जोड़ा जाता है, तो उसे अपने-आप PREROLL creative type वाले Account Media एसेट के रूप में भी जोड़ दिया जाता है।
- जब विशिष्ट dimensions वाली images (हमारे enumerations page में “Creative Types” देखें) मीडिया लाइब्रेरी में जोड़ी जाती हैं, तो उन्हें अपने-आप Account Media एसेट्स के रूप में भी जोड़ दिया जाता है। creative type (उदाहरण के लिए, INTERSTITIAL) image dimensions पर निर्भर करता है।
nullcast पैरामीटर को सपोर्ट करता है, जो API उपयोगकर्ता को nullcast किए गए या organic Tweets बनाने का विकल्प देता है। Nullcast किए गए Tweets उपयोगकर्ता स्वयं बना सकता है या कोई भी व्यक्ति बना सकता है जिसे उपयोगकर्ता की ओर से Tweets बनाने की अनुमति हो। Organic Tweets केवल full promotable user द्वारा बनाए जा सकते हैं।
Tweets अपडेट करना
scheduled और draft Tweets के लिए nullcast property को अपडेट किया जा सकता है। scheduled Tweets के लिए, Tweet के scheduled_at समय तक बदलाव किए जा सकते हैं। Draft Tweets को अनिश्चितकाल तक संपादित किया जा सकता है। हालांकि, एक बार प्रकाशित हो जाने के बाद, किसी Tweet को nullcast किए गए से organic में या इसके उलट बदला नहीं जा सकता।
केवल प्रकाशित और शेड्यूल किए गए Tweets को ही प्रमोट किया जा सकता है। ये nullcasted या organic, किसी भी प्रकार के हो सकते हैं; इस पर कोई प्रतिबंध नहीं है। कोई विज्ञापनदाता अपने स्वयं के Tweets या किसी अन्य उपयोगकर्ता के Tweets को प्रमोट कर सकता है, बशर्ते उसने ऐसा करने की अनुमति प्राप्त कर ली हो। (अधिक जानकारी के लिए किसी अन्य उपयोगकर्ता के Tweets को प्रमोट करना देखें।)
एक ही अभियान में कई Tweets प्रमोट किए जा सकते हैं। इसी तरह, एक ही Tweet को एक या अधिक अभियानों में प्रमोट किया जा सकता है।
प्रकाशित Tweets को प्रमोट करने के लिए, POST accounts/:account_id/promoted_tweets एंडपॉइंट का उपयोग करें। यह प्रकाशित Tweets को एक line item से संबद्ध करता है। शेड्यूल किए गए Tweets को प्रमोट करने के लिए, POST accounts/:account_id/scheduled_promoted_tweets एंडपॉइंट का उपयोग करें।
प्रकाशित, शेड्यूल किए गए और ड्राफ़्ट Tweet आईडी संख्यात्मक होते हैं—ये 64-बिट unsigned integer होते हैं। उदाहरण के लिए, नीचे दिए गए प्रकाशित Tweet की आईडी 1166476031668015104 है।
जब प्रकाशित या शेड्यूल किए गए Tweets को प्रमोट किया जाता है, तो उससे संबंधित promoted Tweet entity बनाई जाती है। इन entities की अपनी अलग आईडी होती हैं, जो अल्फ़ा-न्यूमेरिक होती हैं और base-36-encoded values के रूप में दर्शाई जाती हैं। उदाहरण के लिए, ऊपर दिए गए प्रकाशित Tweet को प्रमोट करने पर—अर्थात, उसे line item 6c62d से संबद्ध करने पर—निम्न API रिस्पॉन्स मिलता है।
id फ़ील्ड भी शामिल होती है, जिसका मान 3qw1q6 है, और यही promoted Tweet ID है।
X Ads API वीडियो कैरोसेल और इमेज कैरोसेल बनाने और प्राप्त करने का समर्थन करता है। कैरोसेल एक कार्ड type है, जिसमें 2 से 6 मीडिया एसेट हो सकते हैं। कैरोसेल कार्ड उपयोगकर्ता को किसी वेबसाइट पर ले जा सकता है या उन्हें मोबाइल ऐप इंस्टॉल करने के लिए प्रोत्साहित कर सकता है। कैरोसेल, उनके लाभों, सर्वोत्तम प्रथाओं और अक्सर पूछे जाने वाले सवालों के बारे में अधिक जानकारी के लिए, हमारा Carousel Ads on X पेज देखें।
किसी भी अन्य कार्ड type की तरह, कैरोसेल का उपयोग Tweets में किया जा सकता है और फिर उन Tweets को प्रमोट किया जा सकता है। वर्कफ़्लो वही है, जिससे आप पहले से परिचित हैं:
- मीडिया अपलोड करें
- कार्ड बनाएँ
- Tweet बनाएँ
- Tweet को प्रमोट करें
- एक
SWIPEABLE_MEDIAकॉम्पोनेंट, जो media keys की एक array स्वीकार करता है - निम्नलिखित में से एक:
- वेबसाइट की जानकारी निर्दिष्ट करने के लिए एक
DETAILSकॉम्पोनेंट - ऐप की जानकारी निर्दिष्ट करने के लिए एक
BUTTONकॉम्पोनेंट
SWIPEABLE_MEDIA कॉम्पोनेंट में एक media_keys array शामिल होना चाहिए, जिसमें आप 2 से 6 images या videos निर्दिष्ट कर सकते हैं। media keys जिस क्रम में पास की जाती हैं, उसी क्रम में वे render की जाएंगी।
इन सबको मिलाकर, नीचे वेबसाइट कैरोसेल के लिए JSON POST body का एक उदाहरण दिया गया है।
BUTTON कॉम्पोनेंट्स के भीतर ऐप गंतव्य ऑब्जेक्ट्स के लिए एक country code और कम से कम एक ऐप पहचानकर्ता आवश्यक है। वैकल्पिक रूप से, ये deep links भी स्वीकार करते हैं। इन फ़ील्ड्स के विवरण के लिए, reference documentation देखें।
इसे मिलाकर, नीचे एक उदाहरण ऐप carousel JSON POST body दिखाई गई है।
media_type request parameter का उपयोग करें।
card_uri भी शामिल होता है, जिसका उपयोग Tweet बनाते समय किया जाएगा।
Tweet
अपना Tweet बनाने के लिए POST accounts/:account_id/tweet endpoint का उपयोग करें। पिछले अनुरोध से मिला card_uri उपयोग करें। (पठनीयता के लिए रिस्पॉन्स को संक्षिप्त किया गया है।)
exiftool -contributor="<YOUR APP ID>" -creative_file.jpg
exiftool -date="<date>" -creative_file.jpg
app_id को Projects & Apps के अंतर्गत डेवलपर कंसोल में पाया जा सकता है। उदाहरण: 16489123
नीचे दिया गया उदाहरण किसी image के लिए contributor tag के रूप में app_id और date tag के रूप में date जोड़ता है:
exiftool -xmp:all -G1 <filename>
उदाहरण:
exiftool -xmp:all -G1 eiffel_tower.jpg
https://ads-api.x.com/12/accounts/:account_id/account_media
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_media?account_media_ids=3wpx
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/account_media/:account_media_id
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/account_media/2pnfd
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/account_media/:account_media_id
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/account_media/2pnfd
उदाहरण रिस्पॉन्स
card_uri पैरामीटर का उपयोग करें।
वर्तमान खाते से संबद्ध कुछ या सभी कार्ड्स का विवरण प्राप्त करें।
नोट: यह केवल उन कार्ड्स को लौटाता है जो POST accounts/:account_id/cards एंडपॉइंट का उपयोग करके बनाए गए थे। अन्य एंडपॉइंट्स का उपयोग करके बनाए गए कार्ड्स नहीं लौटाए जाते।
https://ads-api.x.com/12/accounts/:account_id/cards
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards?count=1
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/cards/:card_id
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/1321554298900107264
उदाहरण रिस्पॉन्स
Content-Type को application/json पर सेट किया जाना चाहिए।
विस्तृत उपयोग उदाहरण के लिए हमारी Carousels Guide देखें।
https://ads-api.x.com/12/accounts/:account_id/cards
JSON POST बॉडी में कार्ड का name और components की एक array होना चाहिए। Components को objects के रूप में दर्शाया जाता है और वे कार्ड की विज्ञापनदाता-संबंधी विशेषताओं का वर्णन करते हैं।
निम्न उदाहरण payload की सामान्य संरचना दिखाता है (लेकिन इसमें ऐसी जानकारी शामिल है जो काम नहीं करेगी)।
हर घटक में
type फ़ील्ड होना चाहिए, जो ऑब्जेक्ट का schema निर्धारित करती है। Ads API निम्नलिखित घटक प्रकारों का समर्थन करता है, जिन्हें media-आधारित और description-आधारित घटकों में समूहित किया गया है।
- मीडिया:
MEDIA: एकल video या imageSWIPEABLE_MEDIA: 2-6 videos या images- विवरण:
DETAILSBUTTON
type key के अलावा)। इन्हें नीचे दी गई तालिका में सूचीबद्ध किया गया है।
नीचे
components array के संदर्भ में BUTTON घटक का एक उदाहरण दिया गया है (name key को जानबूझकर छोड़ा गया है)। (ellipsis उन स्थानों को दर्शाते हैं जहाँ अधिक जानकारी निर्दिष्ट करने की आवश्यकता होगी।)
DETAILS या BUTTON component में से किसी एक का उपयोग करके बनाया जाना चाहिए। Description-based components, media के नीचे render किए जाते हैं और उनसे destinations संबद्ध होती हैं, जो या तो URLs होती हैं या mobile apps।
लेबल
लेबल बटनों पर दिखने वाले text को परिभाषित करते हैं और इसलिए केवल BUTTON component पर लागू होते हैं। Label objects में दो आवश्यक keys होती हैं: type और value। type को ENUM पर सेट किया जाना चाहिए और value इनमें से एक हो सकता है: BOOK, CONNECT, INSTALL, OPEN, ORDER, PLAY, या SHOP।
पिछले उदाहरण को आगे बढ़ाते हुए, नीचे BUTTON component के भीतर label object दिखाया गया है।
DETAILS या BUTTON कॉम्पोनेंट के भीतर हमेशा आवश्यक होते हैं। गंतव्य के दो type होते हैं: WEBSITE या APP।
नोट: वेबसाइट गंतव्य का उपयोग केवल DETAILS कॉम्पोनेंट के साथ किया जा सकता है और ऐप गंतव्य का उपयोग केवल BUTTON कॉम्पोनेंट के साथ किया जा सकता है।
वेबसाइट गंतव्य
ऐप गंतव्य
उदाहरण अनुरोध
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/cards
उदाहरण रिस्पॉन्स
Content-Type को application/json पर सेट किया जाना चाहिए।
https://ads-api.x.com/12/accounts/:account_id/cards/1321554298900107264
JSON POST बॉडी में उन पैरामीटर को शामिल करना चाहिए जिन्हें अपडेट किया जाना है। अनुरोध, पेलोड में निर्दिष्ट पैरामीटर के अनुसार प्रत्येक फ़ील्ड को प्रतिस्थापित कर देगा। कॉम्पोनेंट को ऑब्जेक्ट के रूप में दर्शाया जाता है और वे कार्ड की विज्ञापनदाता-संबंधी विशेषताओं का वर्णन करते हैं।
निम्न उदाहरण पेलोड की सामान्य संरचना दिखाता है (लेकिन इसमें गैर-कार्यशील जानकारी शामिल है)।
उदाहरण अनुरोध
यह उदाहरण, ऊपर दिए गए उदाहरण के components फ़ील्ड सेmedia_keys में से एक को हटाने के साथ-साथ, नाम को भी अपडेट करता है।
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/1321554298900107264
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/cards/:card_id
उदाहरण अनुरोध
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/1321554298900107264
उदाहरण रिस्पॉन्स
card_uri के आधार पर कई कार्ड प्राप्त करें।
https://ads-api.x.com/12/accounts/:account_id/cards/all
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/all?card_uris=card://1044294149527166979,card://1044301099031658496
उदाहरण रिस्पॉन्स
card_id द्वारा प्राप्त करें.
https://ads-api.x.com/12/accounts/:account_id/cards/all/:card_id
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/all/508pf
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/draft_tweets
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets?count=1
https://ads-api.x.com/12/accounts/:account_id/draft_tweets/:draft_tweet_id
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/994788364334325760
as_user_id पैरामीटर में निर्दिष्ट उपयोगकर्ता के लिए एक ड्राफ़्ट Tweet बनाएँ।
https://ads-api.x.com/12/accounts/:account_id/draft_tweets
उदाहरण अनुरोध
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets?as_user_id=756201191646691328&text=Just setting up my X.
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/draft_tweets/:draft_tweet_id
उदाहरण अनुरोध
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/994747471329873920?text=just setting up my twttr
https://ads-api.x.com/12/accounts/:account_id/draft_tweets/:draft_tweet_id
उदाहरण अनुरोध
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/994787835663155200
https://ads-api.x.com/12/accounts/:account_id/draft_tweets/preview/:draft_tweet_id
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/draft_tweets/preview/996132315829948416
card_uri पैरामीटर का उपयोग करें।
वर्तमान खाते से संबद्ध कुछ या सभी इमेज कन्वर्सेशन कार्ड्स का विवरण प्राप्त करें।
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation?card_ids=59woh
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation/:card_id
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation/59woh
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation
उदाहरण अनुरोध
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation?media_key=3_957113581522141184&name=image conversation card&first_cta=#moon&first_cta_tweet=stars&thank_you_text=thanks&title=Full moon
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation/:card_id
उदाहरण अनुरोध
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation/59woh?name=moon card
https://ads-api.x.com/12/accounts/:account_id/cards/image_conversation/:card_id
उदाहरण अनुरोध
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/image_conversation/4i0qe
मीडिया लाइब्रेरी
वर्तमान खाते से संबद्ध कुछ या सभी मीडिया लाइब्रेरी ऑब्जेक्ट का विवरण प्राप्त करें।https://ads-api.x.com/12/accounts/:account_id/media_library
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library?count=1
https://ads-api.x.com/12/accounts/:account_id/media_library/:media_key
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library/13_909110614026444802
AMPLIFY_VIDEO media category वाला वीडियो मीडिया लाइब्रेरी में जोड़ने पर, वह अपने-आप PREROLL account_media एसेट के रूप में उपलब्ध हो जाता है।
https://ads-api.x.com/12/accounts/:account_id/media_library
उदाहरण अनुरोध
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library?media_key=3_931236738554519552
https://ads-api.x.com/12/accounts/:account_id/media_library/:media_key
उदाहरण अनुरोध
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library/16_844800354743074820?title=cat GIF&description=in space
https://ads-api.x.com/12/accounts/:account_id/media_library/:media_key
उदाहरण अनुरोध
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/media_library/7_860318603387600896
https://ads-api.x.com/12/accounts/:account_id/cards/poll
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll?card_ids=57i77
https://ads-api.x.com/12/accounts/:account_id/cards/poll/:card_id
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll/57i8t
उदाहरण रिस्पॉन्स
PROMOTED_MEDIA_POLLS account feature की आवश्यकता होती है।
नोट: पोल कार्ड को update (PUT) करना संभव नहीं है।
https://ads-api.x.com/12/accounts/:account_id/cards/poll
उदाहरण अनुरोध
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll?duration_in_minutes=10080&first_choice=East&second_choice=West&media_key=13_950589518557540353&name=best coast poll
https://ads-api.x.com/12/accounts/:account_id/cards/poll/:card_id
उदाहरण अनुरोध
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/poll/57i9t
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions?line_item_ids=8v53k
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions/:preroll_call_to_action_id
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions/8f0
उदाहरण रिस्पॉन्स
PREROLL_VIEWS line item के लिए वैकल्पिक Call-to-Action (CTA) सेट करें।
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions?line_item_id=8v53k&call_to_action=VISIT_SITE&call_to_action_url=https://www.x.com
PREROLL_VIEWS line item के लिए वैकल्पिक Call-to-Action (CTA) अपडेट करें.
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions/:preroll_call_to_action_id
उदाहरण अनुरोध
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions/8f0?call_to_action=WATCH_NOW
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/preroll_call_to_actions/:preroll_call_to_action_id
उदाहरण अनुरोध
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/preroll_call_to_actions/8f0
Scheduled Tweets
वर्तमान खाते से संबद्ध कुछ या सभी Scheduled Tweets का विवरण प्राप्त करता है।https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets?count=1
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets/917438609065623552
as_user_id पैरामीटर में निर्दिष्ट उपयोगकर्ता के लिए एक Scheduled Tweet बनाएँ।
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets
उदाहरण अनुरोध
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets?as_user_id=756201191646691328&media_keys=3_917438348871983104&scheduled_at=2018-01-01
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id
उदाहरण अनुरोध
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets/875057751231037440?text=winter solstice
https://ads-api.x.com/12/accounts/:account_id/scheduled_tweets/:scheduled_tweet_id
उदाहरण अनुरोध
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/scheduled_tweets/875064008595787776
- एक ही API अनुरोध में एकाधिक Tweet—अधिकतम 200 तक—का पूर्वावलोकन करने का समर्थन करता है
- Tweet लेआउट और शैली की सटीक, अद्यतन रेंडरिंग
- सभी नवीनतम फ़ॉर्मैट और कार्ड type का समर्थन करता है
- एक iframe लौटाता hai
https://ads-api.x.com/12/accounts/:account_id/tweet_previews
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tweet_previews?tweet_ids=1122911801354510336,1102836745790316550&tweet_type=PUBLISHED
user_id पैरामीटर में निर्दिष्ट उपयोगकर्ता के लिए Tweet का विवरण प्राप्त करें। यह खाते के अंतर्गत किसी भी प्रमोटेबल उपयोगकर्ता का हो सकता है।
https://ads-api.x.com/12/accounts/:account_id/tweets
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/tweets?tweet_ids=1166476031668015104&tweet_type=PUBLISHED&trim_user=true
उदाहरण रिस्पॉन्स
as_user_id पैरामीटर में निर्दिष्ट उपयोगकर्ता के लिए एक Tweet बनाएँ। nullcasted (डिफ़ॉल्ट) और organic, दोनों तरह के Tweet निर्माण का समर्थन किया जाता है। Nullcasted Tweets सार्वजनिक timeline में दिखाई नहीं देते और followers को नहीं दिखाए जाते। दोनों में से किसी भी प्रकार का उपयोग campaigns में किया जा सकता है।
यदि authenticated user इस खाते का FULL promotable user नहीं है, तो GET accounts/:account_id/authenticated_user_access endpoint पर अनुरोध करके यह तय करें कि क्या उसके पास इस user की ओर से Tweet करने की अनुमति है। TWEET_COMPOSER permission यह दर्शाती है कि user इस endpoint का उपयोग FULL promotable user की ओर से nullcasted Tweets बनाने के लिए कर सकता है।
मीडिया के लिए upload.x.com endpoint का उपयोग करते समय, additional_owners पैरामीटर में वही user_id वैल्यू पास करें, जो आप इस endpoint में as_user_id वैल्यू के रूप में पास करते हैं।
https://ads-api.x.com/12/accounts/:account_id/tweet
उदाहरण अनुरोध
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/tweet?text=hello, world&as_user_id=756201191646691328&trim_user=true
उदाहरण रिस्पॉन्स
name को अपडेट करें.
https://ads-api.x.com/12/accounts/:account_id/tweets/:tweet_id/name
उदाहरण अनुरोध
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/tweets/994747471329873920/name?name=new Tweet name
उदाहरण रिस्पॉन्स
card_uri पैरामीटर का उपयोग करें।
वर्तमान खाते से संबद्ध कुछ या सभी वीडियो कन्वर्सेशन कार्ड्स का विवरण प्राप्त करें।
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation?card_ids=5a86h
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation/:card_id
उदाहरण अनुरोध
GET https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation/5a86h
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation
उदाहरण अनुरोध
POST https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation?first_cta=#APIs&first_cta_tweet=Ads API&name=video conversation card&thank_you_text=Build it&title=Developers&media_key=13_958388276489895936
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation/:card_id
उदाहरण अनुरोध
PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation/5a86h?name=developers card
उदाहरण रिस्पॉन्स
https://ads-api.x.com/12/accounts/:account_id/cards/video_conversation/:card_id
उदाहरण अनुरोध
DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/cards/video_conversation/4i0ya