केवल स्वीकृति देखकर दोबारा भेजने से डुप्लिकेट संदेश बन सकता है। फिर से प्रयास करने का निर्णय लेने से पहले पहले भेजे गए संदेश के बाद के इवेंट देखें।
अपने भेजने के अनुरोध से लौटाया गया संदेश पहचानकर्ता संभालकर रखें। यह शुरुआती स्वीकृति को उसी संदेश के बाद के इवेंट से जोड़ता है।
स्वीकृत और डिलीवर होने के बीच क्या होता है?
ईमेल तैयारी के चरण से गुज़रता है। SMS संदेश मोबाइल कैरियर को सौंपे जाने के चरण से गुज़रते हैं।
आप अपने Bird संदेशों को इन इवेंट प्रकारों से ट्रैक कर सकते हैं:
| चैनल | इवेंट | क्या हुआ |
|---|---|---|
| ईमेल | email.accepted | Bird ने भेजने का अनुरोध स्वीकार किया और उसे तैयार कर रहा है, हर अनुरोधित प्राप्तकर्ता के लिए एक बार। |
| ईमेल | email.processed | Bird ने संदेश को प्राप्तकर्ता के मेल सर्वर तक डिलीवरी के लिए तैयार किया। |
| ईमेल | email.delivered | प्राप्तकर्ता के मेल सर्वर ने संदेश स्वीकार किया। |
| SMS | sms.accepted | Bird ने भेजने का अनुरोध स्वीकार किया और उसे प्रोसेसिंग के लिए कतार में रखा। |
| SMS | sms.sent | Bird ने संदेश कैरियर को सौंप दिया। |
| SMS | sms.delivered | कैरियर ने प्राप्तकर्ता के हैंडसेट पर डिलीवरी की सूचना दी। |
देरी कहाँ हो रही है, यह जानने के लिए timestamp में इवेंट के समय की तुलना करें। वेबहुक के पहुँचने के समय में उनकी अपनी डिलीवरी की देरी भी शामिल होती है।
ईमेल के लिए, Bird के अंदर तैयारी में लगा समय मापने के लिए तैयारी के समय में से स्वीकृति का समय घटाएँ। तैयारी के बाद के अंतराल में प्राप्त करने वाले सर्वर तक पहुँचने का इंतज़ार भी शामिल होता है।
SMS के लिए, हैंडओवर से पहले लगा समय मापने के लिए कैरियर को हैंडओवर के समय में से स्वीकृति का समय घटाएँ। हैंडओवर से डिलीवरी तक का अंतराल बाकी डिलीवरी समय को मापता है।
उदाहरण के लिए, दोपहर 12 बजे स्वीकार किया गया और दो सेकंड बाद हैंडओवर किया गया SMS कैरियर को हैंडओवर से पहले दो सेकंड में रहा। अगर डिलीवरी उसके आठ सेकंड बाद होती है, तो कुल समय दस सेकंड है।
मैसेज अब भी डिलीवर क्यों नहीं हुआ?
हो सकता है कि मैसेज अब भी इंतज़ार में हो। या कोई बाद का इवेंट डिलीवरी विफल होने की सूचना दे सकता है।
सिर्फ़ स्वीकृति इवेंट से इन दोनों नतीजों में फ़र्क नहीं किया जा सकता। मैसेज दोबारा भेजने का फ़ैसला करने से पहले उसी मैसेज के बाद के इवेंट पढ़ें।
ईमेल ये नतीजे रिपोर्ट करता है:
email.deferredका मतलब है कि अस्थायी विफलता के बाद डिलीवरी में देरी हो रही है। Bird फिर से प्रयास करता है, इसलिए मैसेज बाद में अब भी डिलीवर हो सकता है या बाउंस हो सकता है।email.bouncedका मतलब है कि प्राप्त करने वाले सर्वर ने डिलीवरी अस्वीकार कर दी।email.rejectedका मतलब है कि Bird ने डिलीवरी के प्रयास से पहले ही मैसेज अस्वीकार कर दिया। प्राप्तकर्ता के मेल सर्वर की सेटिंग बदलने से पहले अस्वीकृति का कारण जाँचें।
SMS परिणामों का एक अलग सेट इस्तेमाल करता है:
sms.undeliveredकैरियर की ओर से ऐसी डिलीवरी विफलता बताता है जो स्थायी नहीं है।sms.failedस्थायी डिलीवरी विफलता बताता है।sms.rejectedका अर्थ है कि Bird ने कैरियर को सौंपने से पहले ही संदेश अस्वीकार कर दिया।sms.expiredका अर्थ है कि डिलीवरी से पहले संदेश की वैधता अवधि समाप्त हो गई।
कारण पहचानने के लिए विफल परिणाम के साथ आई त्रुटि पढ़ें। SMS की कैरियर फ़िल्टरिंग एक संभावित कारण समझाती है।
क्या कोई एक लाइफ़साइकल है जिसे मैं सीख सकूँ?
हर चैनल में डिलीवरी स्थितियों का अपना क्रम होता है।
ईमेल सर्वर भेजने वाले से बाद में फिर से प्रयास करने को कह सकते हैं। SMS कैरियर संदेश की अवधि समाप्त होने पर प्रयास बंद कर सकते हैं। इन परिणामों से उबरने के लिए अलग-अलग कदम उठाने पड़ते हैं।
WhatsApp और वॉइस भी अपने इवेंट प्रकार रिपोर्ट करते हैं। उनकी इवेंट गाइड संबंधित स्थितियाँ बताती हैं: ईमेल, SMS, WhatsApp और वॉइस।
क्या डिलीवर हो चुका संदेश बाद में अनडिलीवर हो सकता है?
जब प्राप्त करने वाला मेल सर्वर बाद में डिलीवरी विफलता की रिपोर्ट भेजता है, तो ईमेल की स्थिति डिलीवर से बाउंस में बदल सकती है।
सर्वर पहले SMTP के ज़रिए संदेश स्वीकार करता है। वह आदान-प्रदान खत्म होने के बाद भी सर्वर अलग से विफलता की रिपोर्ट भेज सकता है।
Bird इस रिपोर्ट को email.out_of_band_bounce के रूप में दर्ज करता है। जब रिपोर्ट को बाउंस के रूप में वर्गीकृत किया जाता है, तो प्राप्तकर्ता की स्थिति delivered से bounced हो जाती है। हार्ड बाउंस में विफलता स्थायी होती है, इसलिए Bird उस पते को सप्रेस भी कर देता है, ताकि बाद में उस पर भेजना रुक जाए।
ऑटो-रिप्लाई टाइमलाइन पर दिख सकता है, लेकिन इससे डिलीवरी स्थिति नहीं बदलती। रिपोर्ट का वर्गीकरण तय करता है कि पहले की स्वीकृति वापस ली जाएगी या नहीं।
सफल इवेंट के बाद भी डिलीवरी स्थिति को अपडेट करने योग्य रखें। वेबहुक क्रम से बाहर पहुँच सकते हैं, इसलिए ऐसा कोई बदलाव लागू करने से पहले इवेंट के टाइमस्टैम्प की तुलना करें जो नई स्थिति को ओवरराइट कर सकता है।
संक्षेप में
स्वीकृति केवल भेजने के अनुरोध की पुष्टि करती है।
स्वीकृति के बाद Bird संदेश तैयार करना शुरू करता है। यह इवेंट मेल सर्वर या हैंडसेट तक पहुँचने की पुष्टि नहीं करता।
तैयारी और हैंडओवर अलग-अलग चरण हैं।
ईमेल तैयारी की सूचना email.processed से देता है। SMS कैरियर को हैंडओवर की सूचना sms.sent से देता है।
हर चैनल में विफलताओं का अर्थ अलग होता है।
ईमेल स्थगित, बाउंस या अस्वीकार हो सकता है। SMS में undelivered, failed, rejected और expired परिणाम अलग-अलग होते हैं।
ईमेल डिलीवर होने के बाद भी बाउंस हो सकता है।
बाद में आई बाउंस रिपोर्ट ईमेल प्राप्तकर्ता की स्थिति को delivered से bounced में बदल सकती है। ऑटो-रिप्लाई से डिलीवरी स्थिति नहीं बदलती।