Approval Workflow
यदि आपके प्रकाशन workflow को एक पोस्ट भेजने से पहले approval की आवश्यकता है, तोrequiresApproval फ़ील्ड को true पर सेट करें।
यह पोस्ट को तब तक रोकने के बराबर है जब तक approved parameter को true पर सेट नहीं किया जाता।
Approval Workflow उदाहरण
पोस्ट की स्थिति “awaiting approval” रहेगी जब तक कि /post PATCH endpoint के माध्यम सेapproved parameter को true पर सेट नहीं किया जाता।
1
parameters के साथ प्रकाशित करें
requiresApproval फ़ील्ड को true के रूप में /post endpoint का उपयोग करके अपना पोस्ट प्रकाशित करें।
आप scheduleDate जैसे मानक parameters भी शामिल कर सकते हैं।2
स्थिति awaiting approval है
पोस्ट “awaiting approval” स्थिति में होगा और approval मिलने तक रोका जाएगा।
3
पोस्ट को अनुमोदित करें
approved फ़ील्ड को true के रूप में सेट करते हुए /post PATCH operation
के साथ पोस्ट को अपडेट करें। पोस्ट अब scheduled समय पर भेजा जाएगा।4
notes का उपयोग करें
वैकल्पिक: संदर्भ के लिए पोस्ट पर
notes सेट करें, जैसे कि पोस्ट को कौन अनुमोदित करने की आवश्यकता है।Approval के साथ Post प्रकाशित करें
Approval Workflow वीडियो
Approval workflow के उदाहरण के लिए कृपया नीचे दिया गया वीडियो देखें।Auto Hashtags
अपने पोस्ट में सबसे प्रासंगिक hashtags जोड़ें।autoHashtag एक object या Boolean है - नीचे देखें - निम्नलिखित parameters के साथ:
max: (वैकल्पिक) जोड़े जाने वाले hashtags का Integer, range 1-10। Default 2।position: (वैकल्पिक) String “auto” या “end”। Auto पोस्ट के भीतर या अंत में hashtags जोड़ता है। “end” hashtags को केवल अंत में जोड़ता है।
true पास करें।
Auto Repost
आपकी सामग्री को नियमित अंतराल पर कई बार स्वचालित रूप से repost करता है, evergreen सामग्री बनाता है जो आपके audience के लिए ताज़ा और दिखाई देने वाली रहती है। एक paid plan आवश्यक है। Parameters:repeat: (आवश्यक) सामग्री को repost करने की संख्या। 1 और 10 के बीच होनी चाहिए।days: (आवश्यक) प्रत्येक repost के बीच दिनों की संख्या। कम से कम 2 दिन होने चाहिए।startDate: (वैकल्पिक) repost schedule कब शुरू करें, ISO-8601 UTC format में। यदि निर्दिष्ट नहीं किया गया, तो पहला पोस्ट तुरंत प्रकाशित किया जाएगा। आपको top-levelscheduleDateparameter के बजायstartDateparameter का उपयोग करना चाहिए।
Auto Repost
autoRepostId शामिल होगा।
Auto Repost Response
autoRepostId सौंपा जाता है।
आप autoRepostId के साथ History call के साथ किसी पोस्ट के सभी auto reposts प्राप्त कर सकते हैं।
यदि आपको repost हटाने की आवश्यकता है, तो आप पोस्ट ID के साथ DELETE call का उपयोग कर सकते हैं।
First Comment
पोस्ट प्रकाशित होने के बाद, media के साथ स्वचालित रूप से पहला comment जोड़ें। TikTok के लिए comment को तब तक स्थगित किया जाता है जब तक video processing पूरी नहीं हो जाती (First Comment Processing Time देखें)। अपने स्वयं के social media पोस्ट पर पहला comment पोस्ट करना engagement को शुरू करने और आगे की चर्चा के लिए tone सेट करने में मदद कर सकता है।First Comment Processing Time
अधिकांश social networks के लिए, API response में देरी होती है क्योंकि हमारे system को (1) मूल पोस्ट के पूरी तरह प्रकाशित होने की प्रतीक्षा करनी चाहिए, फिर (2) उस प्रकाशित पोस्ट में comment जोड़ना चाहिए। यह अनुक्रमिक प्रक्रिया लगभग 20 सेकंड की देरी जोड़ती है। TikTok को अलग तरह से handle किया जाता है। TikTok videos को asynchronously process करता है, इसलिए पोस्टid तब तक "pending" रहती है जब तक TikTok का post.publish.publicly_available webhook वास्तविक video id को resolve नहीं करता (TikTok Processing देखें)। इसलिए /post response TikTok first comment को status: "pending" के साथ तुरंत लौटाता है, और TikTok के processing पूरा करने और tikTokPublished Scheduled Action webhook के fire होने पर comment स्वचालित रूप से पोस्ट किया जाता है। TikTok processing time की गारंटी नहीं देता, इसलिए कोई निश्चित देरी नहीं है।
महत्वपूर्ण TikTok नोट: TikTok पर first comments के सही ढंग से काम करने के लिए, पोस्ट का visibility parameter public पर सेट होना चाहिए। गैर-public video को कभी भी publicly_available webhook प्राप्त नहीं होता, इसलिए इसका first comment पोस्ट नहीं किया जा सकता; उस स्थिति में Ayrshare comment error लौटाता है बजाय इसे pending छोड़ने के।
Idempotent Posts
Idempotency एक वैकल्पिक feature है जो सुनिश्चित करता है कि एक request केवल एक बार execute किया जाए, भले ही इसे गलती से कई बार भेजा गया हो। API का उपयोग करके सामग्री पोस्ट करते समय, आप operation को विशिष्ट रूप से पहचानने के लिए request body में एक वैकल्पिकidempotencyKey parameter शामिल कर सकते हैं। यह आपको duplicate posts बनाने के जोखिम के बिना पोस्ट request को सुरक्षित रूप से पुनः प्रयास करने की अनुमति देता है।
Idempotency का उपयोग करने के लिए, /post POST request के JSON body में idempotencyKey parameter जोड़ें:
Idempotency Key
idempotencyKey का मान प्रति User Profile एक अद्वितीय string होना चाहिए। यदि किसी दिए गए User Profile के लिए समान idempotencyKey के साथ एक request किया जाता है, तो पोस्ट की स्थिति (success, error, pending, या deleted) की परवाह किए बिना, एक error लौटाया जाएगा, जो दर्शाता है कि एक duplicate key पाया गया था।
Idempotency का उपयोग failed requests को पुनः प्रयास करने या network issues को handle करते समय duplicate posts के आकस्मिक निर्माण को रोकने में मदद करता है। हालाँकि, संभावित failures को शालीनता से handle करने के लिए अपने application में उपयुक्त error handling और retry mechanisms को लागू करने की अभी भी सलाह दी जाती है।
Image और Video आवश्यकताएँ
Images और videos पोस्ट करने की प्रत्येक network के लिए अलग-अलग आवश्यकताएँ हैं, लेकिन चिंता न करें। हमारा system भेजने से पहले आपके पोस्ट को verify करता है, इसलिए यदि कुछ गलत है तो आपको एक error response मिलेगी। Image और video दिशानिर्देशों पर विवरण के लिए नीचे दिया गया link देखें।Image & Video Guidelines
मान्य URL
सुनिश्चित करें कि आपके media URL(s) मान्य हैं और media तक सीधे पहुँच रहे हैं। पहला परीक्षण URL को browser में आज़माना है। यदि image लोड नहीं होगी या browser में download नहीं की जा सकती, तो यह संभवतः विफल हो जाएगी। उदाहरण के लिए, एक DropBox URL जो DropBox web app खोलता है काम नहीं करेगा। हमHEAD request करके media URL को verify करते हैं।
कृपया सुनिश्चित करें कि hosting provider HEAD request को block नहीं कर रहा है अन्यथा पोस्ट 403 error के साथ विफल हो जाएगा।
उदाहरण के लिए, यहाँ media URL के लिए एक HEAD request है:
Fetch HEAD Request
स्वचालित Media सुरक्षा
Ayrshare में built-in media protection शामिल है जो posting के दौरान कुछ media delivery issues का पता लगा सकती है और उनका समाधान कर सकती है। जब कोई पोस्ट सफल होता है लेकिन content issue का पता चला और उसका समाधान हो गया, तोpostIds[] में प्रत्येक प्रभावित entry में एक वैकल्पिक contentIssues object शामिल होता है ताकि आप अंतर्निहित issue की पहचान कर सकें और उसे ठीक कर सकें:
originMediaHostFailed देखते हैं, तो अपनी media hosting configuration की समीक्षा करें। सामान्य कारणों और समाधानों के लिए Meta Media Crawler Blocked देखें।
रिक्त स्थान और विशेष वर्ण
हम आपके media URLs में निम्नलिखित से बचने की सलाह देते हैं:- URL में रिक्त स्थान।
- URL में URL encoded रिक्त स्थान।
- URL में विशेष वर्ण, भले ही वे url encoded हों, जैसे accent marks é।
test .webp के कारण विफल होता है। हम URL में URL encoded रिक्त स्थान, जैसे %20 का उपयोग करने की भी अनुशंसा नहीं करते हैं - यह कुछ social networks के साथ भी समस्याएँ पैदा कर सकता है।
और यह Unsplash image:
फ़ाइल नाम और URLs को Sanitize करें
आप अपने फ़ाइल नामों को/[^a-z0-9\/\.]/gi जैसे regular expression के साथ sanitize कर सकते हैं।
अतिरिक्त जानकारी
- यदि आप self hosting कर रहे हैं, तो सुनिश्चित करें कि URL बाहरी रूप से accessed किया जा सकता है और विशेष अनुमतियों की आवश्यकता नहीं है।
- अज्ञात extensions वाले videos, अक्सर signed URLs जैसे AWS S3 को handle करने के तरीके के लिए नीचे देखें।
- यदि आप signed URL का उपयोग कर रहे हैं, जैसे S3, हम URL expiration को कम से कम 7 दिनों पर सेट करने की अनुशंसा करते हैं। यह हमारी टीम को पोस्ट प्रकाशित करने पर आपके किसी भी प्रश्न में सहायता करने की अनुमति देता है।
- हमारे verify media tools के साथ परीक्षण करें कि media URL मौजूद है या नहीं।
Download गति
सुनिश्चित करें कि आपकी media hosting में तेज़ connection है, विशेष रूप से download speed। आप pingdom पर अपने media hosting प्रदर्शन का परीक्षण कर सकते हैं। हम कम से कम B rating की अनुशंसा करते हैं।Video Extension
यदि आपका URLmp4 जैसे ज्ञात video extension में समाप्त नहीं होता है, तो आप यह निर्दिष्ट करने के लिए पोस्ट में isVideo: true फ़ील्ड का उपयोग कर सकते हैं कि mediaUrl एक video है। Ayrshare फ़ाइल प्रकार निर्धारित करने का प्रयास करेगा, जैसे MOV। हालाँकि, हम आपकी video फ़ाइल को स्पष्ट रूप से mp4 जैसे ज्ञात extension के साथ समाप्त करने की अनुशंसा करते हैं, क्योंकि social networks के साथ इसकी उच्च सफलता दर है।
केवल Image या Video
कुछ social networks पोस्ट text के बिना media भेजने का समर्थन करते हैं। यदि आप पोस्ट text शामिल नहीं करना चाहते हैं, तो एक खाली string भेजें:post: ""
निम्नलिखित social networks कोई पोस्ट/blank text का समर्थन करते हैं: Facebook, Instagram, LinkedIn, Threads, TikTok, और X/Twitter।
Images और Videos का परीक्षण
अपने परीक्षण को गति देने के लिए random text और random image या video generate करने पर विचार करें। अपने प्रत्येक test posts के लिए कुछ अलग सोचने की कोशिश करना बंद करें!Line Breaks
यदि आप एक पोस्ट में line breaks (नई lines) चाहते हैं, तो अदृश्य line break
\u2063\n का उपयोग करें। उदाहरण के लिए, This is a new\u2063\nline.हम यह देखने के लिए Postman में परीक्षण करने की भी अनुशंसा करते हैं कि नई line break आपकी पसंद की भाषा में कैसे translated होती है। उदाहरण के लिए, PHP अक्सर केवल \n का उपयोग करता हैकुछ social networks वर्तमान में पोस्ट text में line breaks का समर्थन नहीं करते हैं।Multi-Platform Posts और Media
यह feature आपको एक ही API call के भीतर विभिन्न social networks के लिए अपनी पोस्ट सामग्री और media को अनुकूलित करने की अनुमति देता है। आपpost और mediaUrls फ़ील्ड के लिए objects का उपयोग करके प्रत्येक platform के लिए अद्वितीय text और/या images निर्दिष्ट कर सकते हैं।
postऔर/याmediaUrlsफ़ील्ड के लिए एक object structure का उपयोग करें।- platform नामों को keys के रूप में उपयोग करके platform-विशिष्ट सामग्री निर्दिष्ट करें।
- platforms पर उपयोग की जाने वाली सामग्री के लिए एक
defaultkey शामिल करें जो स्पष्ट रूप से निर्दिष्ट नहीं है।
- Instagram अपने विशिष्ट text और image URL का उपयोग करेगा।
- Facebook अपने विशिष्ट text और default image URL का उपयोग करेगा।
- LinkedIn default text और अपने विशिष्ट image URL का उपयोग करेगा।
यदि आपको विभिन्न platforms पर कई images पोस्ट करने की आवश्यकता है, तो इस multi-platform संरचना का उपयोग करने के बजाय प्रत्येक platform के लिए अलग-अलग posts बनाएँ।
Profile Keys
Body parameter के रूप में उपयोगकर्ताओं की Profile Keys प्रदान करके उपयोगकर्ता की ओर से पोस्ट करें और response में अतिरिक्त data। Business या Enterprise Plan आवश्यक।Profiles
Rich Text Posts
आप rich text जोड़ सकते हैं जैसे ”𝓗𝓮𝓵𝓵𝓸, how about a little 𝗯𝗼𝗹𝗱 𝘁𝗲𝘅𝘁 and 𝘪𝘵𝘢𝘭𝘪𝘤𝘴 𝘵𝘦𝘹𝘵 and an x₂?”। आप Twitter, Facebook, LinkedIn, Telegram, और Instagram जैसे networks पर rich text का उपयोग कर सकते हैं। यदि Reddit पर पोस्ट कर रहे हैं, तो कृपया Reddit-flavored Markdown formatting का उपयोग करें। HTML elements का उपयोग rich text के प्रकार को निर्दिष्ट करने के लिए किया जाता है, जिसे unicode में translated किया जाता है। उदाहरण के लिए:HTML Elements
CSS Codes
Schedule Posts
Scheduled Posts बनाएँ
आप Zulu/UTC में datetime के साथscheduleDate parameter निर्दिष्ट करके भविष्य के पोस्ट schedule कर सकते हैं। Zulu Time, जिसे Coordinated Universal Time (UTC) के रूप में भी जाना जाता है, समय के लिए विश्व मानक है।
उदाहरण के लिए, format YYYY-MM-DDThh:mm:ssZ का उपयोग करें और 2026-07-08T12:30:00Z के रूप में भेजें।
अधिक उदाहरणों के लिए कृपया utctime देखें।
यदि scheduled post के साथ
mediaUrl शामिल है, तो media को scheduled publication समय पर उपलब्ध होना चाहिए।
उदाहरण के लिए, यदि पोस्ट 5 मार्च 2026 को प्रकाशित होने के लिए scheduled है, तो media 5 मार्च 2026 को उपलब्ध होना चाहिए।Scheduled Post की स्थिति जाँचें
आप कई तरीकों से scheduled post की स्थिति जाँच सकते हैं:- scheduled post की स्थिति स्वचालित रूप से प्राप्त करने के लिए Webhook Scheduled Action सेट करें। यह Business plan के लिए उपलब्ध है और अनुशंसित पद्धति है।
- पोस्ट ID के साथ GET call के साथ scheduled post की स्थिति प्राप्त करें।
- Ayrshare Dashboard में स्थिति जाँचें। पहले उस User Profile पर switch करें जिसके तहत पोस्ट प्रकाशित हुआ था, फिर “Posts” पृष्ठ पर जाएँ और Ayrshare Post ID का उपयोग करके खोजें।
Scheduled Posts को Pause करें
आप scheduled posts को pause कर सकते हैं जो अभी तक प्रकाशित नहीं हुए हैं। scheduled post को pause करने से यह प्रकाशित होने से रोका जाएगा जब तक कि पोस्ट को unpaused नहीं किया जाता। scheduled post को pause या unpause करने के लिए PATCH call का उपयोग करें। कृपया ध्यान दें कि यदि पोस्ट unpaused है औरscheduleDate अतीत में है तो पोस्ट तुरंत प्रकाशित हो जाएगा। unpausing से पहले scheduleDate को update करने पर विचार करें।
Links को Shorten करें
एक पोस्ट में links को Ayrshare link shortner का उपयोग करके shortened किया जा सकता है। आप पोस्ट भेजते समयshortenLinks parameter के साथ स्वचालित link shortening चालू कर सकते हैं। Max Pack आवश्यक।
Unsplash Images
unsplash body parameter के लिए निम्नलिखित फ़ील्ड उपलब्ध हैं:
- Random Image:
randomएक random Unsplash image लौटाता है। - Search Based Image: value String search term ; उदा.
moneymoney के आधार पर एक random image चुनेगा। - Image IDs: value Ids का Array; उदा. [“HubtZZb2fCM”] image https://unsplash.com/photos/HubtZZb2fCM का
यदि
mediaUrls में पोस्ट करने के लिए Unsplash URL copy कर रहे हैं, तो कृपया image address copy करना सुनिश्चित करें और
केवल URL नहीं। अधिक जानकारी के लिए कृपया यह example देखें।