Intégration du statut des vols
Informez les passagers des changements de leur vol au moment où ils se produisent : une nouvelle porte d’embarquement, un retard, l’embarquement, l’arrivée ou une annulation. L’intégration du statut des vols connecte Pushwoosh à AeroDataBox, un fournisseur de données de vol, afin qu’un parcours client puisse surveiller le vol d’un passager spécifique et réagir dès que son statut change.
Aperçu de l’intégration
Anchor link toType d’intégration
Anchor link toSource : vous abonnez une réservation à son vol depuis un parcours. Pushwoosh renvoie les changements de statut sous forme d’événement que vous utilisez plus tard dans ce même parcours.
Prérequis
Anchor link toAvant de connecter le statut des vols, assurez-vous d’avoir :
- Un compte Pushwoosh actif avec une application dans le centre de données NUE de Pushwoosh. Le statut des vols n’est pas encore disponible dans d’autres centres de données.
- Un compte AeroDataBox et une clé API. Le flux est facturé sur votre propre compte AeroDataBox.
- Un événement de réservation qui contient la compagnie aérienne, le numéro, la date et l’aéroport de départ du vol (voir Construire le parcours de statut de vol).
- Un jeton d’accès API dédié pour l’authentification du parcours.
Comment fonctionne l’intégration ?
Anchor link toLa connexion de l’intégration et la surveillance d’un vol sont deux étapes distinctes, effectuées à des moments différents :
- Connectez votre clé AeroDataBox dans Paramètres → Intégrations tierces.
- Un événement de réservation fait entrer un passager dans votre parcours.
- L’étape Webhook du parcours abonne cette réservation à son vol via l’API publique de Pushwoosh.
- Pushwoosh surveille le vol avec AeroDataBox et détecte les changements : porte d’embarquement, retard, embarquement, arrivée, annulation ou attribution d’un tapis à bagages.
- Chaque changement est transmis à l’application sous la forme d’un événement
PW_FlightStatusChanged, que les éléments Attendre un déclencheur et Division par condition du parcours acheminent vers le bon message.
Chaque abonnement à un vol se termine automatiquement 36 heures après la date de départ locale. Il peut se terminer plus tôt : dès que le vol atterrit ou est annulé, ou dès que plus rien ne le surveille. Pushwoosh annule alors l’abonnement AeroDataBox correspondant, afin qu’il ne continue pas à être facturé en arrière-plan.
Cette fenêtre est fixée au moment de l’abonnement, à partir de la date de départ réservée, et ne se décale pas si AeroDataBox signale ensuite un retard. Un retard qui repousse le vol au jour calendaire suivant peut faire expirer l’abonnement avant le départ réel retardé.
Cas d’utilisation
Anchor link toLe statut des vols couvre quatre types de mises à jour, chacune pouvant être utilisée seule ou combinée dans un seul parcours :
- Alertes de changement de porte d’embarquement : informez les passagers dès que leur porte d’embarquement change.
- Notifications de retard : alertez les passagers dès que le retard d’un vol dépasse quelques minutes, afin qu’ils puissent ajuster leurs plans.
- Mises à jour sur l’embarquement et l’arrivée : informez les passagers lorsque l’embarquement commence ou que leur vol atterrit.
- Récupération des bagages : envoyez le numéro du tapis à bagages dès qu’il est attribué.
Configurer l’intégration
Anchor link toConnecter le statut des vols à Pushwoosh
Anchor link toConnectez votre clé AeroDataBox une fois par application :
-
Ouvrez votre application et allez dans Paramètres → Intégrations tierces.
-
Sous Services disponibles, trouvez la carte Statut des vols et cliquez sur Configurer.

-
Collez votre clé AeroDataBox dans Clé API et cliquez sur Connecter.

Après avoir cliqué sur Connecter, la carte se déplace vers Services connectés.
Si la clé est rejetée
Anchor link toPushwoosh vérifie la clé en arrière-plan. Si quelque chose ne va pas, la carte affiche l’un de ces messages :
| Message | Cause |
|---|---|
provider rejected the API key | La clé est invalide ou a été révoquée dans AeroDataBox |
provider account is out of credits | Votre plan AeroDataBox n’a plus de crédits |
provider rate limit reached | AeroDataBox limite les requêtes, et cela se résout de lui-même |
provider is unavailable | AeroDataBox n’a pas pu être atteint, en raison d’un problème de réseau ou d’une panne de l’un ou l’autre côté |
provider refused the request | AeroDataBox a renvoyé une erreur que Pushwoosh ne reconnaît pas autrement |
Remplacer la clé
Anchor link toRouvrez la carte Statut des vols dans Services connectés, par exemple après le rejet de la clé :
- Remplacer la clé : collez-en une nouvelle dans Clé API.
- Conserver la clé actuelle : laissez Clé API vide. Le champ n’affiche que les derniers caractères de la clé enregistrée.
Déconnecter l’intégration
Anchor link to- Ouvrez la carte Statut des vols dans Services connectés.
- Supprimez la clé.
Après la déconnexion :
- Les nouveaux abonnements ne sont plus créés.
- Les vols que les parcours surveillent déjà conservent leurs abonnements jusqu’à ce qu’ils se terminent d’eux-mêmes ou que vous les supprimiez du parcours.
- Le nombre d’abonnements actifs sur la carte inclut ces abonnements jusqu’à leur fin.
Construire le parcours de statut de vol
Anchor link toAvant de construire le parcours
Anchor link toAssurez-vous d’avoir :
- Un événement de réservation contenant la compagnie aérienne, le numéro, la date (
AAAA-MM-JJ) et l’aéroport de départ du vol, ainsi qu’un attribut contenant la clé du vol au format<compagnie><numéro>/<date>/<aéroport de départ>, par exempleLH400/2026-09-20/MUC. C’est ce que la correspondance de session utilise tout au long du parcours. - Un jeton d’accès API dédié. La méthode d’abonnement accepte n’importe quel jeton de votre compte, sans aucune permission à accorder. Créez-en un spécifiquement pour ce parcours afin de pouvoir le révoquer plus tard sans toucher à autre chose.
- L’hôte de l’API publique de votre centre de données. Pour les comptes NUE, c’est
rpc-api.svc-nue.pushwoosh.com. - La limite d’entrée de campagne du parcours, désactivée. La limite d’entrée de campagne ne suit les entrées que par utilisateur. Elle ne connaît pas l’identifiant de session que vous configurez ci-dessous, donc elle bloquerait le deuxième vol d’un passager jusqu’à ce que la période limite soit passée.
Démarrer le parcours à partir d’un événement de réservation
Anchor link to- Ajoutez une Entrée basée sur un déclencheur et sélectionnez votre événement de réservation, par exemple
flight_booked. - Sous Contrôler le nombre de sessions qu’un utilisateur peut avoir en même temps, choisissez Plusieurs sessions actives par utilisateur.
- Choisissez l’attribut de clé de vol comme identifiant de session. Cela permet au même passager de suivre plusieurs vols à la fois, chacun dans sa propre session.
Abonner la réservation avec une étape Webhook
Anchor link toAjoutez une étape Webhook directement après l’entrée. Le corps de sa requête extrait les champs de vol de l’événement d’entrée, donc l’étape doit se trouver juste après l’entrée pour les utiliser.
-
Définissez TYPE DE REQUÊTE sur
POST. -
Définissez URL sur
https://rpc-api.svc-nue.pushwoosh.com/api/integrations/flight-status/subscriptions. -
Dans EN-TÊTES, conservez
Content-Type: application/json. -
Ajoutez un en-tête
Authorization: Token <votre jeton API>. Pushwoosh masque cette valeur après que vous ayez sauvegardé, car tout en-tête nomméAuthorizationest traité automatiquement comme un secret. Voir Marquer une valeur d’en-tête comme secrète pour savoir ce que cela signifie pour l’édition et l’historique des versions. -
Dans DONNÉES, entrez le corps de la requête ci-dessous, en tapant directement votre propre code d’application :
{"application": "<votre code d'application>","user_id": "{{device:user_id}}","source": "journey","flight": {"carrier": "","flight_number": "","flight_date": "","departure_airport": ""}} -
Pour chacune des quatre valeurs
flightvides, ouvrez le CONSTRUCTEUR DE DONNÉES. -
Sélectionnez la catégorie Événement.
-
Choisissez l’attribut correspondant de votre événement de réservation (compagnie aérienne, numéro de vol, date de vol, aéroport de départ).
-
Copiez la macro que Pushwoosh génère et collez-la comme valeur de ce champ. Répétez pour les trois valeurs restantes.
Vous n’avez rien à mapper à partir de la réponse. Elle renvoie flight_key, qui figure déjà sur votre événement de réservation.
Attendre une mise à jour de statut
Anchor link toAjoutez une étape Attendre un déclencheur après l’étape Webhook.
- Ajoutez une branche et définissez son événement sur
PW_FlightStatusChanged. - Sous la correspondance d’attributs multi-session, sélectionnez le même attribut de clé de vol que vous avez utilisé à l’entrée. Cela garantit qu’une mise à jour de statut ne réveille que le passager dont le vol est réellement concerné.
- Définissez la période d’attente pour couvrir confortablement le vol. 48 heures suffisent pour la plupart des itinéraires.
- Laissez la branche Non déclenché sans étape suivante, ou ajoutez un message de repli. Les passagers dont le vol n’a aucune mise à jour avant la fin de l’attente quittent le parcours ici, et c’est le comportement attendu.
Branche par type d’événement
Anchor link toAjoutez une Division par condition après l’étape Attendre un déclencheur.
- Sélectionnez Événement comme type de condition.
- Dans Événement du parcours, choisissez
PW_FlightStatusChanged. - Sous Attribut, sélectionnez
event_type. - Définissez la condition sur est.
- Ajoutez une branche avec la valeur
gate_change. - Cliquez sur Sauvegarder. Cela crée deux branches : celle que vous avez nommée pour un changement de porte, et Tous les autres utilisateurs pour tous les autres types d’événements.
Répétez cet élément, ou ajoutez-y d’autres branches, pour les autres valeurs event_type sur lesquelles vous voulez agir : delay, boarding, departed, arrived, cancelled, et baggage_ready fonctionnent toutes de la même manière.
Informer le passager
Anchor link toAjoutez un élément Push sur la branche de changement de porte.
- Sélectionnez ou créez un préréglage de push.
- Définissez le Type de message sur Message transactionnel, car une alerte de statut de vol est une notification de service, pas une promotion. Le plafonnement de la fréquence ne s’applique pas, et elle atteint toujours les passagers dans un groupe de contrôle.
- Activez la personnalisation avec les attributs d’événement.
- Choisissez
PW_FlightStatusChangedcomme événement source. - Remplissez les espaces réservés de votre préréglage à partir de
flight_numberetgate_new.
Afficher une carte Live Activity à la place
Anchor link toAjoutez trois éléments Live Activity, à la place de Push ou en complément :
- Start : juste après l’étape Webhook, et non directement après l’entrée. L’entrée ne se connecte qu’à une seule étape suivante, donc Webhook et Start ne peuvent pas tous deux venir juste après elle.
- Update : sur la branche de changement de porte.
- End : une fois que le parcours n’a plus besoin de suivre le vol, par exemple après l’arrivée ou l’annulation.
Sur l’élément Start, sous Card attributes, ajoutez les six champs dont le type ActivityAttributes de la carte a besoin. Card attributes est une liste libre de noms et de valeurs, et l’interface ne vérifie pas les noms : saisissez donc chacun exactement comme indiqué. Cinq d’entre eux figurent déjà sur votre événement de réservation :
carrierflight_numberflight_datedeparture_airportflight_keyarrival_airport: l’appel d’abonnement n’en a pas besoin, ajoutez-le donc à votre événement de réservation seulement si vous utilisez Live Activity.
Seul Start définit les Card attributes, et ils restent identiques pendant toute la vie de la carte. Update et End ne les définissent pas. Les champs qui changent, comme le statut, la porte et le retard, constituent le Card content et proviennent du schéma de widget que vous publiez pour cette application.
Référence de l’événement PW_FlightStatusChanged
Anchor link toChaque changement détecté par l’intégration est livré sous la forme d’un événement PW_FlightStatusChanged unique, avec tous les attributs toujours présents : les attributs vides sont envoyés avec des valeurs vides, jamais omis.
| Attribut | Type | Description |
|---|---|---|
event_type | Chaîne | Ce qui a changé (voir les valeurs ci-dessous) |
flight_key | Chaîne | La même clé de vol que vous avez définie sur l’événement de réservation |
flight_number | Chaîne | Le numéro de vol |
departure_airport | Chaîne | Code de l’aéroport de départ |
arrival_airport | Chaîne | Code de l’aéroport d’arrivée |
status | Chaîne | Statut actuel du vol (voir les valeurs ci-dessous) |
gate_old / gate_new | Chaîne | Porte d’embarquement avant et après le changement |
terminal_old / terminal_new | Chaîne | Terminal de départ avant et après le changement |
baggage_claim | Chaîne | Numéro du tapis à bagages, une fois attribué |
provider | Chaîne | Le fournisseur de données qui a signalé le changement (aerodatabox) |
delay_minutes | Entier | Minutes de retard par rapport à l’horaire prévu, présent sur chaque événement |
scheduled_at / estimated_at / actual_at | Chaîne | Heures de départ prévues, actuellement estimées et réelles, dans le format propre au fournisseur |
arrival_terminal | Chaîne | Terminal d’arrivée, une fois attribué |
arrival_scheduled_at / arrival_estimated_at / arrival_actual_at | Chaîne | Heures d’arrivée prévues, actuellement estimées et réelles, dans le format propre au fournisseur |
scheduled_at_local / estimated_at_local / actual_at_local | Chaîne | Les trois heures de départ ci-dessus, à l’heure locale de l’aéroport de départ |
arrival_scheduled_at_local / arrival_estimated_at_local / arrival_actual_at_local | Chaîne | Les trois heures d’arrivée ci-dessus, à l’heure locale de l’aéroport d’arrivée |
flight_date / event_time | Date | La date du vol, et le moment où le changement s’est produit |
Valeurs et formats des attributs
Anchor link to- Valeurs de
event_type:gate_change,delay,boarding,departed,arrived,cancelled,baggage_ready. - Valeurs de
status:scheduled,check_in,boarding,departed,delayed,arrived,cancelled,diverted,unknown. Un statut AeroDataBox que Pushwoosh ne reconnaît pas est signalé commeunknown. delay_minutes: présent sur chaque événement, pas seulement sur les événementsdelay. 0 signifie que le vol est à l’heure, et une valeur négative signifie qu’il est en avance. Un événementdelayest envoyé dès que le retard atteint 5 minutes.- Attributs horaires : tous, y compris les attributs
arrival_*et_local, sont de type Chaîne, et non Date. Ainsi, une heure vide n’est pas supprimée de l’événement, et une heure locale conserve le décalage UTC de l’aéroport. Pour filtrer par date, utilisezflight_dateetevent_time.