castomFLOW
castomFLOW खोलें

कुछ भी कनेक्ट करना

HTTP आता है, HTTP जाता है, कठिन हिस्से संभाले हुए

हर ऑटोमेशन टूल इंटीग्रेशन की एक संख्या का विज्ञापन करता है। संख्या हमेशा बड़ी होती है और हमेशा ग़लत प्रश्न होती है, क्योंकि जिस सिस्टम की आपको वास्तव में ज़रूरत है वह 2014 में किसी ऐसे व्यक्ति द्वारा इन-हाउस बनाया गया था जो अब चला गया है। असल मायने रखता है यह कि टूल उन सबके नीचे के प्रोटोकॉल कितनी अच्छी तरह बोलता है।

तैयार कनेक्शन

जिन अनुप्रयोगों पर अधिकांश व्यवसाय चलते हैं, उनके तैयार स्टेप हैं: दुकानें और मार्केटप्लेस, लेखा और इनवॉइसिंग, स्प्रेडशीट और डेटाबेस, कैलेंडर और मेल, स्टोरेज और मैसेजिंग, CRM और हेल्पडेस्क, भुगतान प्रदाता और शिपिंग कैरियर। आप खाता एक बार अधिकृत करते हैं और फ़ील्ड उस भाषा में नामित होते हैं जो अनुप्रयोग स्वयं उपयोग करता है, उसकी JSON की भाषा में नहीं।

जहाँ किसी अनुप्रयोग में पोलिश बाज़ार की कोई विशेषता हो — एक इनवॉइसिंग सिस्टम जो KSeF-तैयार होना चाहिए, एक कैरियर जिसके लेबल राष्ट्रीय मानक हैं — तैयार स्टेप उससे परिचित है, क्योंकि परिवार उस बाज़ार में बेचता है और सीखना पड़ा था।

और फिर सामान्य स्थिति

बाकी सब कुछ एक HTTP स्टेप है, और यहाँ HTTP स्टेप कोई सांत्वना पुरस्कार नहीं है। यह वही मशीनरी है जिस पर तैयार कनेक्शन बने हैं, उन्हीं कठिन हिस्सों की उसी तरह संभाल के साथ जो स्वयं लिखना थकाऊ होता है।

कठिन हिस्से

संभाले हुए, ताकि आप उन्हें दोबारा न लिखें

प्रमाणीकरण

API कुंजियाँ, बेयर टोकन, बेसिक ऑथ, रिफ्रेश के साथ OAuth 2, HMAC रिक्वेस्ट साइनिंग, म्यूचुअल TLS। एक क्रेडेंशियल एक बार संग्रहीत होता है, नाम से संदर्भित होता है, और कभी लॉग या रन रिकॉर्ड में छपता नहीं।

पेजिनेशन

कर्सर, पेज नंबर, ऑफ़सेट, Link हेडर, और वह API जो खाली ऐरे लौटाकर अंत का संकेत देता है। आकार बता दें और स्टेप पूरा सेट चल जाता है।

दर सीमाएँ

प्रत्येक कनेक्शन के लिए एक सीमा, जिसका पालन उसका उपयोग करने वाले हर वर्कफ़्लो में होता है। जब कोई प्रदाता 429 के साथ Retry-After भेजता है, तो स्टेप बार-बार टक्कर लेने के बजाय उतनी ही देर प्रतीक्षा करता है।

पुनः प्रयास और बैकऑफ़

क्षणिक विफलताओं को बढ़ते अंतराल और एक सीमा के साथ दोबारा आज़माया जाता है। एक स्टेप अपने इनपुट का शुद्ध फ़ंक्शन होता है, इसलिए पुनः प्रयास पूरे रन को नहीं, बल्कि केवल उस स्टेप को दोबारा चलाता है।

जटिल पेलोड

JSON, फ़ॉर्म एनकोडिंग, XML, सादा टेक्स्ट, मल्टीपार्ट अपलोड। प्रतिक्रियाएँ ऐसे फ़ील्ड में पार्स की जाती हैं जिन्हें आप नाम से संदर्भित कर सकते हैं — चार स्तर नीचे नेस्ट किए गए फ़ील्ड समेत।

टाइमआउट

प्रत्येक स्टेप की अपनी सीमा, ताकि एक धीमी निर्भरता किसी वर्कर को व्यस्त न रख सके जबकि उसके पीछे सब कुछ कतार में लटका रहे। सीमा पूरी होने पर क्या हो, यह निर्णय आपका है, प्रत्येक स्टेप के लिए।

अगर वह HTTP बोलता है, तो बातचीत पहले ही शुरू हो चुकी है।

इनकमिंग वेबहुक, पूरी गंभीरता से

हर वर्कफ़्लो के पास एक URL हो सकता है जो उसे शुरू करता है। वह URL हस्ताक्षर सत्यापित करता है — सामान्य प्रदाताओं द्वारा उपयोग किए जाने वाले रूपों में HMAC, और वहाँ एक साझा गुप्त कुंजी जहाँ भेजने वाला इससे अधिक कर ही नहीं सकता। हस्ताक्षर की अपेक्षा रखने वाले वर्कफ़्लो को भेजा गया बिना हस्ताक्षर का अनुरोध अस्वीकार कर दिया जाता है और दर्ज किया जाता है, चुपचाप संसाधित नहीं किया जाता।

डीडुप्लिकेशन पेलोड के अपने पहचानकर्ता पर होता है, इसलिए जो भेजने वाला आपका 200 समय पर न देख पाने के कारण दोबारा भेजता है, उसे तीन नहीं, एक ही रन मिलता है। विकृत पेलोड उनके अस्वीकृत होने के कारण के साथ संग्रहित रखे जाते हैं, क्योंकि किसी ऑटोमेशन में रहस्यमय अंतराल का सबसे सामान्य कारण वह भेजने वाला होता है जिसने किसी फ़ील्ड के बारे में अपना मन बदल लिया होता है।

वे सिस्टम जो केवल CSV बोलते हैं

वे मौजूद हैं। सुबह चार बजे किसी SFTP सर्वर पर एक फ़ाइल आ जाती है, या अनुलग्नक के रूप में पहुँचती है, या किसी साझा फ़ोल्डर में डाल दी जाती है। एक वर्कफ़्लो उसकी निगरानी कर सकता है, उसे पढ़ सकता है, और हर पंक्ति को एक रिकॉर्ड मान सकता है — बाइट-ऑर्डर मार्क, सेमीकोलन विभाजक और पोलिश में हेडर पंक्ति वाली फ़ाइल समेत, क्योंकि निर्यात वास्तव में ऐसा ही दिखता है।

उलटी दिशा में भी यह काम करता है: एक वर्कफ़्लो फ़ाइल बनाकर उसे वहीं रख सकता है जहाँ दूसरा सिस्टम उसे खोजने की अपेक्षा करता है — जो अक्सर 2006 के किसी सॉफ़्टवेयर का एकमात्र इंटरफ़ेस होता है।

रात्रिकालीन आपूर्तिकर्ता फ़ीडSFTP → HTTP
  • ⚡ट्रिगरआपूर्तिकर्ता के SFTP पर नई फ़ाइल: stock-2026-09-09.csv।
  • 2पार्स करेंसेमीकोलन, बाइट-ऑर्डर मार्क, पोलिश हेडर। 4 118 पंक्तियाँ।
  • 3सामान्यीकृत करेंमुद्रा कोड संदर्भ डेटा से जाँचे गए; दो अवैध होने के कारण अस्वीकृत।
  • 4पुश करेंHTTP PATCH 200 के बैचों में, रेट सीमा का पालन करते हुए।
  • !अपवाददो पंक्तियाँ एक ही व्यक्ति के लिए दर्ज की गईं, पंक्ति संख्या और कारण के साथ। शेष 4 116 पंक्तियाँ प्रक्रिया हो गईं।

मॉडल को कॉल करने वाले स्टेप: 0इस रन की लागत: शून्य

क्रेडेंशियल कहाँ रहते हैं

एन्क्रिप्टेड, नाम से संदर्भित, उस वर्कस्पेस तक सीमित जिनके पास वे हैं, और कभी भी किसी रन लॉग, त्रुटि संदेश या सहायता बातचीत में नहीं दिखाए जाते। एक रन रिकॉर्ड दिखाता है कि किसी स्टेप ने supplier-sftp के रूप में प्रमाणीकरण किया; यह नहीं दिखाता कि supplier-sftp क्या है।

तीस ग्राहकों के लिए एक वर्कफ़्लो चलाने वाली एजेंसी प्रत्येक ग्राहक को उसका अपना क्रेडेंशियल सेट देती है, और वर्कफ़्लो गुप्त कुंजी के बजाय सेट को संदर्भित करता है। किसी कुंजी को बदलना एक ही जगह पर एक संपादन है — जो एजेंसियों के यहाँ आने का अधिकांश कारण है।

जानने योग्य सीमा: ऐसा सिस्टम जिसका कोई इंटरफ़ेस ही नहीं है — न API, न वेबहुक, न फ़ाइल ड्रॉप, कुछ नहीं सिवाय ब्राउज़र में क्लिक करने वाले व्यक्ति के — उसे यह या ईमानदारी से काम करने वाली कोई अन्य चीज़ स्वचालित नहीं कर सकती। यहाँ कोई हेडलेस ब्राउज़र उपयोगकर्ता का दिखावा नहीं करता, क्योंकि वह सामने वाले के एक बटन हटाते ही टूट जाता है, और चुपचाप टूटता है।