परिचय:
वेबहुक विभिन्न सेवाओं को एकीकृत करने, उनके बीच वास्तविक समय संचार को सक्षम करने के लिए महत्वपूर्ण हैं। वे अक्सर एक सिस्टम में घटनाओं द्वारा ट्रिगर होते हैं, संरचित डेटा को दूसरे एंडपॉइंट पर भेजते हैं। हालाँकि, कुछ सिस्टम वेबहुक समर्थन को एक ही एंडपॉइंट तक सीमित रखते हैं। इस लेख में, हम चर्चा करेंगे कि PHP में वेबहुक डेटा को कैसे संभालना है, इसे स्थानीय रूप से कैसे सहेजना है, और फिर इसे कई एंडपॉइंट पर कैसे अग्रेषित करना है। इसके अतिरिक्त, हम समान लक्ष्य को प्राप्त करने के लिए स्वचालन उपकरणों का उपयोग करके गैर-प्रोग्रामेटिक विकल्पों का पता लगाएंगे।
PHP में Webhooks प्राप्त करने और पुनर्निर्देशित करने के लिए चरण-दर-चरण मार्गदर्शिका
वेबहुक डेटा प्राप्त करना
वेबहुक से डेटा कैप्चर करने के लिए PHP का उपयोग करेंfile_get_contents()
अनुरोध बॉडी को पढ़ने के लिए फ़ंक्शन। यह उदाहरण JSON डेटा को मानता है, जिसका उपयोग आमतौर पर वेबहुक में किया जाता है। नीचे दिया गया कोड स्निपेट दर्शाता है कि वेबहुक डेटा कैसे प्राप्त करें और लॉग करें।
<?php
// Capture the raw webhook data
$data = file_get_contents("php://input");
$event = json_decode($data, true);
// Log the event data (Optional)
if (isset($event)) {
$file = 'log.txt';
$log_data = json_encode($event) . "\n";
file_put_contents($file, $log_data, FILE_APPEND | LOCK_EX);
}
// Define the endpoints where data will be sent
$endpoints = [
"https://example1.com/webhook-endpoint", // First endpoint
"https://example2.com/webhook-endpoint" // Second endpoint
];
// Function to send webhook data to another endpoint
function forwardWebhook($url, $data) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'Content-Length: ' . strlen($data)
]);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
// Send data to each endpoint in the list
foreach ($endpoints as $endpoint) {
forwardWebhook($endpoint, json_encode($event));
}
?>
स्पष्टीकरण:
- डेटा प्राप्त करना : हम उपयोग करते हैं
file_get_contents("php://input")
वेबहुक से प्राप्त डेटा को कैप्चर करने के लिए. - डेटा लॉग करना : यह चरण वैकल्पिक है और डेटा को एक फ़ाइल में लॉग करता है (
log.txt
) पुष्टिकरण और डिबगिंग के लिए। - अंतिम बिंदु : उन URL को परिभाषित करें जहां डेटा अग्रेषित किया जाएगा.
- अग्रेषण फ़ंक्शन :
forwardWebhook()
एक फ़ंक्शन है जो उपयोग करता हैcURL
डेटा भेजने के लिएPOST
प्रारूप को प्रत्येक निर्दिष्ट समापन बिंदु पर सेट करें। - डेटा भेजना :
foreach
लूप परिभाषित सूची में प्रत्येक वेबहुक एंडपॉइंट पर डेटा भेजता है।
स्क्रिप्ट का परीक्षण और निगरानी
यह सुनिश्चित करने के लिए कि आपकी स्क्रिप्ट अपेक्षित रूप से काम करती है, इसे विभिन्न वेबहुक अनुरोधों के साथ परीक्षण करें। पुष्टि करें कि प्रत्येक एंडपॉइंट डेटा को सही तरीके से प्राप्त करता है। आप जाँच कर सकते हैंlog.txt
फ़ाइल को सत्यापित करने के लिए कि डेटा अग्रेषित करने से पहले सही ढंग से प्राप्त और संग्रहीत किया गया है।
वैकल्पिक समाधान: स्वचालन उपकरण का उपयोग करना
यदि आप नो-कोड दृष्टिकोण पसंद करते हैं, तो कई ऑटोमेशन प्लेटफ़ॉर्म आपको प्रोग्रामिंग के बिना वेबहुक को प्रबंधित और पुनर्निर्देशित करने की अनुमति देते हैं। यहाँ कुछ लोकप्रिय विकल्प दिए गए हैं:
- जैपियर : जैपियर वेबहुक को एकीकृत करने के लिए एक सहज ज्ञान युक्त प्लेटफ़ॉर्म प्रदान करता है। आप इसे वेबहुक ईवेंट प्राप्त करने के लिए कॉन्फ़िगर कर सकते हैं और डेटा को कई एंडपॉइंट पर अग्रेषित करने के लिए “ज़ैप्स” सेट कर सकते हैं। यह गैर-तकनीकी उपयोगकर्ताओं के लिए आदर्श है।
- इंटीग्रोमैट (मेक) : इंटीग्रोमैट, जिसे अब मेक के नाम से जाना जाता है, लचीले वर्कफ़्लो प्रदान करता है जिसमें वेबहुक समर्थन शामिल है। आप एक ही वेबहुक पर डेटा प्राप्त कर सकते हैं और इसे विभिन्न मॉड्यूल में विभाजित करके विभिन्न एंडपॉइंट पर भेज सकते हैं।
- IFTTT (यदि यह तो वह) : IFTTT एक सरल स्वचालन उपकरण है जो बुनियादी वेबहुक संचालन के लिए उपयुक्त है। आप वेबहुक प्राप्त करने और कई सेवाओं को डेटा पास करने के लिए ट्रिगर्स और क्रियाएँ सेट कर सकते हैं।
- Microsoft Power Automate : Power Automate एंटरप्राइज़-स्तरीय स्वचालन और एकीकरण क्षमताएँ प्रदान करता है। यदि आप Microsoft के पारिस्थितिकी तंत्र का उपयोग कर रहे हैं, तो यह वेबहुक डेटा को संभालने और वितरित करने के लिए एक मज़बूत विकल्प हो सकता है।
- पाइपड्रीम : पाइपड्रीम डेवलपर्स और गैर-डेवलपर्स दोनों के लिए एक और उत्कृष्ट उपकरण है, जो आपको वेबहुक प्रबंधित करने, डेटा बदलने और इसे विभिन्न सेवाओं तक रूट करने की अनुमति देता है।
- Pabbly Connect : Pabbly Connect एक शक्तिशाली लेकिन सीधा ऑटोमेशन टूल है जो आपको आसानी से वेबहुक को प्रबंधित और अग्रेषित करने की अनुमति देता है। उपयोगकर्ता के अनुकूल इंटरफ़ेस के साथ, Pabbly Connect उपयोगकर्ताओं को कई एंडपॉइंट पर डेटा को सहजता से रूट करने के लिए वर्कफ़्लो सेट करने में सक्षम बनाता है, जिससे यह गैर-प्रोग्रामर के लिए एक अच्छा विकल्प बन जाता है जो वेबहुक डेटा प्रवाह को सुव्यवस्थित करना चाहते हैं।
- इंटीग्रेटली : इंटीग्रेटली एक सरल लेकिन प्रभावी ऑटोमेशन टूल है जो आपको कई प्लेटफ़ॉर्म पर वेबहुक को तेज़ी से कनेक्ट करने की अनुमति देता है। प्री-बिल्ट ऑटोमेशन विकल्पों के साथ, इंटीग्रेटली उपयोगकर्ताओं को व्यापक कॉन्फ़िगरेशन के बिना वर्कफ़्लो सेट अप करने में सक्षम बनाता है, जिससे यह न्यूनतम प्रयास के साथ कई एंडपॉइंट पर वेबहुक डेटा को रूट करने के लिए आदर्श बन जाता है।
इनमें से प्रत्येक उपकरण वेबहुक डेटा को संभालने के लिए चरण-दर-चरण इंटरफेस प्रदान करता है, जिससे न्यूनतम कॉन्फ़िगरेशन के साथ कई एंडपॉइंट्स पर डेटा भेजना आसान हो जाता है।
निष्कर्ष: यह PHP स्क्रिप्ट प्रभावी रूप से वेबहुक डेटा प्राप्त करती है और इसे कई एंडपॉइंट पर अग्रेषित करती है, जिससे सिंगल-एंडपॉइंट सीमा को दरकिनार किया जाता है। यह संदर्भ के लिए डेटा लॉग करता है, यह सुनिश्चित करता है कि एक एंडपॉइंट विफल होने पर भी आप जानकारी न खोएं। जो लोग कोड नहीं करना पसंद करते हैं, उनके लिए Zapier, Make और IFTTT जैसे ऑटोमेशन टूल व्यावहारिक विकल्प प्रदान करते हैं, जिससे आप बिना प्रोग्रामिंग कौशल के आसानी से वेबहुक को रीडायरेक्ट कर सकते हैं।