DOCS

读取车次历史时刻表内容

读取时刻表内容。

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

COST

扣费规则

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

固定 1 点额度/次

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

请求说明

参数

路径参数

trainCodestring 必填

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

示例:D2212

historyIdinteger 必填

历史时刻表内容 ID,由历史时刻表清单接口返回。

示例:5479

响应说明

状态码与响应格式

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": [
                    "historyId",
                    "startStation",
                    "endStation",
                    "startOffset",
                    "endOffset",
                    "stops"
                ],
                "properties": {
                    "historyId": {
                        "type": "integer",
                        "required": true
                    },
                    "startStation": {
                        "type": "string | null",
                        "required": true
                    },
                    "endStation": {
                        "type": "string | null",
                        "required": true
                    },
                    "startOffset": {
                        "type": "integer | null",
                        "required": true
                    },
                    "endOffset": {
                        "type": "integer | null",
                        "required": true
                    },
                    "stops": {
                        "type": "array<object>",
                        "required": true,
                        "shape": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "required": [
                                    "stationNo",
                                    "stationName",
                                    "arriveOffset",
                                    "departOffset",
                                    "stationTrainCode",
                                    "isStart",
                                    "isEnd"
                                ],
                                "properties": {
                                    "stationNo": {
                                        "type": "integer",
                                        "required": true
                                    },
                                    "stationName": {
                                        "type": "string",
                                        "required": true
                                    },
                                    "arriveOffset": {
                                        "type": "integer | null",
                                        "required": true
                                    },
                                    "departOffset": {
                                        "type": "integer | null",
                                        "required": true
                                    },
                                    "stationTrainCode": {
                                        "type": "string",
                                        "required": true
                                    },
                                    "isStart": {
                                        "type": "boolean",
                                        "required": true
                                    },
                                    "isEnd": {
                                        "type": "boolean",
                                        "required": true
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "error": {
            "type": "string",
            "required": true
        }
    }
}

示例响应

{
    "ok": true,
    "data": {
        "historyId": 5479,
        "startStation": "汉口",
        "endStation": "北京西",
        "startOffset": 47340,
        "endOffset": 66060,
        "stops": [
            {
                "stationNo": 1,
                "stationName": "汉口",
                "arriveOffset": 47340,
                "departOffset": 47340,
                "stationTrainCode": "G512",
                "isStart": true,
                "isEnd": false
            },
            {
                "stationNo": 2,
                "stationName": "许昌东",
                "arriveOffset": 53040,
                "departOffset": 53760,
                "stationTrainCode": "G512",
                "isStart": false,
                "isEnd": false
            },
            {
                "stationNo": 3,
                "stationName": "郑州东",
                "arriveOffset": 55140,
                "departOffset": 55320,
                "stationTrainCode": "G512",
                "isStart": false,
                "isEnd": false
            },
            {
                "stationNo": 4,
                "stationName": "高邑西",
                "arriveOffset": 60120,
                "departOffset": 60240,
                "stationTrainCode": "G512",
                "isStart": false,
                "isEnd": false
            },
            {
                "stationNo": 5,
                "stationName": "石家庄",
                "arriveOffset": 61140,
                "departOffset": 61320,
                "stationTrainCode": "G512",
                "isStart": false,
                "isEnd": false
            },
            {
                "stationNo": 6,
                "stationName": "保定东",
                "arriveOffset": 63420,
                "departOffset": 63540,
                "stationTrainCode": "G512",
                "isStart": false,
                "isEnd": false
            },
            {
                "stationNo": 7,
                "stationName": "北京西",
                "arriveOffset": 66060,
                "departOffset": 66060,
                "stationTrainCode": "G512",
                "isStart": false,
                "isEnd": true
            }
        ]
    },
    "error": ""
}
400

路径参数无效。

响应头

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": "historyId 必须是正整数。",
    "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"
}