फ़्लाइट स्टेटस इंटीग्रेशन
यात्रियों को उनकी फ़्लाइट में होने वाले बदलावों के बारे में तुरंत बताएं: एक नया गेट, देरी, बोर्डिंग, आगमन, या रद्दीकरण। फ़्लाइट स्टेटस इंटीग्रेशन Pushwoosh को AeroDataBox से जोड़ता है, जो एक फ़्लाइट-डेटा प्रदाता है, ताकि एक कस्टमर जर्नी किसी विशिष्ट यात्री की फ़्लाइट पर नज़र रख सके और उसके स्टेटस में बदलाव होते ही प्रतिक्रिया दे सके।
इंटीग्रेशन का अवलोकन
Anchor link toइंटीग्रेशन का प्रकार
Anchor link toस्रोत: आप एक जर्नी के अंदर से एक बुकिंग को उसकी फ़्लाइट के लिए सब्सक्राइब करते हैं। Pushwoosh स्टेटस में हुए बदलावों को एक इवेंट के रूप में वापस भेजता है जिसे आप बाद में उसी जर्नी में उपयोग करते हैं।
आवश्यक शर्तें
Anchor link toफ़्लाइट स्टेटस कनेक्ट करने से पहले, सुनिश्चित करें कि आपके पास है:
- Pushwoosh के NUE डेटा सेंटर में एक एप्लिकेशन के साथ एक सक्रिय Pushwoosh खाता। फ़्लाइट स्टेटस अभी तक अन्य डेटा सेंटरों में उपलब्ध नहीं है।
- एक AeroDataBox खाता और API कुंजी। फ़ीड का बिल आपके अपने AeroDataBox खाते पर आता है।
- एक बुकिंग इवेंट जिसमें फ़्लाइट का कैरियर, नंबर, तारीख और प्रस्थान हवाई अड्डा होता है (देखें फ़्लाइट स्टेटस जर्नी बनाएँ)।
- जर्नी को प्रमाणित करने के लिए एक समर्पित API एक्सेस टोकन।
इंटीग्रेशन कैसे काम करता है?
Anchor link toइंटीग्रेशन को कनेक्ट करना और एक फ़्लाइट पर नज़र रखना दो अलग-अलग स्टेप हैं, जो अलग-अलग समय पर किए जाते हैं:
- अपनी AeroDataBox कुंजी को सेटिंग्स → 3rd-पार्टी इंटीग्रेशन में कनेक्ट करें।
- एक बुकिंग इवेंट आपकी जर्नी में एक यात्री को प्रवेश कराता है।
- जर्नी का Webhook स्टेप उस बुकिंग को Pushwoosh के सार्वजनिक API के माध्यम से उसकी फ़्लाइट के लिए सब्सक्राइब करता है।
- Pushwoosh AeroDataBox के साथ फ़्लाइट पर नज़र रखता है और परिवर्तनों का पता लगाता है: गेट, देरी, बोर्डिंग, आगमन, रद्दीकरण, या बैगेज बेल्ट असाइनमेंट।
- प्रत्येक परिवर्तन ऐप को
PW_FlightStatusChangedइवेंट के रूप में दिया जाता है, जिसे जर्नी का Wait for Trigger और Condition split सही संदेश के लिए रूट करता है।
प्रत्येक फ़्लाइट सब्सक्रिप्शन स्थानीय प्रस्थान तिथि के 36 घंटे बाद अपने आप समाप्त हो जाता है। यह पहले भी समाप्त हो सकता है: जब फ़्लाइट उतर जाती है या रद्द हो जाती है, या जब कोई भी उस पर नज़र नहीं रख रहा होता है। इसके बाद Pushwoosh संबंधित AeroDataBox सब्सक्रिप्शन रद्द कर देता है, ताकि पृष्ठभूमि में उसका बिल न बनता रहे।
यह अवधि सब्सक्राइब करते समय, बुक की गई प्रस्थान तिथि से तय होती है, और अगर AeroDataBox बाद में देरी की रिपोर्ट करता है तो यह आगे नहीं खिसकती। जो देरी फ़्लाइट को अगले कैलेंडर दिन में धकेल देती है, उसके कारण सब्सक्रिप्शन देरी से हुए वास्तविक प्रस्थान से पहले ही समाप्त हो सकता है।
उपयोग के मामले
Anchor link toफ़्लाइट स्टेटस चार प्रकार के अपडेट को कवर करता है, प्रत्येक को अपने आप या एक जर्नी में मिलाकर उपयोग किया जा सकता है:
- गेट परिवर्तन अलर्ट: यात्रियों को उनके प्रस्थान गेट के बदलते ही सूचित करें।
- देरी की सूचनाएं: एक बार फ़्लाइट की देरी कुछ मिनट से अधिक हो जाने पर यात्रियों को सचेत करें, ताकि वे अपनी योजनाओं को समायोजित कर सकें।
- बोर्डिंग और आगमन अपडेट: यात्रियों को बताएं कि बोर्डिंग कब खुलती है या उनकी फ़्लाइट कब उतरती है।
- बैगेज क्लेम: बैगेज बेल्ट नंबर असाइन होते ही भेजें।
इंटीग्रेशन सेट अप करें
Anchor link toफ़्लाइट स्टेटस को Pushwoosh से कनेक्ट करें
Anchor link toअपनी AeroDataBox कुंजी को प्रति एप्लिकेशन एक बार कनेक्ट करें:
-
अपना एप्लिकेशन खोलें और सेटिंग्स → 3rd-पार्टी इंटीग्रेशन पर जाएँ।
-
उपलब्ध सेवाएँ के अंतर्गत, फ़्लाइट स्टेटस कार्ड खोजें और कॉन्फ़िगर करें पर क्लिक करें।

-
अपनी AeroDataBox कुंजी को API कुंजी में पेस्ट करें और कनेक्ट करें पर क्लिक करें।

कनेक्ट करें पर क्लिक करने के बाद, कार्ड कनेक्टेड सेवाएँ में चला जाता है।
यदि कुंजी अस्वीकार कर दी जाती है
Anchor link toPushwoosh पृष्ठभूमि में कुंजी की जाँच करता है। यदि कुछ गलत होता है, तो कार्ड इनमें से एक संदेश दिखाता है:
| संदेश | कारण |
|---|---|
provider rejected the API key | कुंजी अमान्य है या AeroDataBox में रद्द कर दी गई थी |
provider account is out of credits | आपके AeroDataBox प्लान में क्रेडिट खत्म हो गए हैं |
provider rate limit reached | AeroDataBox अनुरोधों को थ्रॉटल कर रहा है, और यह अपने आप साफ़ हो जाता है |
provider is unavailable | AeroDataBox तक नहीं पहुँचा जा सका, नेटवर्क समस्या या किसी भी तरफ आउटेज के कारण |
provider refused the request | AeroDataBox ने एक त्रुटि वापस की जिसे Pushwoosh अन्यथा नहीं पहचानता है |
कुंजी बदलें
Anchor link toकनेक्टेड सेवाएँ में फ़्लाइट स्टेटस कार्ड को फिर से खोलें, उदाहरण के लिए कुंजी अस्वीकार किए जाने के बाद:
- कुंजी बदलें: API कुंजी में एक नई कुंजी पेस्ट करें।
- वर्तमान कुंजी बनाए रखें: API कुंजी को खाली छोड़ दें। फ़ील्ड सहेजी गई कुंजी के केवल अंतिम कुछ वर्ण दिखाता है।
इंटीग्रेशन को डिस्कनेक्ट करें
Anchor link to- कनेक्टेड सेवाएँ में फ़्लाइट स्टेटस कार्ड खोलें।
- कुंजी हटा दें।
डिस्कनेक्ट करने के बाद:
- नए सब्सक्रिप्शन अब नहीं बनते हैं।
- जिन फ़्लाइट्स पर जर्नी पहले से नज़र रख रही हैं, वे अपने सब्सक्रिप्शन तब तक बनाए रखती हैं जब तक कि वे अपने आप समाप्त न हो जाएँ या आप उन्हें जर्नी से हटा न दें।
- कार्ड पर सक्रिय-सब्सक्रिप्शन की गिनती इन सब्सक्रिप्शन को उनके समाप्त होने तक शामिल करती है।
फ़्लाइट स्टेटस जर्नी बनाएँ
Anchor link toजर्नी बनाने से पहले
Anchor link toसुनिश्चित करें कि आपके पास है:
- एक बुकिंग इवेंट जिसमें फ़्लाइट का कैरियर, नंबर, तारीख (
YYYY-MM-DD), और प्रस्थान हवाई अड्डा हो, साथ ही एक एट्रिब्यूट जिसमें फ़्लाइट कुंजी<carrier><number>/<date>/<departure airport>प्रारूप में हो, उदाहरण के लिएLH400/2026-09-20/MUC। यह वही है जो सेशन मैचिंग पूरी जर्नी में उपयोग करता है। - एक समर्पित API एक्सेस टोकन। सब्सक्राइब विधि आपके खाते से किसी भी टोकन को स्वीकार करती है, जिसमें कोई अनुमति देने की आवश्यकता नहीं होती है। इस जर्नी के लिए विशेष रूप से एक बनाएं ताकि आप बाद में किसी और चीज़ को छुए बिना इसे रद्द कर सकें।
- आपके डेटा सेंटर का सार्वजनिक API होस्ट। NUE खातों के लिए, यह
rpc-api.svc-nue.pushwoosh.comहै। - जर्नी की कैंपेन प्रवेश सीमा, बंद कर दी गई है। कैंपेन प्रवेश सीमा केवल प्रति उपयोगकर्ता प्रविष्टियों को ट्रैक करती है। यह आपके द्वारा नीचे सेट किए गए सेशन पहचानकर्ता के बारे में नहीं जानती है, इसलिए यह एक यात्री की दूसरी फ़्लाइट को तब तक रोक देगी जब तक कि सीमा अवधि समाप्त न हो जाए।
बुकिंग इवेंट से जर्नी शुरू करें
Anchor link to- एक Trigger-based entry जोड़ें और अपना बुकिंग इवेंट चुनें, उदाहरण के लिए
flight_booked। - एक ही समय में एक उपयोगकर्ता के कितने सेशन हो सकते हैं, इसे नियंत्रित करें के अंतर्गत, प्रति उपयोगकर्ता एकाधिक सक्रिय सेशन चुनें।
- सेशन पहचानकर्ता के रूप में फ़्लाइट-कुंजी एट्रिब्यूट चुनें। यह एक ही यात्री को एक ही समय में एक से अधिक फ़्लाइट को ट्रैक करने की अनुमति देता है, प्रत्येक अपने स्वयं के सेशन में।
Webhook स्टेप के साथ बुकिंग को सब्सक्राइब करें
Anchor link toप्रविष्टि के ठीक बाद एक Webhook स्टेप जोड़ें। इसकी रिक्वेस्ट बॉडी प्रविष्टि इवेंट से फ़्लाइट फ़ील्ड खींचती है, इसलिए स्टेप को उनका उपयोग करने के लिए प्रविष्टि के ठीक बाद बैठना होगा।
-
REQUEST TYPE को
POSTपर सेट करें। -
URL को
https://rpc-api.svc-nue.pushwoosh.com/api/integrations/flight-status/subscriptionsपर सेट करें। -
HEADERS में,
Content-Type: application/jsonरखें। -
एक हेडर
Authorization: Token <your API token>जोड़ें। सहेजने के बाद Pushwoosh इस मान को मास्क कर देता है, क्योंकिAuthorizationनामक किसी भी हेडर को स्वचालित रूप से एक रहस्य के रूप में माना जाता है। संपादन और संस्करण इतिहास के लिए इसका क्या अर्थ है, यह देखने के लिए हेडर मान को रहस्य के रूप में चिह्नित करें देखें। -
DATA में, नीचे दी गई रिक्वेस्ट बॉडी दर्ज करें, अपना स्वयं का एप्लिकेशन कोड सीधे टाइप करें:
{"application": "<your application code>","user_id": "{{device:user_id}}","source": "journey","flight": {"carrier": "","flight_number": "","flight_date": "","departure_airport": ""}} -
चार खाली
flightमानों में से प्रत्येक के लिए, DATA BUILDER खोलें। -
श्रेणी इवेंट चुनें।
-
अपने बुकिंग इवेंट से मेल खाने वाला एट्रिब्यूट चुनें (कैरियर, फ़्लाइट नंबर, फ़्लाइट की तारीख, प्रस्थान हवाई अड्डा)।
-
Pushwoosh द्वारा उत्पन्न मैक्रो को कॉपी करें और इसे उस फ़ील्ड के मान के रूप में पेस्ट करें। शेष तीन मानों के लिए दोहराएँ।
आपको प्रतिक्रिया से कुछ भी मैप करने की आवश्यकता नहीं है। यह flight_key लौटाती है, जो पहले से ही आपके बुकिंग इवेंट पर है।
स्टेटस अपडेट की प्रतीक्षा करें
Anchor link toWebhook स्टेप के बाद एक Wait for Trigger स्टेप जोड़ें।
- एक ब्रांच जोड़ें और उसके इवेंट को
PW_FlightStatusChangedपर सेट करें। - मल्टी-सेशन एट्रिब्यूट मैचिंग के तहत, वही फ़्लाइट-कुंजी एट्रिब्यूट चुनें जिसका आपने प्रविष्टि पर उपयोग किया था। यह सुनिश्चित करता है कि एक स्टेटस अपडेट केवल उसी यात्री को जगाता है जिसकी फ़्लाइट के बारे में यह वास्तव में है।
- प्रतीक्षा अवधि को फ़्लाइट को आराम से कवर करने के लिए सेट करें। अधिकांश यात्रा कार्यक्रमों के लिए 48 घंटे पर्याप्त हैं।
- ट्रिगर नहीं हुआ ब्रांच को अगले स्टेप के बिना छोड़ दें, या एक फ़ॉलबैक संदेश जोड़ें। जिन यात्रियों की फ़्लाइट का प्रतीक्षा समाप्त होने से पहले कोई अपडेट नहीं आता, वे यहां जर्नी से बाहर हो जाते हैं, और यह अपेक्षित है।
इवेंट प्रकार के अनुसार ब्रांच करें
Anchor link toWait for Trigger स्टेप के बाद एक Condition split जोड़ें।
- शर्त प्रकार के रूप में इवेंट चुनें।
- जर्नी से इवेंट में,
PW_FlightStatusChangedचुनें। - एट्रिब्यूट के तहत,
event_typeचुनें। - शर्त को is पर सेट करें।
gate_changeमान के साथ एक ब्रांच जोड़ें।- सहेजें पर क्लिक करें। यह दो ब्रांच बनाता है: एक जिसे आपने गेट परिवर्तन के लिए नामित किया है, और अन्य सभी उपयोगकर्ता हर दूसरे इवेंट प्रकार के लिए।
इस एलिमेंट को दोहराएं, या इसमें और ब्रांच जोड़ें, अन्य event_type मानों के लिए जिन पर आप कार्य करना चाहते हैं: delay, boarding, departed, arrived, cancelled, और baggage_ready सभी एक ही तरह से काम करते हैं।
यात्री को सूचित करें
Anchor link toगेट-चेंज ब्रांच पर एक Push एलिमेंट जोड़ें।
- एक पुश प्रीसेट चुनें या बनाएं।
- संदेश प्रकार को लेन-देन संबंधी संदेश पर सेट करें, क्योंकि फ़्लाइट स्टेटस अलर्ट एक सेवा सूचना है, प्रोमो नहीं। फ़्रीक्वेंसी कैपिंग लागू नहीं होती है, और यह अभी भी कंट्रोल ग्रुप में यात्रियों तक पहुँचता है।
- इवेंट एट्रिब्यूट्स के साथ वैयक्तिकरण सक्षम करें।
- स्रोत इवेंट के रूप में
PW_FlightStatusChangedचुनें। - अपने प्रीसेट के प्लेसहोल्डर्स को
flight_numberऔरgate_newसे भरें।
इसके बजाय एक Live Activity कार्ड दिखाएँ
Anchor link toPush की जगह या उसके साथ, तीन Live Activity एलिमेंट जोड़ें:
- Start: Webhook स्टेप के ठीक बाद, सीधे एंट्री के बाद नहीं। एंट्री केवल एक अगले स्टेप से जुड़ती है, इसलिए Webhook और Start दोनों उसके ठीक बाद नहीं आ सकते।
- Update: गेट-चेंज ब्रांच पर।
- End: जब जर्नी को अब फ़्लाइट को ट्रैक करने की आवश्यकता न रहे, उदाहरण के लिए आगमन या रद्द होने के बाद।
Start एलिमेंट में, Card attributes के तहत, कार्ड के ActivityAttributes टाइप को आवश्यक सभी छह फ़ील्ड जोड़ें। Card attributes नामों और मानों की एक मुक्त सूची है, और इंटरफ़ेस नामों की जाँच नहीं करता है, इसलिए प्रत्येक को ठीक वैसे ही दर्ज करें जैसा सूचीबद्ध है। इनमें से पांच पहले से ही आपके बुकिंग इवेंट पर हैं:
carrierflight_numberflight_datedeparture_airportflight_keyarrival_airport: सब्सक्राइब कॉल को इसकी आवश्यकता नहीं है, इसलिए इसे अपने बुकिंग इवेंट में तभी जोड़ें जब आप Live Activity का उपयोग करते हैं।
केवल Start Card attributes सेट करता है, और वे कार्ड के पूरे जीवनकाल में एक जैसे रहते हैं। Update और End उन्हें सेट नहीं करते हैं। जो फ़ील्ड बदलते हैं, जैसे स्टेटस, गेट और देरी, वे Card content हैं, और वे उस विजेट स्कीमा से आते हैं जिसे आप इस ऐप के लिए प्रकाशित करते हैं।
PW_FlightStatusChanged इवेंट संदर्भ
Anchor link toइंटीग्रेशन द्वारा पता लगाया गया हर बदलाव एक PW_FlightStatusChanged इवेंट के रूप में दिया जाता है, जिसमें सभी एट्रिब्यूट्स हमेशा मौजूद रहते हैं: खाली एट्रिब्यूट्स को रिक्त मानों के रूप में भेजा जाता है, कभी छोड़ा नहीं जाता है।
| एट्रिब्यूट | प्रकार | विवरण |
|---|---|---|
event_type | स्ट्रिंग | क्या बदला (नीचे दिए गए मान देखें) |
flight_key | स्ट्रिंग | वही फ़्लाइट कुंजी जो आपने बुकिंग इवेंट पर सेट की थी |
flight_number | स्ट्रिंग | फ़्लाइट नंबर |
departure_airport | स्ट्रिंग | प्रस्थान हवाई अड्डे का कोड |
arrival_airport | स्ट्रिंग | आगमन हवाई अड्डे का कोड |
status | स्ट्रिंग | वर्तमान फ़्लाइट की स्थिति (नीचे दिए गए मान देखें) |
gate_old / gate_new | स्ट्रिंग | परिवर्तन से पहले और बाद में प्रस्थान गेट |
terminal_old / terminal_new | स्ट्रिंग | परिवर्तन से पहले और बाद में प्रस्थान टर्मिनल |
baggage_claim | स्ट्रिंग | बैगेज बेल्ट नंबर, एक बार असाइन होने पर |
provider | स्ट्रिंग | डेटा प्रदाता जिसने परिवर्तन की सूचना दी (aerodatabox) |
delay_minutes | पूर्णांक | शेड्यूल की तुलना में देरी के मिनट, हर इवेंट में मौजूद |
scheduled_at / estimated_at / actual_at | स्ट्रिंग | निर्धारित, वर्तमान में अनुमानित, और वास्तविक प्रस्थान समय, प्रदाता के अपने प्रारूप में |
arrival_terminal | स्ट्रिंग | आगमन टर्मिनल, एक बार असाइन होने पर |
arrival_scheduled_at / arrival_estimated_at / arrival_actual_at | स्ट्रिंग | निर्धारित, वर्तमान में अनुमानित, और वास्तविक आगमन समय, प्रदाता के अपने प्रारूप में |
scheduled_at_local / estimated_at_local / actual_at_local | स्ट्रिंग | ऊपर दिए गए तीनों प्रस्थान समय, प्रस्थान हवाई अड्डे के स्थानीय समय में |
arrival_scheduled_at_local / arrival_estimated_at_local / arrival_actual_at_local | स्ट्रिंग | ऊपर दिए गए तीनों आगमन समय, आगमन हवाई अड्डे के स्थानीय समय में |
flight_date / event_time | तारीख | फ़्लाइट की तारीख, और जब परिवर्तन हुआ |
एट्रिब्यूट मान और प्रारूप
Anchor link toevent_typeमान:gate_change,delay,boarding,departed,arrived,cancelled,baggage_ready।statusमान:scheduled,check_in,boarding,departed,delayed,arrived,cancelled,diverted,unknown। एक AeroDataBox स्टेटस जिसे Pushwoosh नहीं पहचानता है, उसेunknownके रूप में रिपोर्ट किया जाता है।delay_minutes: हर इवेंट में मौजूद, केवलdelayइवेंट में नहीं। 0 का अर्थ है कि फ़्लाइट समय पर है, और ऋणात्मक मान का अर्थ है कि वह समय से पहले चल रही है। देरी 5 मिनट तक पहुँचने पर एकdelayइवेंट भेजा जाता है।- समय एट्रिब्यूट्स: ये सभी, जिनमें
arrival_*और_localवाले भी शामिल हैं, स्ट्रिंग हैं, तारीख नहीं। इस तरह एक खाली समय इवेंट से हटाया नहीं जाता है, और स्थानीय समय हवाई अड्डे का UTC ऑफ़सेट बनाए रखता है। तारीख के अनुसार फ़िल्टर करने के लिए,flight_dateऔरevent_timeका उपयोग करें।