POST/v1/trains/journeys

搜索火车行程

搜索两个地点之间指定日期的火车行程。

分享

搜索两个地点之间指定日期的火车行程。

认证和请求头

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

请求

必需的 JSON body:

json
json
{
  "origin": "originId",
  "destination": "destinationId",
  "date": "2026-08-20",
  "passengers": [{ "type": "adult" }]
}

origin 和 destination 是地点 id。date 使用 YYYY-MM-DD。passengers 至少包含一项,type 可为 youth、adult 或 senior。

请求体结构

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.

成功响应

返回 journeys[]。每个行程包含 gdsprovider、journeyId、行程、区段、中途停留、路线、舒适等级、住宿和票务等级。区段时间使用 ISO 8601。

响应体结构

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

错误

  • 400 表示验证失败或存在未知字段。
  • 401 或 403 表示 API 凭证无效。
  • 供应方失败时返回 500 internal_communication_error 或 unknown_error。
  • 没有可用行程时返回 404 zero_journeys_found。

使用说明

保存 journeyId 以请求报价。operator.imageUrl 和 service.imageUrl 可能为 null。

cURL 示例

bash
bash
curl --request POST \
  --url "https://api.sandbox.travelandz.com/v1/trains/journeys" \
  --header "Authorization: Bearer $TRAVELANDZ_SECRET_KEY" \
  --header "X-Travelandz-Id: $TRAVELANDZ_PUBLIC_KEY:$TRAVELANDZ_PROFILE_CODE" \
  --header "Content-Type: application/json" \
  --data '{"origin":"originId","destination":"destinationId","date":"2026-08-20","passengers":[{"type":"adult"}]}'