Passer au contenu

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 to

Type d’intégration

Anchor link to

Source : 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 to

Avant 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 to

La connexion de l’intégration et la surveillance d’un vol sont deux étapes distinctes, effectuées à des moments différents :

  1. Connectez votre clé AeroDataBox dans Paramètres → Intégrations tierces.
  2. Un événement de réservation fait entrer un passager dans votre parcours.
  3. L’étape Webhook du parcours abonne cette réservation à son vol via l’API publique de Pushwoosh.
  4. 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.
  5. 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 to

Le 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 to

Connecter le statut des vols à Pushwoosh

Anchor link to

Connectez votre clé AeroDataBox une fois par application :

  1. Ouvrez votre application et allez dans Paramètres → Intégrations tierces.

  2. Sous Services disponibles, trouvez la carte Statut des vols et cliquez sur Configurer.

    Carte Statut des vols dans la liste des intégrations tierces, montrant sa description et le bouton Configurer

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

    Boîte de dialogue de configuration du statut des vols avec le fournisseur défini sur AeroDataBox et un champ de clé API vide

Après avoir cliqué sur Connecter, la carte se déplace vers Services connectés.

Si la clé est rejetée

Anchor link to

Pushwoosh vérifie la clé en arrière-plan. Si quelque chose ne va pas, la carte affiche l’un de ces messages :

MessageCause
provider rejected the API keyLa clé est invalide ou a été révoquée dans AeroDataBox
provider account is out of creditsVotre plan AeroDataBox n’a plus de crédits
provider rate limit reachedAeroDataBox limite les requêtes, et cela se résout de lui-même
provider is unavailableAeroDataBox 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 requestAeroDataBox a renvoyé une erreur que Pushwoosh ne reconnaît pas autrement

Remplacer la clé

Anchor link to

Rouvrez 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
  1. Ouvrez la carte Statut des vols dans Services connectés.
  2. 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 to

Avant de construire le parcours

Anchor link to

Assurez-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 exemple LH400/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
  1. Ajoutez une Entrée basée sur un déclencheur et sélectionnez votre événement de réservation, par exemple flight_booked.
  2. Sous Contrôler le nombre de sessions qu’un utilisateur peut avoir en même temps, choisissez Plusieurs sessions actives par utilisateur.
  3. 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 to

Ajoutez 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.

  1. Définissez TYPE DE REQUÊTE sur POST.

  2. Définissez URL sur https://rpc-api.svc-nue.pushwoosh.com/api/integrations/flight-status/subscriptions.

  3. Dans EN-TÊTES, conservez Content-Type: application/json.

  4. 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é Authorization est 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.

  5. 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": ""
    }
    }
  6. Pour chacune des quatre valeurs flight vides, ouvrez le CONSTRUCTEUR DE DONNÉES.

  7. Sélectionnez la catégorie Événement.

  8. 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).

  9. 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 to

Ajoutez une étape Attendre un déclencheur après l’étape Webhook.

  1. Ajoutez une branche et définissez son événement sur PW_FlightStatusChanged.
  2. 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é.
  3. Définissez la période d’attente pour couvrir confortablement le vol. 48 heures suffisent pour la plupart des itinéraires.
  4. 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 to

Ajoutez une Division par condition après l’étape Attendre un déclencheur.

  1. Sélectionnez Événement comme type de condition.
  2. Dans Événement du parcours, choisissez PW_FlightStatusChanged.
  3. Sous Attribut, sélectionnez event_type.
  4. Définissez la condition sur est.
  5. Ajoutez une branche avec la valeur gate_change.
  6. 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 to

Ajoutez un élément Push sur la branche de changement de porte.

  1. Sélectionnez ou créez un préréglage de push.
  2. 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.
  3. Activez la personnalisation avec les attributs d’événement.
  4. Choisissez PW_FlightStatusChanged comme événement source.
  5. Remplissez les espaces réservés de votre préréglage à partir de flight_number et gate_new.

Afficher une carte Live Activity à la place

Anchor link to

Ajoutez 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 :

  • carrier
  • flight_number
  • flight_date
  • departure_airport
  • flight_key
  • arrival_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 to

Chaque 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.

AttributTypeDescription
event_typeChaîneCe qui a changé (voir les valeurs ci-dessous)
flight_keyChaîneLa même clé de vol que vous avez définie sur l’événement de réservation
flight_numberChaîneLe numéro de vol
departure_airportChaîneCode de l’aéroport de départ
arrival_airportChaîneCode de l’aéroport d’arrivée
statusChaîneStatut actuel du vol (voir les valeurs ci-dessous)
gate_old / gate_newChaînePorte d’embarquement avant et après le changement
terminal_old / terminal_newChaîneTerminal de départ avant et après le changement
baggage_claimChaîneNuméro du tapis à bagages, une fois attribué
providerChaîneLe fournisseur de données qui a signalé le changement (aerodatabox)
delay_minutesEntierMinutes de retard par rapport à l’horaire prévu, présent sur chaque événement
scheduled_at / estimated_at / actual_atChaîneHeures de départ prévues, actuellement estimées et réelles, dans le format propre au fournisseur
arrival_terminalChaîneTerminal d’arrivée, une fois attribué
arrival_scheduled_at / arrival_estimated_at / arrival_actual_atChaîneHeures 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_localChaîneLes 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_localChaîneLes trois heures d’arrivée ci-dessus, à l’heure locale de l’aéroport d’arrivée
flight_date / event_timeDateLa 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é comme unknown.
  • delay_minutes : présent sur chaque événement, pas seulement sur les événements delay. 0 signifie que le vol est à l’heure, et une valeur négative signifie qu’il est en avance. Un événement delay est 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, utilisez flight_date et event_time.