HTTP
Macro Deck के साथ शामिलएक बटन से HTTP अनुरोध भेजें और जवाब के मानों को वेरिएबल में सहेजें।
स्विच चालू और बिना कॉन्फ़िगरेशन विकल्पों वाला HTTP इंटीग्रेशन पेज
- GET, POST, PUT, PATCH, DELETE और भी, क्वेरी और हेडर के साथ
- Basic, बेयरर टोकन या API कुंजी हेडर से प्रमाणीकरण
- JSON, फ़ॉर्म, टेक्स्ट और फ़ाइल अपलोड बॉडी
- स्टेटस, हेडर या JSON मानों को वेरिएबल में सहेजें
- क्वेरी पैरामीटर और हेडर के मानों में वेरिएबल
HTTP इंटीग्रेशन Macro Deck से वेब अनुरोध भेजता है। इसका उपयोग किसी वेबहुक को कॉल करने, आपके नेटवर्क में वेब API वाले किसी डिवाइस को नियंत्रित करने, या किसी ऑनलाइन सेवा से कोई मान पढ़कर उसे बटन पर दिखाने के लिए करें। यह Macro Deck के साथ आता है और शुरू से चालू रहता है, इसलिए कुछ भी कनेक्ट करने या साइन इन करने की ज़रूरत नहीं है।
दो क्रियाएँ
HTTP अनुरोध भेजें एक पूरा अनुरोध बनाती है। आप मेथड चुनते हैं, URL डालते हैं और क्वेरी पैरामीटर और हेडर को नाम और मान के जोड़ों के रूप में जोड़ते हैं। बॉडी प्रकार में आप none, json, form, text या multipart (अतिरिक्त फ़ॉर्म फ़ील्ड के साथ फ़ाइल अपलोड) चुनते हैं। प्रमाणीकरण में basic (यूज़रनेम और पासवर्ड), bearer (एक टोकन) और header (आपके नाम दिए गए हेडर में एक टोकन, उदाहरण के लिए X-Api-Key) मिलते हैं। अपेक्षित स्थिति तय करती है कि कौन से जवाब सफल माने जाएँ, डिफ़ॉल्ट रूप से 2xx। आप टाइमआउट भी सेट कर सकते हैं, रीडायरेक्ट का अनुसरण करें बंद कर सकते हैं और अधिकतम प्रतिक्रिया आकार (बाइट) सीमित कर सकते हैं।
कैप्चर जवाब के हिस्सों को वेरिएबल में सहेजते हैं। हर पंक्ति एक वेरिएबल नाम को एक सेलेक्टर से जोड़ती है: $status, $ok, $duration, $body, $truncated, $headers, $header:<name> या data.items[0].name जैसा कोई JSON पथ। जो वेरिएबल अभी मौजूद नहीं है, वह बना दिया जाता है।
JSON मान प्राप्त करें एक मान पढ़ने का छोटा तरीका है: URL, एक JSON पथ और वेरिएबल में सहेजें में वेरिएबल डालें।
उदाहरण सेटअप
- एक बटन जो HTTP अनुरोध भेजें और बॉडी प्रकार
jsonके साथ किसी चैट वेबहुक पर{"text": "Stream is live"}पोस्ट करता है। - एक बटन जो आपके नेटवर्क में किसी स्मार्ट प्लग को उसके लोकल वेब API से चालू करता है।
- एक बटन जो JSON मान प्राप्त करें से किसी सार्वजनिक API से मौजूदा कीमत पढ़ता है और उसे
{{ vars.price }}के साथ अपने लेबल में दिखाता है। - एक फ़्लो जो अनुरोध भेजता है,
$statusकैप्चर करता है और यदि / अन्यथा से बटन को लाल कर देता है जब सर्वर ने200से जवाब नहीं दिया।
क्वेरी पैरामीटर और हेडर के मानों में वेरिएबल हो सकते हैं, उदाहरण के लिए {{ vars.channel }}। अनुरोध उस कंप्यूटर पर चलता है जिस पर Macro Deck चलता है, इसलिए http://192.168.1.20 जैसे पते उस कंप्यूटर के नेटवर्क के डिवाइस तक पहुँचते हैं। जब सर्वर तक नहीं पहुँचा जा सकता, अनुरोध का टाइमआउट हो जाता है, TLS सर्टिफ़िकेट अस्वीकार हो जाता है या स्टेटस वह नहीं होता जिसकी आपने उम्मीद की थी, तो क्रिया एक साफ़ संदेश के साथ विफल होती है।
आपको क्या चाहिए
- Windows, macOS या Linux पर Macro Deck 3
- उस वेब API या वेबहुक का पता जिसे आप कॉल करना चाहते हैं
- एक API कुंजी, टोकन या पासवर्ड, अगर सेवा को इसकी ज़रूरत हो
सेट अप करें
चरण 1: जाँचें कि इंटीग्रेशन चालू है
Macro Deck में, साइडबार में एकीकरण पर क्लिक करें और HTTP पर क्लिक करें। ऊपर दाईं ओर का स्विच डिफ़ॉल्ट रूप से चालू रहता है; अगर यह बंद है, तो इसे चालू करें। सेट अप करने के लिए कुछ नहीं है: अवलोकन टैब पर इस एकीकरण के लिए कोई कॉन्फ़िगरेशन विकल्प उपलब्ध नहीं है। दिखता है।
चरण 2: किसी बटन में HTTP क्रिया जोड़ें
डेक पेज पर किसी बटन पर क्लिक करें। डेक अनलॉक होना चाहिए: जब ऊपर दाईं ओर लॉक करें बटन दिखता है, तो वह अनलॉक है। एडिटर खुलता है और उसमें छोटा दबाव चुना हुआ होता है। + क्रिया जोड़ें पर क्लिक करें, क्रिया जोड़ें डायलॉग में बाईं ओर HTTP चुनें और HTTP अनुरोध भेजें चुनें, या अगर आप केवल एक मान पढ़ना चाहते हैं तो JSON मान प्राप्त करें। आप क्रियाएँ खोजें… में नाम टाइप भी कर सकते हैं।
चरण 3: अनुरोध डालें
मेथड चुनें और URL डालें। अगर API को ज़रूरत हो तो क्वेरी पैरामीटर और हेडर जोड़ें। डेटा वाले अनुरोध के लिए बॉडी प्रकार चुनें और JSON बॉडी, फ़ॉर्म फ़ील्ड या टेक्स्ट बॉडी भरें।
चरण 4: प्रमाणीकरण जोड़ें
अगर सेवा को लॉगिन या कुंजी चाहिए, तो उसे प्रमाणीकरण में चुनें:
basicके साथ उपयोगकर्ता नाम और पासवर्ड / टोकन,bearerके साथ पासवर्ड / टोकन में टोकन, याheaderके साथ हेडर नाम और पासवर्ड / टोकन में कुंजी। ज़्यादातर सेवाएँ अपनी API कुंजियाँ या टोकन अपनी खाता या डेवलपर सेटिंग्स में दिखाती हैं।चरण 5: जवाब के मान सहेजें
जवाब का उपयोग करने के लिए कैप्चर में पंक्तियाँ जोड़ें: एक वेरिएबल नाम और
$statusजैसा कोई सेलेक्टर याdata.temperatureजैसा कोई JSON पथ। JSON मान प्राप्त करें में JSON पथ डालें और वेरिएबल में सहेजें में वेरिएबल चुनें।चरण 6: बटन आज़माएँ
अनुरोध तुरंत भेजने के लिए एडिटर में चलाएं पर क्लिक करें, या सहेजें और बटन दबाएँ। अगर क्रिया विफल होती है, तो उसका संदेश बताता है कि क्यों, उदाहरण के लिए कि सर्वर तक नहीं पहुँचा जा सका या स्टेटस अपेक्षित स्थिति से मेल नहीं खाता।
क्रियाएँ2
इन्हें किसी बटन पर रखें या किसी फ़्लो से चलाएँ।
- HTTP अनुरोध भेजें
- एक कॉन्फ़िगर करने योग्य HTTP अनुरोध भेजता है और जवाब को वेरिएबल में कैप्चर कर सकता है।
- JSON मान प्राप्त करें
- एक URL लाता है और JSON जवाब से एक मान को एक वेरिएबल में लिखता है।
अक्सर पूछे जाने वाले प्रश्न
मेरी API कुंजियाँ और पासवर्ड कहाँ सहेजे जाते हैं?
आप पासवर्ड / टोकन में जो डालते हैं, वह एन्क्रिप्ट करके सहेजा जाता है और केवल अनुरोध भेजते समय सादे टेक्स्ट में बदला जाता है। हेडर में टाइप किए गए मान बिना एन्क्रिप्शन के सहेजे जाते हैं और एक्सपोर्ट की गई प्रोफ़ाइल में साथ जाते हैं, इसलिए कुंजियाँ और टोकन इसके बजाय प्रमाणीकरण फ़ील्ड में डालें।
क्या मैं अपने लोकल नेटवर्क के किसी डिवाइस को कॉल कर सकता हूँ?
हाँ। अनुरोध उस कंप्यूटर से भेजा जाता है जिस पर Macro Deck चलता है, इसलिए हर वह पता काम करता है जिस तक वह कंप्यूटर पहुँच सकता है। सेल्फ़-साइन्ड सर्टिफ़िकेट वाले डिवाइस के लिए आप TLS सर्टिफ़िकेट सत्यापित करें बंद कर सकते हैं, लेकिन ऐसा केवल अपने नेटवर्क के डिवाइस के लिए करें।
सर्वर के जवाब देने के बावजूद क्रिया विफल क्यों होती है?
जवाब अपेक्षित स्थिति से मेल नहीं खाया, जो डिफ़ॉल्ट रूप से 2xx है। वह स्टेटस कोड डालें जो API वास्तव में लौटाता है, 200-204 जैसी कोई रेंज, एक सूची, या हर स्टेटस स्वीकार करने के लिए any। JSON मान प्राप्त करें हमेशा 2xx जवाब की उम्मीद करता है।
मैं कौन से JSON पथ इस्तेमाल कर सकता हूँ?
डॉट और इंडेक्स का उपयोग करें, उदाहरण के लिए data.items[0].name या [0].id, या पूरे डॉक्यूमेंट के लिए $। कैप्चर में $status जैसे आरक्षित सेलेक्टर पहले आते हैं, इसलिए जिस फ़ील्ड का नाम सच में status है, उसे $.status से पढ़ा जाता है।
क्या मुझे पहले वेरिएबल बनाने होंगे?
नहीं। जब कोई कैप्चर या वेरिएबल में सहेजें किसी ऐसे वेरिएबल का नाम देता है जो मौजूद नहीं है, तो Macro Deck उसे बना देता है। अगर उस नाम का वेरिएबल पहले से किसी दूसरे प्रकार के साथ मौजूद है, तो सहेजना एक संदेश के साथ विफल होता है।
स्मार्ट होम और वेब में और
Home Assistant
Macro Deck के साथ शामिलअपने डेक से लाइटें चालू-बंद करें, दृश्य और स्क्रिप्ट चलाएँ, और अपने Home Assistant की लाइव स्थितियाँ दिखाएँ।
AdGuard Home
Macro Deck के साथ शामिलAdGuard Home की सुरक्षा चालू करें, बंद करें या रोकें, और उसके आँकड़े अपने डेक पर दिखाएँ।
RSS फ़ीड
Macro Deck के साथ शामिलRSS और Atom फ़ीड फ़ॉलो करें, उनके नए लेख विजेट में दिखाएँ और नए लेख आने पर प्रतिक्रिया दें।
मौसम
Macro Deck के साथ शामिलअपने स्थानों का मौजूदा मौसम और पूर्वानुमान अपने डेक पर दिखाएँ, बिना API कुंजी के।