POST/v1/trains/journeys/stream

流式搜索火车行程

以 NDJSON 流渐进接收匹配的火车行程。

分享

以 NDJSON 流渐进接收匹配的火车行程。

认证和请求头

请求头说明
AuthorizationBearer <secret_key>。密钥只能保存在服务器端,不能写入客户端日志。
X-Travelandz-Id<public_key>:<profile_code>,持久化的 profile code 格式为 dp_<12 位字母数字>
Accept渐进式 stream 响应使用 application/x-ndjson
Content-Type带 JSON body 的请求使用 application/json

请求

使用与 POST /v1/trains/journeys 相同的 JSON body。

请求体结构

origin
string
Location id returned by /locations.
destination
string
Location id returned by /locations.
date
string
格式: YYYY-MM-DD
passengers
array
passengers[]type
enum
youthadultsenior
youth = 0–27 years, adult = 28–59 years, senior = 60+ years.

成功响应

响应类型为 application/x-ndjson。每个非错误行都是没有 wrapper 的完整行程对象。

响应体结构

gdsprovider
number
journeyId
string
itinerary
array
itinerary[]itineraryIndex
number
itinerary[]segments
array
itinerary[]segments[]segmentId
string
itinerary[]segments[]departure
object
itinerary[]segments[]departuredepartureAt
string
格式: ISO 8601
itinerary[]segments[]departurename
string
itinerary[]segments[]departurelocationId
string
itinerary[]segments[]departurecountry
string
itinerary[]segments[]departurecountryCode
string
itinerary[]segments[]arrival
object
itinerary[]segments[]arrivalarrivalAt
string
格式: ISO 8601
itinerary[]segments[]arrivalname
string
itinerary[]segments[]arrivallocationId
string
itinerary[]segments[]arrivalcountry
string
itinerary[]segments[]arrivalcountryCode
string
itinerary[]segments[]identifier
string
itinerary[]segments[]transport
enum
trainbusferry
itinerary[]segments[]durationInMinutes
number
itinerary[]segments[]operator
object
itinerary[]segments[]operatorcode
string
itinerary[]segments[]operatorname
string
itinerary[]segments[]operatorimageUrl
string可为空
itinerary[]segments[]service
object
itinerary[]segments[]servicename
string可为空
itinerary[]segments[]serviceimageUrl
string可为空
stopovers
array
stopovers[]stopoverIndex
number
stopovers[]durationInMinutes
number
route
array
route[]itineraryIndex
number
route[]stopoverIndex
number
comfortClasses
array
comfortClasses[]
enum[]
accommodations
array
accommodations[]
enum[]
ticketClasses
array
ticketClasses[]comfortClass
enum
basicstandardhighbestunknown
ticketClasses[]serviceClass
enum
basicstandardhighbestunknown

错误

  • 400 表示验证失败或存在未知字段。
  • 401403 表示 API 凭证无效。
  • 供应方失败时返回 500 internal_communication_errorunknown_error
  • 流错误行可能包含 error: truecode: zero_journeys_foundstatusCode: 404

使用说明

逐行读取响应,并对每行调用 JSON.parse。不要把流当作单个 JSON 文档解析。

cURL 示例

bash
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"}]}'