सामग्री पर जाएं

फ़्लाइट स्टेटस इंटीग्रेशन

यात्रियों को उनकी फ़्लाइट में होने वाले बदलावों के बारे में तुरंत बताएं: एक नया गेट, देरी, बोर्डिंग, आगमन, या रद्दीकरण। फ़्लाइट स्टेटस इंटीग्रेशन Pushwoosh को AeroDataBox से जोड़ता है, जो एक फ़्लाइट-डेटा प्रदाता है, ताकि एक कस्टमर जर्नी किसी विशिष्ट यात्री की फ़्लाइट पर नज़र रख सके और उसके स्टेटस में बदलाव होते ही प्रतिक्रिया दे सके।

इंटीग्रेशन का अवलोकन

Anchor link to

इंटीग्रेशन का प्रकार

Anchor link to

स्रोत: आप एक जर्नी के अंदर से एक बुकिंग को उसकी फ़्लाइट के लिए सब्सक्राइब करते हैं। Pushwoosh स्टेटस में हुए बदलावों को एक इवेंट के रूप में वापस भेजता है जिसे आप बाद में उसी जर्नी में उपयोग करते हैं।

आवश्यक शर्तें

Anchor link to

फ़्लाइट स्टेटस कनेक्ट करने से पहले, सुनिश्चित करें कि आपके पास है:

  • Pushwoosh के NUE डेटा सेंटर में एक एप्लिकेशन के साथ एक सक्रिय Pushwoosh खाता। फ़्लाइट स्टेटस अभी तक अन्य डेटा सेंटरों में उपलब्ध नहीं है।
  • एक AeroDataBox खाता और API कुंजी। फ़ीड का बिल आपके अपने AeroDataBox खाते पर आता है।
  • एक बुकिंग इवेंट जिसमें फ़्लाइट का कैरियर, नंबर, तारीख और प्रस्थान हवाई अड्डा होता है (देखें फ़्लाइट स्टेटस जर्नी बनाएँ)।
  • जर्नी को प्रमाणित करने के लिए एक समर्पित API एक्सेस टोकन।

इंटीग्रेशन कैसे काम करता है?

Anchor link to

इंटीग्रेशन को कनेक्ट करना और एक फ़्लाइट पर नज़र रखना दो अलग-अलग स्टेप हैं, जो अलग-अलग समय पर किए जाते हैं:

  1. अपनी AeroDataBox कुंजी को सेटिंग्स → 3rd-पार्टी इंटीग्रेशन में कनेक्ट करें।
  2. एक बुकिंग इवेंट आपकी जर्नी में एक यात्री को प्रवेश कराता है।
  3. जर्नी का Webhook स्टेप उस बुकिंग को Pushwoosh के सार्वजनिक API के माध्यम से उसकी फ़्लाइट के लिए सब्सक्राइब करता है।
  4. Pushwoosh AeroDataBox के साथ फ़्लाइट पर नज़र रखता है और परिवर्तनों का पता लगाता है: गेट, देरी, बोर्डिंग, आगमन, रद्दीकरण, या बैगेज बेल्ट असाइनमेंट।
  5. प्रत्येक परिवर्तन ऐप को PW_FlightStatusChanged इवेंट के रूप में दिया जाता है, जिसे जर्नी का Wait for Trigger और Condition split सही संदेश के लिए रूट करता है।

प्रत्येक फ़्लाइट सब्सक्रिप्शन स्थानीय प्रस्थान तिथि के 36 घंटे बाद अपने आप समाप्त हो जाता है। यह पहले भी समाप्त हो सकता है: जब फ़्लाइट उतर जाती है या रद्द हो जाती है, या जब कोई भी उस पर नज़र नहीं रख रहा होता है। इसके बाद Pushwoosh संबंधित AeroDataBox सब्सक्रिप्शन रद्द कर देता है, ताकि पृष्ठभूमि में उसका बिल न बनता रहे।

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

उपयोग के मामले

Anchor link to

फ़्लाइट स्टेटस चार प्रकार के अपडेट को कवर करता है, प्रत्येक को अपने आप या एक जर्नी में मिलाकर उपयोग किया जा सकता है:

  • गेट परिवर्तन अलर्ट: यात्रियों को उनके प्रस्थान गेट के बदलते ही सूचित करें।
  • देरी की सूचनाएं: एक बार फ़्लाइट की देरी कुछ मिनट से अधिक हो जाने पर यात्रियों को सचेत करें, ताकि वे अपनी योजनाओं को समायोजित कर सकें।
  • बोर्डिंग और आगमन अपडेट: यात्रियों को बताएं कि बोर्डिंग कब खुलती है या उनकी फ़्लाइट कब उतरती है।
  • बैगेज क्लेम: बैगेज बेल्ट नंबर असाइन होते ही भेजें।

इंटीग्रेशन सेट अप करें

Anchor link to

फ़्लाइट स्टेटस को Pushwoosh से कनेक्ट करें

Anchor link to

अपनी AeroDataBox कुंजी को प्रति एप्लिकेशन एक बार कनेक्ट करें:

  1. अपना एप्लिकेशन खोलें और सेटिंग्स → 3rd-पार्टी इंटीग्रेशन पर जाएँ।

  2. उपलब्ध सेवाएँ के अंतर्गत, फ़्लाइट स्टेटस कार्ड खोजें और कॉन्फ़िगर करें पर क्लिक करें।

    3rd-पार्टी इंटीग्रेशन सूची में फ़्लाइट स्टेटस कार्ड, इसका विवरण और कॉन्फ़िगर बटन दिखा रहा है

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

    फ़्लाइट स्टेटस कॉन्फ़िगर डायलॉग जिसमें प्रदाता को AeroDataBox पर सेट किया गया है और एक खाली API कुंजी फ़ील्ड है

कनेक्ट करें पर क्लिक करने के बाद, कार्ड कनेक्टेड सेवाएँ में चला जाता है।

यदि कुंजी अस्वीकार कर दी जाती है

Anchor link to

Pushwoosh पृष्ठभूमि में कुंजी की जाँच करता है। यदि कुछ गलत होता है, तो कार्ड इनमें से एक संदेश दिखाता है:

संदेशकारण
provider rejected the API keyकुंजी अमान्य है या AeroDataBox में रद्द कर दी गई थी
provider account is out of creditsआपके AeroDataBox प्लान में क्रेडिट खत्म हो गए हैं
provider rate limit reachedAeroDataBox अनुरोधों को थ्रॉटल कर रहा है, और यह अपने आप साफ़ हो जाता है
provider is unavailableAeroDataBox तक नहीं पहुँचा जा सका, नेटवर्क समस्या या किसी भी तरफ आउटेज के कारण
provider refused the requestAeroDataBox ने एक त्रुटि वापस की जिसे Pushwoosh अन्यथा नहीं पहचानता है

कुंजी बदलें

Anchor link to

कनेक्टेड सेवाएँ में फ़्लाइट स्टेटस कार्ड को फिर से खोलें, उदाहरण के लिए कुंजी अस्वीकार किए जाने के बाद:

  • कुंजी बदलें: API कुंजी में एक नई कुंजी पेस्ट करें।
  • वर्तमान कुंजी बनाए रखें: API कुंजी को खाली छोड़ दें। फ़ील्ड सहेजी गई कुंजी के केवल अंतिम कुछ वर्ण दिखाता है।

इंटीग्रेशन को डिस्कनेक्ट करें

Anchor link to
  1. कनेक्टेड सेवाएँ में फ़्लाइट स्टेटस कार्ड खोलें।
  2. कुंजी हटा दें।

डिस्कनेक्ट करने के बाद:

  • नए सब्सक्रिप्शन अब नहीं बनते हैं।
  • जिन फ़्लाइट्स पर जर्नी पहले से नज़र रख रही हैं, वे अपने सब्सक्रिप्शन तब तक बनाए रखती हैं जब तक कि वे अपने आप समाप्त न हो जाएँ या आप उन्हें जर्नी से हटा न दें।
  • कार्ड पर सक्रिय-सब्सक्रिप्शन की गिनती इन सब्सक्रिप्शन को उनके समाप्त होने तक शामिल करती है।

फ़्लाइट स्टेटस जर्नी बनाएँ

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
  1. एक Trigger-based entry जोड़ें और अपना बुकिंग इवेंट चुनें, उदाहरण के लिए flight_booked।
  2. एक ही समय में एक उपयोगकर्ता के कितने सेशन हो सकते हैं, इसे नियंत्रित करें के अंतर्गत, प्रति उपयोगकर्ता एकाधिक सक्रिय सेशन चुनें।
  3. सेशन पहचानकर्ता के रूप में फ़्लाइट-कुंजी एट्रिब्यूट चुनें। यह एक ही यात्री को एक ही समय में एक से अधिक फ़्लाइट को ट्रैक करने की अनुमति देता है, प्रत्येक अपने स्वयं के सेशन में।

Webhook स्टेप के साथ बुकिंग को सब्सक्राइब करें

Anchor link to

प्रविष्टि के ठीक बाद एक Webhook स्टेप जोड़ें। इसकी रिक्वेस्ट बॉडी प्रविष्टि इवेंट से फ़्लाइट फ़ील्ड खींचती है, इसलिए स्टेप को उनका उपयोग करने के लिए प्रविष्टि के ठीक बाद बैठना होगा।

  1. REQUEST TYPE को POST पर सेट करें।

  2. URL को https://rpc-api.svc-nue.pushwoosh.com/api/integrations/flight-status/subscriptions पर सेट करें।

  3. HEADERS में, Content-Type: application/json रखें।

  4. एक हेडर Authorization: Token <your API token> जोड़ें। सहेजने के बाद Pushwoosh इस मान को मास्क कर देता है, क्योंकि Authorization नामक किसी भी हेडर को स्वचालित रूप से एक रहस्य के रूप में माना जाता है। संपादन और संस्करण इतिहास के लिए इसका क्या अर्थ है, यह देखने के लिए हेडर मान को रहस्य के रूप में चिह्नित करें देखें।

  5. DATA में, नीचे दी गई रिक्वेस्ट बॉडी दर्ज करें, अपना स्वयं का एप्लिकेशन कोड सीधे टाइप करें:

    {
    "application": "<your application code>",
    "user_id": "{{device:user_id}}",
    "source": "journey",
    "flight": {
    "carrier": "",
    "flight_number": "",
    "flight_date": "",
    "departure_airport": ""
    }
    }
  6. चार खाली flight मानों में से प्रत्येक के लिए, DATA BUILDER खोलें।

  7. श्रेणी इवेंट चुनें।

  8. अपने बुकिंग इवेंट से मेल खाने वाला एट्रिब्यूट चुनें (कैरियर, फ़्लाइट नंबर, फ़्लाइट की तारीख, प्रस्थान हवाई अड्डा)।

  9. Pushwoosh द्वारा उत्पन्न मैक्रो को कॉपी करें और इसे उस फ़ील्ड के मान के रूप में पेस्ट करें। शेष तीन मानों के लिए दोहराएँ।

आपको प्रतिक्रिया से कुछ भी मैप करने की आवश्यकता नहीं है। यह flight_key लौटाती है, जो पहले से ही आपके बुकिंग इवेंट पर है।

स्टेटस अपडेट की प्रतीक्षा करें

Anchor link to

Webhook स्टेप के बाद एक Wait for Trigger स्टेप जोड़ें।

  1. एक ब्रांच जोड़ें और उसके इवेंट को PW_FlightStatusChanged पर सेट करें।
  2. मल्टी-सेशन एट्रिब्यूट मैचिंग के तहत, वही फ़्लाइट-कुंजी एट्रिब्यूट चुनें जिसका आपने प्रविष्टि पर उपयोग किया था। यह सुनिश्चित करता है कि एक स्टेटस अपडेट केवल उसी यात्री को जगाता है जिसकी फ़्लाइट के बारे में यह वास्तव में है।
  3. प्रतीक्षा अवधि को फ़्लाइट को आराम से कवर करने के लिए सेट करें। अधिकांश यात्रा कार्यक्रमों के लिए 48 घंटे पर्याप्त हैं।
  4. ट्रिगर नहीं हुआ ब्रांच को अगले स्टेप के बिना छोड़ दें, या एक फ़ॉलबैक संदेश जोड़ें। जिन यात्रियों की फ़्लाइट का प्रतीक्षा समाप्त होने से पहले कोई अपडेट नहीं आता, वे यहां जर्नी से बाहर हो जाते हैं, और यह अपेक्षित है।

इवेंट प्रकार के अनुसार ब्रांच करें

Anchor link to

Wait for Trigger स्टेप के बाद एक Condition split जोड़ें।

  1. शर्त प्रकार के रूप में इवेंट चुनें।
  2. जर्नी से इवेंट में, PW_FlightStatusChanged चुनें।
  3. एट्रिब्यूट के तहत, event_type चुनें।
  4. शर्त को is पर सेट करें।
  5. gate_change मान के साथ एक ब्रांच जोड़ें।
  6. सहेजें पर क्लिक करें। यह दो ब्रांच बनाता है: एक जिसे आपने गेट परिवर्तन के लिए नामित किया है, और अन्य सभी उपयोगकर्ता हर दूसरे इवेंट प्रकार के लिए।

इस एलिमेंट को दोहराएं, या इसमें और ब्रांच जोड़ें, अन्य event_type मानों के लिए जिन पर आप कार्य करना चाहते हैं: delay, boarding, departed, arrived, cancelled, और baggage_ready सभी एक ही तरह से काम करते हैं।

यात्री को सूचित करें

Anchor link to

गेट-चेंज ब्रांच पर एक Push एलिमेंट जोड़ें।

  1. एक पुश प्रीसेट चुनें या बनाएं।
  2. संदेश प्रकार को लेन-देन संबंधी संदेश पर सेट करें, क्योंकि फ़्लाइट स्टेटस अलर्ट एक सेवा सूचना है, प्रोमो नहीं। फ़्रीक्वेंसी कैपिंग लागू नहीं होती है, और यह अभी भी कंट्रोल ग्रुप में यात्रियों तक पहुँचता है।
  3. इवेंट एट्रिब्यूट्स के साथ वैयक्तिकरण सक्षम करें।
  4. स्रोत इवेंट के रूप में PW_FlightStatusChanged चुनें।
  5. अपने प्रीसेट के प्लेसहोल्डर्स को flight_number और gate_new से भरें।

इसके बजाय एक Live Activity कार्ड दिखाएँ

Anchor link to

Push की जगह या उसके साथ, तीन Live Activity एलिमेंट जोड़ें:

  • Start: Webhook स्टेप के ठीक बाद, सीधे एंट्री के बाद नहीं। एंट्री केवल एक अगले स्टेप से जुड़ती है, इसलिए Webhook और Start दोनों उसके ठीक बाद नहीं आ सकते।
  • Update: गेट-चेंज ब्रांच पर।
  • End: जब जर्नी को अब फ़्लाइट को ट्रैक करने की आवश्यकता न रहे, उदाहरण के लिए आगमन या रद्द होने के बाद।

Start एलिमेंट में, Card attributes के तहत, कार्ड के ActivityAttributes टाइप को आवश्यक सभी छह फ़ील्ड जोड़ें। Card attributes नामों और मानों की एक मुक्त सूची है, और इंटरफ़ेस नामों की जाँच नहीं करता है, इसलिए प्रत्येक को ठीक वैसे ही दर्ज करें जैसा सूचीबद्ध है। इनमें से पांच पहले से ही आपके बुकिंग इवेंट पर हैं:

  • carrier
  • flight_number
  • flight_date
  • departure_airport
  • flight_key
  • arrival_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 to
  • event_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 का उपयोग करें।