Retard, annulation : mettre à jour un trajet
Le bus part 30 minutes plus tard. Le ferry change de quai. Vous avez 200 voyageurs sur ce départ. Vous ne mettez pas à jour 200 billets : vous mettez à jour un trajet.
La clé : le tripNumber
Le tripNumber regroupe tous les billets d’un même service (un départ, une date). Renseignez-le à chaque émission de billet (POST/transits/{transitId}/passes ou POST/transits/{transitId}/passes/bulk).
Sans tripNumber, pas de mise à jour groupée.
Utilisez un identifiant unique par départ daté (ligne + date + heure, par exemple MUL-GVA-20261112-0930), pas le numéro de ligne seul. Sinon, un retard du lundi modifie aussi les billets du mardi.
Le parcours
Étape 1 · Mettez à jour les données
PATCH/transits/{transitId}/passes/trip/{tripNumber} accepte les nouvelles heures et dates de départ et d’arrivée, les gares d’origine et de destination, et la date d’expiration.
Tous les billets du trajet sont mis à jour. Le voyageur voit le nouvel horaire sans rien faire.
- curl
- SDK Node.js
- nodejs
- php
- python
- java
- csharp
- go
- ruby
- CURL
curl -L -X PATCH 'https://api-v2.test.eldowallet.fr/transits/$TRANSIT_ID/passes/trip/MUL-GVA-20261112-0930' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-lang: fr' \
-H 'Authorization: Bearer <token>' \
-d '{
"departureTime": "10:00",
"arrivalTime": "12:35"
}'
Si vous changez departureDate, envoyez aussi arrivalDate. L’arrivée doit rester après le départ (ARRIVAL_TIME_MUST_BE_AFTER_DEPARTURE_TIME_CONSIDERING_DATES).
Étape 2 · Expliquez
Un nouvel horaire ne dit pas pourquoi. Ajoutez un message avec POST/transits/{transitId}/passes/trip/{tripNumber}/notify :
- curl
- SDK Node.js
- nodejs
- php
- python
- java
- csharp
- go
- ruby
- CURL
curl -L 'https://api-v2.test.eldowallet.fr/transits/$TRANSIT_ID/passes/trip/MUL-GVA-20261112-0930/notify' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-H 'x-lang: fr' \
-H 'Authorization: Bearer <token>' \
-d '{
"message": "Départ décalé à 10:00 en raison de la météo. Votre billet est à jour."
}'
Cas particuliers
| Situation | Que faire |
|---|---|
| Retard ou avance | PATCH/transits/{transitId}/passes/trip/{tripNumber} sur les heures, puis un message. |
| Changement de quai ou de voie | Un message avec POST/transits/{transitId}/passes/trip/{tripNumber}/notify. |
| Changement de gare | originName / originStationCode dans PATCH/transits/{transitId}/passes/trip/{tripNumber}. |
| Un seul voyageur concerné (siège, nom) | PUT/transits/{transitId}/passes/{passId} sur son billet. |
| Plusieurs billets, valeurs différentes | PATCH/transits/{transitId}/passes/bulk |
| Le modèle de la ligne change (conditions, visuel) | PATCH/transits/{id} sur le template. |
| Annulation du départ | Un message, puis retirez les billets avec DELETE/transits/{transitId}/passes/bulk si besoin. |