การผสานรวมสถานะเที่ยวบิน
แจ้งผู้โดยสารเกี่ยวกับการเปลี่ยนแปลงของเที่ยวบินทันทีที่เกิดขึ้น เช่น ประตูขึ้นเครื่องใหม่ ความล่าช้า การขึ้นเครื่อง การมาถึง หรือการยกเลิก การผสานรวมสถานะเที่ยวบินจะเชื่อมต่อ Pushwoosh กับ AeroDataBox ซึ่งเป็นผู้ให้บริการข้อมูลเที่ยวบิน เพื่อให้ Customer Journey สามารถติดตามเที่ยวบินของผู้โดยสารที่ระบุและตอบสนองทันทีที่สถานะเปลี่ยนแปลง
ภาพรวมการผสานรวม
Anchor link toประเภทการผสานรวม
Anchor link toSource: คุณสมัครรับข้อมูลการจองสำหรับเที่ยวบินจากภายใน Journey Pushwoosh จะส่งการเปลี่ยนแปลงสถานะกลับมาเป็นอีเวนต์ที่คุณใช้ในภายหลังใน Journey เดียวกันนั้น
ข้อกำหนดเบื้องต้น
Anchor link toก่อนเชื่อมต่อสถานะเที่ยวบิน ตรวจสอบให้แน่ใจว่าคุณมี:
- บัญชี Pushwoosh ที่ใช้งานอยู่พร้อมแอปพลิเคชันในศูนย์ข้อมูล NUE ของ Pushwoosh ขณะนี้สถานะเที่ยวบินยังไม่พร้อมใช้งานในศูนย์ข้อมูลอื่น
- บัญชี AeroDataBox และคีย์ API ฟีดจะถูกเรียกเก็บเงินในบัญชี AeroDataBox ของคุณเอง
- อีเวนต์การจองที่ระบุสายการบิน หมายเลข วันที่ และสนามบินต้นทางของเที่ยวบิน (ดู สร้าง Journey สถานะเที่ยวบิน)
- API Access token เฉพาะสำหรับ Journey เพื่อใช้ในการรับรองความถูกต้อง
การผสานรวมทำงานอย่างไร?
Anchor link toการเชื่อมต่อการผสานรวมและการติดตามเที่ยวบินเป็นสองขั้นตอนที่แยกจากกัน ซึ่งทำในเวลาที่ต่างกัน:
- เชื่อมต่อคีย์ AeroDataBox ของคุณใน Settings → 3rd-party integrations
- อีเวนต์การจองนำผู้โดยสารเข้าสู่ Journey ของคุณ
- ขั้นตอน Webhook ของ Journey จะสมัครรับข้อมูลการจองสำหรับเที่ยวบินผ่าน API สาธารณะของ Pushwoosh
- Pushwoosh ติดตามเที่ยวบินด้วย AeroDataBox และตรวจจับการเปลี่ยนแปลง: ประตูขึ้นเครื่อง ความล่าช้า การขึ้นเครื่อง การมาถึง การยกเลิก หรือการกำหนดสายพานรับกระเป๋า
- การเปลี่ยนแปลงแต่ละครั้งจะถูกส่งไปยังแอปเป็นอีเวนต์
PW_FlightStatusChangedซึ่ง Wait for Trigger และ Condition split ของ Journey จะนำทางไปยังข้อความที่ถูกต้อง
การสมัครรับข้อมูลเที่ยวบินแต่ละรายการจะสิ้นสุดโดยอัตโนมัติ 36 ชั่วโมงหลังจากวันที่ออกเดินทางตามเวลาท้องถิ่น และอาจสิ้นสุดเร็วกว่านั้นได้ เมื่อเที่ยวบินลงจอดหรือถูกยกเลิก หรือเมื่อไม่มีสิ่งใดติดตามเที่ยวบินนั้นอีกต่อไป จากนั้น Pushwoosh จะยกเลิกการสมัครรับข้อมูล AeroDataBox ที่ตรงกัน เพื่อไม่ให้มีการเรียกเก็บเงินต่อในเบื้องหลัง
ช่วงเวลานี้จะถูกกำหนดตายตัวตอนสมัครรับข้อมูล โดยนับจากวันที่ออกเดินทางที่จองไว้ และจะไม่เลื่อนออกไปหาก AeroDataBox รายงานความล่าช้าในภายหลัง ความล่าช้าที่ทำให้เที่ยวบินเลื่อนไปเป็นวันถัดไปตามปฏิทินอาจทำให้การสมัครรับข้อมูลสิ้นสุดก่อนเวลาออกเดินทางจริงที่ล่าช้า
กรณีการใช้งาน
Anchor link toสถานะเที่ยวบินครอบคลุมการอัปเดตสี่ประเภท ซึ่งแต่ละประเภทสามารถใช้ได้ด้วยตัวเองหรือรวมกันใน Journey เดียว:
- การแจ้งเตือนการเปลี่ยนแปลงประตูขึ้นเครื่อง: แจ้งเตือนผู้โดยสารทันทีที่ประตูขึ้นเครื่องของพวกเขาเปลี่ยนแปลง
- การแจ้งเตือนความล่าช้า: แจ้งเตือนผู้โดยสารเมื่อเที่ยวบินล่าช้าเกินสองสามนาที เพื่อให้พวกเขาสามารถปรับแผนการเดินทางได้
- การอัปเดตการขึ้นเครื่องและการมาถึง: แจ้งผู้โดยสารเมื่อเริ่มขึ้นเครื่องหรือเมื่อเที่ยวบินของพวกเขาลงจอด
- การรับกระเป๋าเดินทาง: ส่งหมายเลขสายพานรับกระเป๋าทันทีที่ได้รับการกำหนด
ตั้งค่าการผสานรวม
Anchor link toเชื่อมต่อสถานะเที่ยวบินกับ Pushwoosh
Anchor link toเชื่อมต่อคีย์ AeroDataBox ของคุณหนึ่งครั้งต่อแอปพลิเคชัน:
-
เปิดแอปพลิเคชันของคุณและไปที่ Settings → 3rd-party integrations
-
ใต้ Available services ค้นหาการ์ด Flight Status และคลิก Configure

-
วางคีย์ AeroDataBox ของคุณลงใน API key และคลิก Connect

หลังจากที่คุณคลิก Connect การ์ดจะย้ายไปที่ Connected services
หากคีย์ถูกปฏิเสธ
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เปิดการ์ด Flight Status ใน Connected services อีกครั้ง เช่น หลังจากคีย์ถูกปฏิเสธ:
- เปลี่ยนคีย์: วางคีย์ใหม่ลงใน API key
- ใช้คีย์ปัจจุบันต่อ: ปล่อย API key ว่างไว้ ช่องนี้จะแสดงเฉพาะอักขระสองสามตัวสุดท้ายของคีย์ที่บันทึกไว้
ยกเลิกการเชื่อมต่อการผสานรวม
Anchor link to- เปิดการ์ด Flight Status ใน Connected services
- ลบคีย์
หลังจากที่คุณยกเลิกการเชื่อมต่อ:
- จะไม่มีการสร้างการสมัครรับข้อมูลใหม่อีก
- เที่ยวบินที่ Journey ติดตามอยู่แล้วจะยังคงการสมัครรับข้อมูลไว้จนกว่าจะสิ้นสุดลงเองหรือคุณลบออกจาก Journey
- จำนวนการสมัครรับข้อมูลที่ใช้งานอยู่บนการ์ดจะรวมการสมัครรับข้อมูลเหล่านี้ไว้จนกว่าจะสิ้นสุดลง
สร้าง Journey สถานะเที่ยวบิน
Anchor link toก่อนสร้าง Journey
Anchor link toตรวจสอบให้แน่ใจว่าคุณมี:
- อีเวนต์การจองที่ระบุสายการบิน หมายเลข วันที่ (
YYYY-MM-DD) และสนามบินต้นทางของเที่ยวบิน พร้อมด้วยแอตทริบิวต์หนึ่งที่เก็บคีย์เที่ยวบินในรูปแบบ<carrier><number>/<date>/<departure airport>ตัวอย่างเช่นLH400/2026-09-20/MUCนี่คือสิ่งที่การจับคู่เซสชันใช้ตลอดทั้ง Journey - API Access token เฉพาะ เมธอด subscribe ยอมรับโทเค็นใดๆ จากบัญชีของคุณโดยไม่ต้องให้สิทธิ์ใดๆ สร้างโทเค็นเฉพาะสำหรับ Journey นี้เพื่อให้คุณสามารถเพิกถอนได้ในภายหลังโดยไม่กระทบต่อสิ่งอื่น
- โฮสต์ API สาธารณะของศูนย์ข้อมูลของคุณ สำหรับบัญชี NUE คือ
rpc-api.svc-nue.pushwoosh.com - ขีดจำกัดการเข้าแคมเปญ ของ Journey ถูกปิดไว้ ขีดจำกัดการเข้าแคมเปญจะติดตามการเข้าต่อผู้ใช้เท่านั้น ไม่รู้จักตัวระบุเซสชันที่คุณตั้งค่าด้านล่าง ดังนั้นมันจะบล็อกเที่ยวบินที่สองของผู้โดยสารจนกว่าระยะเวลาจำกัดจะผ่านไป
เริ่มต้น Journey จากอีเวนต์การจอง
Anchor link to- เพิ่ม Trigger-based entry และเลือกอีเวนต์การจองของคุณ เช่น
flight_booked - ใต้ Control how many sessions a user can have at the same time เลือก Multiple active sessions per user
- เลือกแอตทริบิวต์คีย์เที่ยวบินเป็นตัวระบุเซสชัน ซึ่งจะช่วยให้ผู้โดยสารคนเดียวกันสามารถติดตามเที่ยวบินได้มากกว่าหนึ่งเที่ยวบินพร้อมกัน โดยแต่ละเที่ยวบินอยู่ในเซสชันของตัวเอง
สมัครรับข้อมูลการจองด้วยขั้นตอน 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 -
เลือกหมวดหมู่ Event
-
เลือกแอตทริบิวต์ที่ตรงกันจากอีเวนต์การจองของคุณ (สายการบิน หมายเลขเที่ยวบิน วันที่เที่ยวบิน สนามบินต้นทาง)
-
คัดลอกมาโครที่ Pushwoosh สร้างขึ้นและวางเป็นค่าของฟิลด์นั้น ทำซ้ำสำหรับค่าที่เหลืออีกสามค่า
คุณไม่จำเป็นต้องแมปข้อมูลใดๆ จากการตอบกลับ การตอบกลับจะส่งคืน flight_key ซึ่งมีอยู่แล้วในอีเวนต์การจองของคุณ
รอการอัปเดตสถานะ
Anchor link toเพิ่มขั้นตอน Wait for Trigger หลังจากขั้นตอน Webhook
- เพิ่มหนึ่งสาขาและตั้งค่าอีเวนต์เป็น
PW_FlightStatusChanged - ใต้การจับคู่แอตทริบิวต์หลายเซสชัน เลือกแอตทริบิวต์คีย์เที่ยวบินเดียวกับที่คุณใช้ในการเข้า ซึ่งจะช่วยให้แน่ใจว่าการอัปเดตสถานะจะปลุกเฉพาะผู้โดยสารที่เกี่ยวข้องกับเที่ยวบินนั้นจริงๆ
- ตั้งค่าระยะเวลารอให้ครอบคลุมเที่ยวบินอย่างสบายๆ 48 ชั่วโมงก็เพียงพอสำหรับแผนการเดินทางส่วนใหญ่
- ปล่อยให้สาขา Not triggered ไม่มีขั้นตอนถัดไป หรือเพิ่มข้อความสำรอง ผู้โดยสารที่เที่ยวบินไม่มีการอัปเดตก่อนที่การรอจะสิ้นสุดจะออกจาก Journey ที่นี่ ซึ่งเป็นเรื่องปกติ
แยกสาขาตามประเภทอีเวนต์
Anchor link toเพิ่ม Condition split หลังจากขั้นตอน Wait for Trigger
- เลือก Event เป็นประเภทเงื่อนไข
- ใน Event from Journey เลือก
PW_FlightStatusChanged - ใต้ Attribute เลือก
event_type - ตั้งค่าเงื่อนไขเป็น is
- เพิ่มสาขาด้วยค่า
gate_change - คลิก Save ซึ่งจะสร้างสองสาขา: สาขาที่คุณตั้งชื่อสำหรับการเปลี่ยนแปลงประตูขึ้นเครื่อง และ All other users สำหรับประเภทอีเวนต์อื่นๆ ทั้งหมด
ทำซ้ำองค์ประกอบนี้ หรือเพิ่มสาขาเพิ่มเติมสำหรับค่า event_type อื่นๆ ที่คุณต้องการดำเนินการ: delay, boarding, departed, arrived, cancelled และ baggage_ready ทั้งหมดทำงานในลักษณะเดียวกัน
แจ้งเตือนผู้โดยสาร
Anchor link toเพิ่มองค์ประกอบ Push ในสาขาการเปลี่ยนแปลงประตูขึ้นเครื่อง
- เลือกหรือสร้างพรีเซ็ตพุช
- ตั้งค่า Message type เป็น Transactional message เนื่องจากการแจ้งเตือนสถานะเที่ยวบินเป็นการแจ้งเตือนบริการ ไม่ใช่โปรโมชัน การจำกัดความถี่ไม่มีผล และยังคงเข้าถึงผู้โดยสารใน กลุ่มควบคุม
- เปิดใช้งาน การปรับแต่งส่วนบุคคลด้วยแอตทริบิวต์อีเวนต์
- เลือก
PW_FlightStatusChangedเป็นอีเวนต์ต้นทาง - เติมค่าในช่องว่างของพรีเซ็ตของคุณจาก
flight_numberและgate_new
แสดงการ์ด Live Activity แทน
Anchor link toเพิ่มองค์ประกอบ Live Activity สามรายการ แทนที่ Push หรือเพิ่มเติมจาก Push:
- Start: ทันทีหลังจากขั้นตอน Webhook ไม่ใช่หลังจากการเข้าโดยตรง การเข้าเชื่อมต่อกับขั้นตอนถัดไปได้เพียงขั้นตอนเดียว ดังนั้น Webhook และ Start จึงไม่สามารถอยู่ถัดจากการเข้าทั้งคู่ได้
- Update: บนสาขาการเปลี่ยนแปลงประตูขึ้นเครื่อง
- End: เมื่อ Journey ไม่จำเป็นต้องติดตามเที่ยวบินอีกต่อไป เช่น หลังจากการมาถึงหรือการยกเลิก
ในองค์ประกอบ Start ใต้ Card attributes ให้เพิ่มฟิลด์ทั้งหกที่ประเภท ActivityAttributes ของการ์ดต้องการ Card attributes เป็นรายการชื่อและค่าแบบอิสระ และอินเทอร์เฟซไม่ตรวจสอบชื่อ ดังนั้นให้ป้อนแต่ละชื่อให้ตรงตามรายการ ห้ารายการมีอยู่แล้วในอีเวนต์การจองของคุณ:
carrierflight_numberflight_datedeparture_airportflight_keyarrival_airport: การเรียก subscribe ไม่ต้องการฟิลด์นี้ ดังนั้นให้เพิ่มลงในอีเวนต์การจองเฉพาะเมื่อคุณใช้ Live Activity เท่านั้น
มีเพียง Start เท่านั้นที่ตั้งค่า Card attributes และค่าเหล่านี้จะคงเดิมตลอดอายุการใช้งานของการ์ด Update และ End ไม่ได้ตั้งค่า ฟิลด์ที่เปลี่ยนแปลง เช่น สถานะ ประตูขึ้นเครื่อง และความล่าช้า คือ Card content และมาจากสกีมาวิดเจ็ตที่คุณเผยแพร่สำหรับแอปนี้
ข้อมูลอ้างอิงอีเวนต์ PW_FlightStatusChanged
Anchor link toทุกการเปลี่ยนแปลงที่การผสานรวมตรวจพบจะถูกส่งเป็นอีเวนต์ PW_FlightStatusChanged หนึ่งรายการ โดยมีแอตทริบิวต์ทั้งหมดอยู่เสมอ: แอตทริบิวต์ที่ว่างเปล่าจะถูกส่งเป็นค่าว่าง ไม่เคยถูกละไว้
| แอตทริบิวต์ | ประเภท | คำอธิบาย |
|---|---|---|
event_type | String | สิ่งที่เปลี่ยนแปลง (ดูค่าด้านล่าง) |
flight_key | String | คีย์เที่ยวบินเดียวกับที่คุณตั้งค่าในอีเวนต์การจอง |
flight_number | String | หมายเลขเที่ยวบิน |
departure_airport | String | รหัสสนามบินต้นทาง |
arrival_airport | String | รหัสสนามบินปลายทาง |
status | String | สถานะเที่ยวบินปัจจุบัน (ดูค่าด้านล่าง) |
gate_old / gate_new | String | ประตูขึ้นเครื่องก่อนและหลังการเปลี่ยนแปลง |
terminal_old / terminal_new | String | อาคารผู้โดยสารขาออกก่อนและหลังการเปลี่ยนแปลง |
baggage_claim | String | หมายเลขสายพานรับกระเป๋า เมื่อได้รับการกำหนด |
provider | String | ผู้ให้บริการข้อมูลที่รายงานการเปลี่ยนแปลง (aerodatabox) |
delay_minutes | Integer | จำนวนนาทีที่ล่าช้ากว่ากำหนดการ ปรากฏในทุกอีเวนต์ |
scheduled_at / estimated_at / actual_at | String | เวลาออกเดินทางตามกำหนดการ เวลาที่คาดการณ์ในปัจจุบัน และเวลาจริง ในรูปแบบของผู้ให้บริการเอง |
arrival_terminal | String | อาคารผู้โดยสารขาเข้า เมื่อได้รับการกำหนด |
arrival_scheduled_at / arrival_estimated_at / arrival_actual_at | String | เวลามาถึงตามกำหนดการ เวลาที่คาดการณ์ในปัจจุบัน และเวลาจริง ในรูปแบบของผู้ให้บริการเอง |
scheduled_at_local / estimated_at_local / actual_at_local | String | เวลาออกเดินทางทั้งสามข้างต้น ตามเวลาท้องถิ่นของสนามบินต้นทาง |
arrival_scheduled_at_local / arrival_estimated_at_local / arrival_actual_at_local | String | เวลามาถึงทั้งสามข้างต้น ตามเวลาท้องถิ่นของสนามบินปลายทาง |
flight_date / event_time | Date | วันที่ของเที่ยวบิน และเวลาที่เกิดการเปลี่ยนแปลง |
ค่าและรูปแบบของแอตทริบิวต์
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 หมายความว่าเที่ยวบินตรงเวลา และค่าติดลบหมายความว่าเที่ยวบินเร็วกว่ากำหนด อีเวนต์delayจะถูกส่งเมื่อความล่าช้าถึง 5 นาที- แอตทริบิวต์เวลา: ทั้งหมด รวมถึงแอตทริบิวต์
arrival_*และ_localเป็นประเภท String ไม่ใช่ Date ด้วยวิธีนี้ เวลาที่ว่างเปล่าจะไม่ถูกลบออกจากอีเวนต์ และเวลาท้องถิ่นจะคงค่า UTC offset ของสนามบินไว้ หากต้องการกรองตามวันที่ ให้ใช้flight_dateและevent_time