火车

火车 API 概览

通过 Travelandz 公共 API 搜索、定价、预订和退款火车行程。

分享

通过 Travelandz 公共 API 搜索、定价、预订和退款火车行程。

基础路径

所有公共火车操作都位于 /v1/trains 下。目前可用的供应方是 gdsprovider=0

认证

每个请求都需要 Authorization: Bearer <secret_key>X-Travelandz-Id: <public_key>:<profile_code>。持久化 profile code 格式为 dp_<12 位字母数字>;secret 必须保存在服务器端。

协议约定

  • JSON 端点成功时返回 200 OK
  • POST 请求使用 Content-Type: application/json
  • 日期使用 YYYY-MM-DD,金额使用 { amount, currency }
  • body 或 query 中的未知字段会返回 400
  • 流式端点返回换行分隔的 JSON(NDJSON),而不是单个 JSON 文档。

工作流

  1. 搜索地点,再使用地点 id 搜索行程。
  2. 保存 journeyId,为选中的行程请求报价。
  3. 保存一个或多个 offerId,创建预订。
  4. 使用 bookingId 查询必填字段并创建订单。
  5. 保存 orderId,请求退款前先查询可退款项目。

端点目录

MethodPath用途
GET/v1/trains/locations搜索车站和地点。
POST/v1/trains/journeys搜索行程。
POST/v1/trains/journeys/stream以 NDJSON 流搜索行程。
POST/v1/trains/journeys/:gdsprovider/:journeyId/offers获取行程报价。
POST/v1/trains/journeys/:gdsprovider/:journeyId/offers/stream以流获取行程报价。
POST/v1/trains/book/:gdsprovider/prebook创建预订。
GET/v1/trains/book/:gdsprovider/:bookingId/required-fields获取预订必填字段。
POST/v1/trains/book/:gdsprovider/:bookingId/order创建并确认订单。
GET/v1/trains/order/:gdsprovider/:orderId获取订单和票据。
GET/v1/trains/order/:gdsprovider/:orderId/refundable-items列出可退款项目。
POST/v1/trains/order/:gdsprovider/:orderId/refund发起退款。
GET/v1/trains/order/:gdsprovider/:orderId/refund获取退款状态。

通用枚举

字段
passengers[].typeyouthadultsenior
passengers[].titlemrmsmx
identityDocument.typepassport
transporttrainbusferry
flexibilitynon_flexsemi_flexfull_flex
order.statuspendingconfirmedcancelled
refund.statesuccesspendingerror