Recibe cada viaje en tren coincidente progresivamente como NDJSON.
Autenticación y headers
| Header | Descripción |
|---|---|
Authorization | Bearer <secret_key>. Conserva el secret en el servidor y nunca lo escribas en logs del cliente. |
X-Travelandz-Id | <public_key>:<profile_code>, donde el profile code persistido tiene el formato dp_<12 alfanuméricos>. |
Accept | application/x-ndjson para respuestas progresivas en stream. |
Content-Type | application/json para peticiones con body JSON. |
Petición
Usa el mismo body JSON que POST /v1/trains/journeys.
Schema del body
originLocation id returned by
/locations.destinationLocation id returned by
/locations.datepassengerspassengers[]typeyouth = 0–27 years, adult = 28–59 years, senior = 60+ years.Respuesta exitosa
La respuesta es application/x-ndjson. Cada línea que no sea un error contiene un viaje completo sin wrapper.
Schema de respuesta
gdsproviderjourneyIditineraryitinerary[]itineraryIndexitinerary[]segmentsitinerary[]segments[]segmentIditinerary[]segments[]departureitinerary[]segments[]departuredepartureAtitinerary[]segments[]departurenameitinerary[]segments[]departurelocationIditinerary[]segments[]departurecountryitinerary[]segments[]departurecountryCodeitinerary[]segments[]arrivalitinerary[]segments[]arrivalarrivalAtitinerary[]segments[]arrivalnameitinerary[]segments[]arrivallocationIditinerary[]segments[]arrivalcountryitinerary[]segments[]arrivalcountryCodeitinerary[]segments[]identifieritinerary[]segments[]transportitinerary[]segments[]durationInMinutesitinerary[]segments[]operatoritinerary[]segments[]operatorcodeitinerary[]segments[]operatornameitinerary[]segments[]operatorimageUrlitinerary[]segments[]serviceitinerary[]segments[]servicenameitinerary[]segments[]serviceimageUrlstopoversstopovers[]stopoverIndexstopovers[]durationInMinutesrouteroute[]itineraryIndexroute[]stopoverIndexcomfortClassescomfortClasses[]accommodationsaccommodations[]ticketClassesticketClasses[]comfortClassticketClasses[]serviceClassErrores
400por validación o campos desconocidos.401o403por credenciales API inválidas.500 internal_communication_errorounknown_errorpor fallos del proveedor.- Una línea de error puede incluir
error: true,code: zero_journeys_foundystatusCode: 404.
Notas de uso
Lee la respuesta línea por línea y ejecuta JSON.parse para cada una. No trates el stream como un único documento JSON.
Ejemplo cURL
bash
curl --request POST \
--url "https://api.sandbox.travelandz.com/v1/trains/journeys/stream" \
--header "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
--header "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE" \
--header "Accept: application/x-ndjson" \
--data '{"origin":"originId","destination":"destinationId","date":"2026-08-20","passengers":[{"type":"adult"}]}'