DOCS

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

返回该车次的时刻表,包括经停站、当前站车次、检票口信息、参考车型和交路信息。顶层 startAt/endAt 与 stops 中的时间字段是 Unix 秒;circulation.nodes 中的 startAt/endAt 是交路内日内偏移秒。

返回 API 列表
get/api/v1/timetable/train/{trainCode}/current
可匿名访问api.timetable.train.current.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",
                    "bureauCode",
                    "bureauName",
                    "trainDepartment",
                    "passengerDepartment",
                    "referenceModels",
                    "startStation",
                    "endStation",
                    "startAt",
                    "endAt",
                    "circulation",
                    "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"
                            }
                        }
                    },
                    "bureauCode": {
                        "type": "string",
                        "required": true
                    },
                    "bureauName": {
                        "type": "string",
                        "required": true
                    },
                    "trainDepartment": {
                        "type": "string",
                        "required": true
                    },
                    "passengerDepartment": {
                        "type": "string",
                        "required": true
                    },
                    "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",
                        "description": "当前车次始发时间,Unix 时间戳(秒)。",
                        "required": true
                    },
                    "endAt": {
                        "type": "integer",
                        "description": "当前车次终到时间,Unix 时间戳(秒)。",
                        "required": true
                    },
                    "circulation": {
                        "type": "object",
                        "required": true,
                        "shape": {
                            "oneOf": [
                                {
                                    "type": "object",
                                    "required": [
                                        "source",
                                        "refreshAt",
                                        "nodes"
                                    ],
                                    "properties": {
                                        "source": {
                                            "type": "official | inferred",
                                            "required": true,
                                            "enum": [
                                                "official",
                                                "inferred"
                                            ]
                                        },
                                        "refreshAt": {
                                            "type": "integer | null",
                                            "required": true
                                        },
                                        "nodes": {
                                            "type": "array<object>",
                                            "required": true,
                                            "shape": {
                                                "type": "array",
                                                "items": {
                                                    "type": "object",
                                                    "required": [
                                                        "internalCode",
                                                        "allCodes",
                                                        "startStation",
                                                        "endStation",
                                                        "startAt",
                                                        "endAt"
                                                    ],
                                                    "properties": {
                                                        "internalCode": {
                                                            "type": "string",
                                                            "required": true
                                                        },
                                                        "allCodes": {
                                                            "type": "array<string>",
                                                            "required": true,
                                                            "shape": {
                                                                "type": "array",
                                                                "items": {
                                                                    "type": "string"
                                                                }
                                                            }
                                                        },
                                                        "startStation": {
                                                            "type": "string",
                                                            "required": true
                                                        },
                                                        "endStation": {
                                                            "type": "string",
                                                            "required": true
                                                        },
                                                        "startAt": {
                                                            "type": "integer",
                                                            "description": "交路内的日内偏移秒数,不是绝对 Unix 时间戳。",
                                                            "required": true
                                                        },
                                                        "endAt": {
                                                            "type": "integer",
                                                            "description": "交路内的日内偏移秒数,不是绝对 Unix 时间戳。",
                                                            "required": true
                                                        }
                                                    }
                                                }
                                            }
                                        },
                                        "metadata": {
                                            "type": "object",
                                            "shape": {
                                                "type": "object",
                                                "required": [
                                                    "routeId",
                                                    "windowStart",
                                                    "windowEnd",
                                                    "threshold",
                                                    "lowestLinkWeight",
                                                    "lowestLinkSupportCount",
                                                    "containsLoopBreak",
                                                    "nodes"
                                                ],
                                                "properties": {
                                                    "routeId": {
                                                        "type": "string",
                                                        "required": true
                                                    },
                                                    "windowStart": {
                                                        "type": "integer",
                                                        "required": true
                                                    },
                                                    "windowEnd": {
                                                        "type": "integer",
                                                        "required": true
                                                    },
                                                    "threshold": {
                                                        "type": "number",
                                                        "required": true
                                                    },
                                                    "lowestLinkWeight": {
                                                        "type": "number | null",
                                                        "required": true
                                                    },
                                                    "lowestLinkSupportCount": {
                                                        "type": "integer | null",
                                                        "required": true
                                                    },
                                                    "containsLoopBreak": {
                                                        "type": "boolean",
                                                        "required": true
                                                    },
                                                    "nodes": {
                                                        "type": "array<object>",
                                                        "required": true,
                                                        "shape": {
                                                            "type": "array",
                                                            "items": {
                                                                "type": "object",
                                                                "required": [
                                                                    "internalCode",
                                                                    "allCodes",
                                                                    "startStation",
                                                                    "endStation",
                                                                    "startAt",
                                                                    "endAt"
                                                                ],
                                                                "properties": {
                                                                    "internalCode": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    },
                                                                    "allCodes": {
                                                                        "type": "array<string>",
                                                                        "required": true,
                                                                        "shape": {
                                                                            "type": "array",
                                                                            "items": {
                                                                                "type": "string"
                                                                            }
                                                                        }
                                                                    },
                                                                    "startStation": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    },
                                                                    "endStation": {
                                                                        "type": "string",
                                                                        "required": true
                                                                    },
                                                                    "startAt": {
                                                                        "type": "integer",
                                                                        "description": "交路内的日内偏移秒数,不是绝对 Unix 时间戳。",
                                                                        "required": true
                                                                    },
                                                                    "endAt": {
                                                                        "type": "integer",
                                                                        "description": "交路内的日内偏移秒数,不是绝对 Unix 时间戳。",
                                                                        "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": 1778692621,
        "requestTrainCode": "G2492",
        "trainCode": "G2492",
        "internalCode": "33000G249204",
        "allCodes": [
            "G2492"
        ],
        "bureauCode": "C",
        "bureauName": "呼和浩特局集团",
        "trainDepartment": "包头车辆段",
        "passengerDepartment": "包头客运段",
        "referenceModels": [
            {
                "model": "CR400BF-G",
                "weightedShare": 1
            }
        ],
        "startStation": "包头",
        "endStation": "北京北",
        "startAt": 1778887920,
        "endAt": 1778899800,
        "circulation": {
            "source": "official",
            "refreshAt": 1778868346,
            "nodes": [
                {
                    "internalCode": "33000G249204",
                    "allCodes": [
                        "G2492"
                    ],
                    "startStation": "包头",
                    "endStation": "北京北",
                    "startAt": 27120,
                    "endAt": 39000
                },
                {
                    "internalCode": "24000G249307",
                    "allCodes": [
                        "G2493"
                    ],
                    "startStation": "北京北",
                    "endStation": "包头",
                    "startAt": 42840,
                    "endAt": 56220
                },
                {
                    "internalCode": "33000G249608",
                    "allCodes": [
                        "G2496"
                    ],
                    "startStation": "包头",
                    "endStation": "北京北",
                    "startAt": 58560,
                    "endAt": 73080
                },
                {
                    "internalCode": "24000G249108",
                    "allCodes": [
                        "G2491"
                    ],
                    "startStation": "北京北",
                    "endStation": "包头",
                    "startAt": 117120,
                    "endAt": 129960
                },
                {
                    "internalCode": "33000G249408",
                    "allCodes": [
                        "G2494"
                    ],
                    "startStation": "包头",
                    "endStation": "北京北",
                    "startAt": 131640,
                    "endAt": 145560
                },
                {
                    "internalCode": "24000G249505",
                    "allCodes": [
                        "G2495"
                    ],
                    "startStation": "北京北",
                    "endStation": "包头",
                    "startAt": 147300,
                    "endAt": 159120
                },
                {
                    "internalCode": "33000D67580J",
                    "allCodes": [
                        "D6758"
                    ],
                    "startStation": "包头",
                    "endStation": "呼和浩特东",
                    "startAt": 160680,
                    "endAt": 165300
                }
            ]
        },
        "stops": [
            {
                "stationNo": 1,
                "stationName": "包头",
                "arriveAt": 1778887920,
                "departAt": 1778887920,
                "stationTrainCode": "G2492",
                "wicket": "一层2检票口",
                "isStart": true,
                "isEnd": false
            },
            {
                "stationNo": 2,
                "stationName": "呼和浩特",
                "arriveAt": 1778891460,
                "departAt": 1778891760,
                "stationTrainCode": "G2492",
                "wicket": "4检票口",
                "isStart": false,
                "isEnd": false
            },
            {
                "stationNo": 3,
                "stationName": "北京北",
                "arriveAt": 1778899800,
                "departAt": 1778899800,
                "stationTrainCode": "G2492",
                "wicket": "",
                "isStart": false,
                "isEnd": true
            }
        ]
    },
    "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"
}