HTTP API
मौजूदा HTTP API से प्रमाणीकरण करें, टूल खोजें और बदलावों की पुष्टि करें.
प्रोडक्ट API के अनुरोध अपने भरोसेमंद Influence ओरिजिन पर भेजें, जैसे https://influence.so. दस्तावेज़ों का डोमेन प्रोडक्ट API के अनुरोध स्वीकार नहीं करता. नीचे दिए गए पथ ज्यों के त्यों, बिना क्वेरी पैरामीटर इस्तेमाल करें.
सीमित अनुमतियों वाली API कुंजी बनाएँ
Influence की सेटिंग में ऐप्स और ऑटोमेशन → API कुंजियाँ खोलें. ज़रूरी अनुमतियाँ और समय सीमा चुनें. सिर्फ़ एक बार दिखाई जाने वाली कुंजी को अपने सीक्रेट स्टोर में PUBLISH_API_TOKEN के नाम से रखें. उसे Authorization: Bearer … में भेजें; URL, अनुरोध की बॉडी या चैट में कभी न डालें. ज़रूरत खत्म होने पर उसे रद्द करें.
टूल खोजें और खाते पढ़ें
PUBLISH_API_URL में भरोसेमंद ओरिजिन सेट करें. इन उदाहरणों में माना गया है कि आपके प्रोसेस में PUBLISH_API_TOKEN पहले से है. accountList के लिए integrations:read ज़रूरी है; आगे के पेज पाने के लिए उसके पेजिनेशन फ़ील्ड अपनाएँ.
export PUBLISH_API_URL="https://influence.so"
curl "$PUBLISH_API_URL/api/v1/tools" \
-H "Authorization: Bearer $PUBLISH_API_TOKEN"
curl "$PUBLISH_API_URL/api/v1/tools/accountList/call" \
-H "Authorization: Bearer $PUBLISH_API_TOKEN" \
-H 'Content-Type: application/json' \
--data '{"input":{}}'
अनुरोध के पथ
| मेथड | पथ | उद्देश्य |
|---|---|---|
GET |
/api/v1/tools |
इस क्रेडेंशियल के लिए उपलब्ध टूल की सूची लें. |
POST |
/api/v1/tools/{tool}/call |
ऐसा टूल कॉल करें जिसे पुष्टि नहीं चाहिए; इनमें पहले से अनुमति मिले अपलोड को आगे बढ़ाने वाली कार्रवाइयाँ भी शामिल हैं. |
POST |
/api/v1/tools/{tool}/prepare |
लिखने की कार्रवाई चलाए बिना उसका सटीक अनुरोध तैयार करें. |
POST |
/api/v1/tools/{tool}/confirm |
लिखने के तैयार अनुरोध की पुष्टि करें. |
POST |
/api/v1/media/import |
छोटे बाइनरी इमेज अपलोड के तैयार अनुरोध की पुष्टि करें. |
JSON टूल अनुरोधों में Content-Type: application/json और सिर्फ़ input वाली बॉडी होती है: {"input":{…}}. हर टूल का इनपुट स्कीमा मौजूदा टूल कैटलॉग से लें.
कार्रवाइयाँ तैयार करें और पुष्टि करें
कैटलॉग का confirmation फ़ील्ड इस्तेमाल करें: पढ़ने की कार्रवाइयों को आम तौर पर पुष्टि नहीं चाहिए, लेकिन इनसाइट्स रीफ़्रेश करने के लिए पढ़ने की कार्रवाई होने पर भी पुष्टि चाहिए. अपलोड पार्ट खोजना, अपलोड पूरा करना और रद्द करना पहले से अनुमति मिले अपलोड को /call से आगे बढ़ाते हैं.
- सटीक बिज़नेस इनपुट
/prepareपर भेजें. सफल जवाब मेंstatus: "confirmation_required",confirmationCapability,expiresAt,inputDigestऔर वैकल्पिकsummaryहोते हैं. - समय सीमा खत्म होने से पहले वही इनपुट
/confirmपर भेजें. लौटाई गई कैपेबिलिटीX-Publish-Confirmationमें और कॉलर की बनाई नई कुंजीIdempotency-Keyमें दें. - इनपुट, कैपेबिलिटी और कुंजी साथ रखें. पुष्टि बीच में रुक जाए या अनिश्चित हो, तो उसी अनुरोध के लिए तीनों दोबारा इस्तेमाल करें. अनिश्चित नतीजे से उबरने के लिए उसकी जगह नया अनुरोध तैयार न करें.
इडेम्पोटेंसी कुंजी में A–Z, a–z, 0–9, ., _, : और - के 16–200 कैरेक्टर होते हैं. पुष्टि की कैपेबिलिटी ऐसे सीक्रेट मान हैं जिनकी आंतरिक बनावट पर निर्भर नहीं करना चाहिए. /call या /prepare को भेजी गई कुंजी पुष्टि किए गए लिखने के अनुरोध को आरक्षित नहीं करती.
ट्रांसपोर्ट की पुष्टि, पब्लिशिंग की मंज़ूरी से अलग है. पब्लिश करने या शेड्यूल बदलने के लिए पूरी मौजूदा समीक्षा दिखाएँ: खाते, टेक्स्ट, सेटिंग्स, मीडिया के असली प्रीव्यू या लिंक, शेड्यूल किया गया समय और टाइम ज़ोन. योग्य सोशल टेक्स्ट, इमेज और वीडियो समीक्षा के लिए क्लाइंट approval: "approved" के साथ इंसान की ताज़ा, स्पष्ट मंज़ूरी बता सकता है; वह सहमति न गढ़े और तैयारी को मंज़ूरी न माने. Influence इसे क्लाइंट की बताई मंज़ूरी के रूप में दर्ज करता है. समर्थित एम्बेडेड कार्ड या साइन इन करके की गई समीक्षा में इंसान की कार्रवाई उसी माध्यम से दर्ज होती है.
TikTok Direct में समीक्षा के क्रम के ज़रिए चैट में स्पष्ट चुनाव और सहमति दी जा सकती है. पूरे चुनाव campaignReview से सहेजें, फिर कार्रवाई करने से पहले अपडेट की गई समीक्षा की नई मंज़ूरी लें. समीक्षा कार्ड वैकल्पिक है. सामान्य API/CLI शेड्यूलिंग AI शेड्यूलिंग सीमा का इस्तेमाल नहीं करती; अलग MCP और Influence IQ सीमा उन प्रक्रियाओं पर लागू रहती है, भले सहेजी गई AI समीक्षा को बाद में Influence में मंज़ूरी दी जाए. प्लान और सेवा प्रदाता की दूसरी ज़रूरतें भी लागू रहती हैं. आगे की कार्रवाई से पहले सहेजी गई रसीद पढ़ें; needs_review का मतलब स्थिति का मिलान करके उसे सुलझाना है, फिर भेजना नहीं.
त्रुटियाँ और अनिश्चित नतीजे सँभालें
HTTP स्टेटस और जवाब की बॉडी दोनों जाँचें. सफल टूल {"ok":true,"toolName":"…","output":{…}} लौटाते हैं. टूल की विफलताएँ {"ok":false,"toolName":"…","error":{"code":"…","message":"…","retryable":false}} लौटाती हैं और HTTP 200 के साथ भी आ सकती हैं. ट्रांसपोर्ट की विफलताएँ ok या toolName के बिना {"error":{"code":"…","message":"…","retryable":false}} इस्तेमाल करती हैं.
401 का मतलब प्रमाणीकरण ज़रूरी है; समय सीमा या रद्द किए जाने की स्थिति जाँचें. अनुमति न हो तो सही ऐक्सेस देना होगा, बार-बार अनुरोध भेजना हल नहीं है. 503 का मतलब सेवा उपलब्ध न होना या किसी दूसरे शेड्यूलिंग अनुरोध से वर्कस्पेस अपडेट होना हो सकता है. लौटाया गया त्रुटि कोड और दोबारा कोशिश के निर्देश अपनाएँ; पब्लिशिंग की कार्रवाई अपने आप फिर न चलाएँ. टाइमआउट यह साबित नहीं करता कि लिखने की कार्रवाई विफल रही: पुष्टि का डेटा रखें और फिर भेजने से पहले मौजूदा स्थिति पढ़ें. स्वीकार किया जाना, शेड्यूल होना और पब्लिश होना अलग नतीजे हैं.
मीडिया अपलोड करें
लोकल फ़ाइल के लिए SDK के uploadMedia या CLI के media:upload को प्राथमिकता दें. वे वही मल्टीपार्ट अपलोड टूल इस्तेमाल करते हैं और दोबारा कोशिश के लिए स्थिर clientKey रखते हैं. सिर्फ़ तैयार नतीजे को, जिसमें assetId हो, जोड़ा जा सकता है. अनुमति मिले HTTPS लिंक के लिए url और वैकल्पिक name के साथ mediaImport इस्तेमाल करें. असली होस्ट फ़ाइल रेफ़रेंस अलग file ऑब्जेक्ट इस्तेमाल करते हैं; सार्वजनिक URL के लिए गढ़ी हुई होस्ट फ़ाइल ID की ज़रूरत नहीं. लोकल फ़ाइल पथ डाउनलोड URL नहीं है. मीडिया की सीमाएँ देखें: HTTPS वीडियो इंपोर्ट की सीमा 250 MiB है, भले सीधे अपलोड से उससे बड़ा तैयार MP4 स्वीकार किया जा सकता हो.
POST /api/v1/media/import मौजूदा छोटे इमेज ट्रांसपोर्ट का समर्थन करता है: सटीक अपलोड डिस्क्रिप्टर के साथ mediaImport तैयार करें, फिर वही बाइट application/octet-stream के रूप में भेजें. X-Publish-Confirmation, Idempotency-Key और URI-एन्कोड किए गए JSON डिस्क्रिप्टर वाला X-Publish-Upload शामिल करें. बाइट का आकार और SHA-256 डिस्क्रिप्टर से मेल खाने चाहिए. इस ट्रांसपोर्ट की सीमा 3 MiB है; बड़ी समर्थित फ़ाइल के लिए अपलोड हेल्पर इस्तेमाल करें. अपलोड करने से पब्लिशिंग की मंज़ूरी कभी नहीं मिलती.