messages वेबहुक
messages वह फ़ील्ड है जिसमें ग्राहक आपके नंबर पर भेजी हर चीज़ रखी जाती है: टेक्स्ट, मीडिया, जवाब, प्रतिक्रियाएँ और इंटरैक्टिव जवाब। रूट किए गए Coexistence नंबर पर यह Meta से सीधे आपके एंडपॉइंट तक जाता है और कभी प्रदाता तक नहीं पहुँचता।
आने वाले ग्राहक मैसेज ले जाने वाला वेबहुक फ़ील्ड।
रीट्राई हटाने के लिए इस्तेमाल होने वाली मैसेज आईडी का प्रीफ़िक्स।
प्रोसेसिंग से पहले Meta द्वारा जल्दी अपेक्षित स्टेटस।
पेलोड में क्या होता है
एक ही डिलीवरी में एक या अधिक मैसेज हो सकते हैं। हर मैसेज में भेजने वाला, एक आईडी और एक प्रकार होता है। प्रकार तय करता है कि कौन-सी अन्य कुंजियाँ मौजूद होंगी।
- भेजने वाले का फ़ोन नंबर और उस नंबर की फ़ोन नंबर आईडी, जिस पर उन्होंने लिखा है।
- एक `wamid` मैसेज आईडी, जिस पर डीडुप्लिकेशन आधारित होता है।
- एक यूनिक्स टाइमस्टैम्प।
- एक प्रकार: `text`, `image`, `audio`, `video`, `document`, `sticker`, `location`, `contacts`, `reaction`, `button` या `interactive`।
- मीडिया प्रकारों के लिए बाइट्स के बजाय फ़ेच करने योग्य मीडिया आईडी।
रूट किए नंबर पर यह हम तक क्यों नहीं पहुँचता
क्योंकि ओवरराइड इस फ़ील्ड को `smb_message_echoes` के साथ आपकी चुनी हुई डेस्टिनेशन पर भेज देता है।
Meta किसी ऐप को यह ओवरराइड करने देता है कि WhatsApp Business Account अपने वेबहुक कहाँ डिलीवर करे। हम यह ओवरराइड आपके यूआरएल पर सेट करते हैं, जिससे मैसेज का रास्ता पूरी तरह हमारे इन्फ़्रास्ट्रक्चर से बाहर चला जाता है। हमारी ओर इसकी कोई कॉपी, कतार या रिटेंशन नहीं होती, क्योंकि डिलीवरी वहाँ पहुँचती ही नहीं।
जब कोई डेस्टिनेशन सेट नहीं होती, तो ये इवेंट हमारे डिफ़ॉल्ट कॉलबैक पर चले जाते हैं, जहाँ हैंडलर उन्हें बिना सेव किए हटा देता है। स्टोरेज के दावे और कोड पाथ में यही अंतर है: बातचीत की सामग्री के जाने की कोई जगह नहीं है।
सही तरीके से पुष्टि करना
काम शुरू करने से पहले 200 लौटाएँ, बाद में नहीं।
Meta धीमे जवाब को गड़बड़ी मानकर रीट्राई करता है। इसलिए इनलाइन प्रोसेसिंग करने वाला हैंडलर एक ही मैसेज को एक से अधिक बार देख सकता है। तुरंत जवाब दें, पेलोड को कतार या बैकग्राउंड टास्क में रखें और काम को अनुरोध के बाहर होने दें।
सर्वरलेस में यह वैकल्पिक नहीं है। जवाब लौटाने के बाद काम जारी रखने वाला फ़ंक्शन उसी क्षण फ़्रीज़ हो सकता है, इसलिए पुष्टि और प्रोसेसिंग वास्तव में अलग होनी चाहिए।
डीडुप्लिकेशन
हमेशा `wamid` पर करें, क्योंकि रीट्राई असामान्य नहीं बल्कि सामान्य हैं।
एक ही मैसेज दो बार उन कारणों से आ सकता है जिनका आपकी ओर की गड़बड़ी से कोई संबंध नहीं है: धीमा जवाब, नेटवर्क टाइमआउट या डिलीवरी के बीच हुआ डिप्लॉय। देखी गई आईडी सेव करके दोहराव छोड़ना कुछ ही पंक्तियों का काम है। यही ग्राहक को एक बार जवाब देने और दो बार जवाब देने का अंतर है।
Coexistence नंबर पर यह और ज़रूरी है, क्योंकि `smb_message_echoes` उसी रास्ते से आता है। हर इवेंट को नया मानने वाला हैंडलर उस व्यक्ति के जवाब के ऊपर जवाब भेज देगा, जिसने पहले ही इंसानी तौर पर जवाब दे दिया है।
आम गड़बड़ियाँ
- 200 लौटाने से पहले प्रोसेसिंग करना। Meta धीमे जवाब पर रीट्राई करता है और आप मैसेज दो बार हैंडल करते हैं।
- डीडुप्लिकेशन छोड़ देना। रीट्राई डिज़ाइन का हिस्सा हैं, कोई दुर्लभ स्थिति नहीं।
- पेलोड में मीडिया बाइट्स की अपेक्षा करना। इसमें फ़ेच करने के लिए मीडिया आईडी होती है।
EasyCoexistence इस फ़ील्ड को Meta से सीधे आपके एंडपॉइंट तक रूट करता है और मॉनिटरिंग के लिए ज़रूरी ऑपरेशनल इवेंट ही रखता है। इसलिए बातचीत की सामग्री हमारे स्टोरेज तक पहुँच ही नहीं सकती।
अक्सर पूछे जाने वाले सवाल
क्या EasyCoexistence मेरे ग्राहकों के मैसेज देखता है?
नहीं। ओवरराइड इस फ़ील्ड को आपके एंडपॉइंट पर भेजता है। हमारे फ़ॉलबैक कॉलबैक तक पहुँचने वाली हर चीज़ बिना सेव किए हटा दी जाती है।
क्या एक अनुरोध में कई मैसेज आ सकते हैं?
हाँ। एक डिलीवरी में एक से अधिक मैसेज हो सकते हैं, इसलिए हैंडलर को पहले मैसेज को पढ़ने के बजाय सभी पर इटरेट करना चाहिए।
मीडिया कैसे प्राप्त करें?
पेलोड में मीडिया आईडी होती है। नंबर के एक्सेस टोकन से इसका इस्तेमाल करके यूआरएल फ़ेच करें, फिर डाउनलोड करें।
`smb_message_echoes` क्या है?
यह साथी फ़ील्ड है, जिसमें आपकी टीम द्वारा WhatsApp Business ऐप से भेजी गई सामग्री आती है। यह केवल Coexistence नंबर पर मौजूद होती है।
पढ़ना जारी रखें
शुरू करने के लिए तैयार हैं?
WhatsApp Coexistence को महीनों में नहीं, मिनटों में कॉन्फ़िगर करें। ऐप्लिकेशन मोबाइल पर काम करता रहता है।
मुफ़्त ट्रायल शुरू करेंइस तारीख को सत्यापित