DOCS

按车次读取当前完整时刻表

返回该车次的时刻表,包括经停站、当前站车次、检票口信息和参考车型。

返回 API 列表
get/api/v1/timetable/train/{trainCode}
可匿名访问api.timetable.train.read

COST

扣费规则

每次请求按固定额度扣费,不随返回条数变化。

固定 1 点额度/次

实际扣费以响应头 x-api-cost 为准。

请求说明

参数

路径参数

trainCodestring 必填

要查询的车次号,例如 D2212。

示例:D2212

响应说明

状态码与响应格式

200

当前日期下的完整车次时刻表。

响应头

x-api-remainx-api-cost
application/jsonobject

响应结构

{
    "type": "object",
    "required": [
        "ok",
        "data",
        "error"
    ],
    "properties": {
        "ok": {
            "type": "boolean",
            "required": true
        },
        "data": {
            "type": "object",
            "required": true,
            "shape": {
                "type": "object",
                "required": [
                    "updatedAt",
                    "requestTrainCode",
                    "trainCode",
                    "internalCode",
                    "allCodes",
                    "referenceModels",
                    "startStation",
                    "endStation",
                    "startAt",
                    "endAt",
                    "stops"
                ],
                "properties": {
                    "updatedAt": {
                        "type": "integer | null",
                        "required": true
                    },
                    "requestTrainCode": {
                        "type": "string",
                        "required": true
                    },
                    "trainCode": {
                        "type": "string",
                        "required": true
                    },
                    "internalCode": {
                        "type": "string",
                        "required": true
                    },
                    "allCodes": {
                        "type": "array<string>",
                        "required": true,
                        "shape": {
                            "type": "array",
                            "items": {
                                "type": "string"
                            }
                        }
                    },
                    "referenceModels": {
                        "type": "array<object>",
                        "required": true,
                        "shape": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "model",
                                    "weightedShare"
                                ],
                                "properties": {
                                    "model": {
                                        "type": "string",
                                        "required": true
                                    },
                                    "weightedShare": {
                                        "type": "number",
                                        "required": true
                                    }
                                }
                            }
                        }
                    },
                    "startStation": {
                        "type": "string",
                        "required": true
                    },
                    "endStation": {
                        "type": "string",
                        "required": true
                    },
                    "startAt": {
                        "type": "integer",
                        "required": true
                    },
                    "endAt": {
                        "type": "integer",
                        "required": true
                    },
                    "stops": {
                        "type": "array<object>",
                        "required": true,
                        "shape": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "stationNo",
                                    "stationName",
                                    "arriveAt",
                                    "departAt",
                                    "stationTrainCode",
                                    "wicket",
                                    "isStart",
                                    "isEnd"
                                ],
                                "properties": {
                                    "stationNo": {
                                        "type": "integer",
                                        "required": true
                                    },
                                    "stationName": {
                                        "type": "string",
                                        "required": true
                                    },
                                    "arriveAt": {
                                        "type": "integer | null",
                                        "required": true
                                    },
                                    "departAt": {
                                        "type": "integer | null",
                                        "required": true
                                    },
                                    "stationTrainCode": {
                                        "type": "string | null",
                                        "required": true
                                    },
                                    "wicket": {
                                        "type": "string | null",
                                        "required": true
                                    },
                                    "isStart": {
                                        "type": "boolean",
                                        "required": true
                                    },
                                    "isEnd": {
                                        "type": "boolean",
                                        "required": true
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "error": {
            "type": "string",
            "required": true
        }
    }
}

示例响应

{
    "ok": true,
    "data": {
        "updatedAt": 1774059000,
        "requestTrainCode": "G8388",
        "trainCode": "G8388",
        "internalCode": "2400000G8388B",
        "allCodes": [
            "G8388",
            "G8385"
        ],
        "referenceModels": [
            {
                "model": "CR400AF-Z",
                "weightedShare": 0.625
            }
        ],
        "startStation": "北京南",
        "endStation": "上海虹桥",
        "startAt": 1774060020,
        "endAt": 1774076820,
        "stops": [
            {
                "stationNo": 1,
                "stationName": "北京南",
                "arriveAt": null,
                "departAt": 1774060020,
                "stationTrainCode": "G8388",
                "wicket": "检票口 12A",
                "isStart": true,
                "isEnd": false
            }
        ]
    },
    "error": ""
}
400

Invalid path parameters.

响应头

x-api-remainx-api-cost
application/jsonobject

响应结构

{
    "type": "object",
    "required": [
        "ok",
        "data",
        "error"
    ],
    "properties": {
        "ok": {
            "type": "boolean",
            "required": true
        },
        "data": {
            "type": "string",
            "required": true
        },
        "error": {
            "type": "string",
            "required": true
        }
    }
}

示例响应

{
    "ok": false,
    "data": "trainCode 不能为空。",
    "error": "invalid_param"
}
404

当前时刻表暂不可用。

响应头

x-api-remainx-api-cost
application/jsonobject

响应结构

{
    "type": "object",
    "required": [
        "ok",
        "data",
        "error"
    ],
    "properties": {
        "ok": {
            "type": "boolean",
            "required": true
        },
        "data": {
            "type": "string",
            "required": true
        },
        "error": {
            "type": "string",
            "required": true
        }
    }
}

示例响应

{
    "ok": false,
    "data": "当前暂无时刻表。",
    "error": "not_found"
}