1. 订单
CTO OPEN API Document
中文
  • English
  • 中文
  • Default module
    • Flight
      • 查询与报价
        • 航班查询
        • 航段报价
        • 全舱报价
        • 方案验价
        • 查询退改签和行李规则
      • 订单
        • 创建航班原始订单
          POST
        • 查询航班订单列表
          GET
        • 查询航班订单详情
          GET
        • 取消航班订单
          DELETE
        • 通过外部订单号查询航班订单
          GET
        • 支付航班订单
          POST
      • 退改签
        • 查询订单是否可退改
        • 航班改签搜索 / 查价
        • 创建航班改签单
        • 查询航班可退金额
        • 创建航班退票单
        • 确认航班退票单
      • 服务与状态
        • 行李直挂 / 中转行李查询
        • 查询航班票号状态
        • 下载电子客票行程单
      • 账户
        • 查询航班账户余额
    • Train
      • 12306
        • 获取 12306 常用联系人
        • 获取 12306 支付表单
        • 登录 12306
        • 发送 12306 短信验证码
        • 验证 12306 短信验证码
        • 编辑 12306 乘客
        • 执行 12306 人脸核验
        • 提交外籍护照核验
        • 查询外籍护照核验进度
      • 查询与预订
        • 查询火车票
        • 检查座位和价格
        • 查询预订必填项
        • 创建火车票订单
      • 订单
        • 查询火车票订单
        • 查询订单退改条件
        • 确认预售订单
        • 支付订单
        • 取消订单
      • 车次与站点
        • 按订单查询经停车站
        • 按车次查询经停车站
        • 搜索城市和车站
        • 批量获取城市和车站
        • 查询汇率
      • 退改签
        • 预估改签费用
        • 预估退票费用
        • 申请改签
        • 申请退票
        • 确认改签
        • 确认退票
      • 合作方同步
        • 增量同步城市
        • 增量同步车站
      • 电子票
        • 下载 PDF 电子票
        • 获取 HTML 电子票
        • 按类型获取电子票
    • Schemas
      • ApiResponseBase
      • ErrorResponse
      • EmptyObject
      • CabinClass
      • PassengerType
      • Gender
      • TravelDocument
      • AllianceCode
      • TransportType
      • RefundReason
      • ChangeReason
      • FlightOrderType
      • FlightOrderStatus
      • PaymentChannel
      • ConfirmationType
      • ConfirmationIata
      • PassengerInfo
      • FlightJourney
      • PassengerCount
      • AccountCode
      • ShoppingRequirements
      • ShoppingVirtualInterlineConfig
      • ShoppingConfigs
      • OpenAPIFlightShoppingReq
      • PricingReqSegment
      • FlightPricingReq
      • AllCabinPriceReq
      • SolutionValidateReq
      • FareRulesReq
      • CreateFlightOriginOrderRequest
      • PassengerForCreateOriginOrder
      • PayFlightOrderReq
      • RefundChangeAvailabilityReq
      • ChangeSearchReq
      • ChangeSearchPassenger
      • ChangeSearchJourney
      • CreateChangeOrderReq
      • ChangeSegmentItem
      • ChangeNewSegment
      • RefundMoneySearchReq
      • CreateFlightRefundOrderOpenAPIRequest
      • BaggageTransitReq
      • BaggageTransitLeg
      • BaggageTransitSegment
      • BaggageTransitStopInfo
      • TicketStatusReq
      • TicketStatusPassenger
      • DownloadAirTicketItineraryRequest
      • ConfirmationSheetPrice
      • OpenAPIShoppingResp
      • OpenAPICoreSegment
      • StopOver
      • OpenAPISolutionResp
      • OpenAPIPriceDetail
      • OpenAPILimitInfo
      • FlightLimitAgePair
      • FlightSolutionGroupInfo
      • OpenAPIPrice
      • OpenAPITax
      • OpenAPIJourneyResp
      • OpenAPISegmentInfo
      • OpenAPIBaggageRule
      • BaggageRuleDetail
      • OpenAPIBaggageRules
      • OpenAPIFareRules
      • OpenAPIFareRule
      • OpenAPIPricingResp
      • OpenAPIPricingSolutionResp
      • OpenAPIPricingPriceDetail
      • OpenAPIPricingPrice
      • OpenAPIPricingJourneyResp
      • OpenAPIPricingSegmentInfo
      • OpenAPIVerificationResp
      • OpenAPIFareRulesResp
      • OpenAPIOrderResp
      • OpenAPIOrderJourney
      • OpenAPIOrderSegment
      • OpenAPIOrderCoreSegment
      • OpenAPIOrderPassenger
      • OpenAPIOrderTicket
      • OpenAPIOrderPriceDetail
      • OpenAPIOrderPrice
      • OpenAPIOriginOrderPrice
      • OpenAPIChangeOrderPrice
      • OpenAPIRefundOrderPrice
      • OpenAPIOrderListResp
      • OpenAPIRefundChangeAvailabilityResp
      • OpenAPIRefundChangeAvailabilityPassenger
      • OpenAPIAskChangeDetail
      • OpenAPIAskRefundDetail
      • OpenAPIChangeSearchResp
      • OpenAPIChangeSolutionResp
      • OpenAPIChangePriceDetail
      • OpenAPIChangePrice
      • OpenAPIRefundMoneySearchResp
      • OpenAPIBaggageTransitLeg
      • OpenAPIBaggageTransitSegmentInfo
      • TicketStatusResp
      • TicketStatusItem
      • TicketCouponStatus
      • BalanceResp
      • TrainApiResponseBase
      • TrainErrorResponse
      • TrainConnectionRegion
      • TrainPriceBasis
      • TrainOrderStatus
      • TrainTicketStatus
      • TrainTicketType
      • TrainPassengerAttribute
      • LocalizedName
      • TrainShoppingLocation
      • TrainShoppingRequest
      • TrainStationWithDateTime
      • TrainCarrier
      • TrainShoppingFeature
      • TrainPassengerTypeInfo
      • TrainSeatInfo
      • TrainShoppingSegment
      • TrainShoppingJourney
      • TrainShoppingData
      • TrainPrice
      • TrainAvailabilityRequest
      • TrainAvailabilityData
      • TrainBookingRequirementsData
      • TrainSeatPreference
      • TrainOrderContactRequest
      • TrainOrderContact
      • TrainPassengerRequest
      • Train12306Account
      • TrainCreateOrderRequest
      • TrainCreateChangeRequest
      • TrainCreateRefundRequest
      • TrainChangeEstimateRequest
      • TrainRefundEstimateRequest
      • TrainPassenger
      • TrainOrderSegment
      • TrainOrderTicket
      • TrainOrderJourney
      • TrainOrder
      • TrainConditionFee
      • TrainCondition
      • TrainOrderConditions
      • TrainRefundEstimateItem
      • TrainRefundEstimateData
      • TrainChangeEstimateItem
      • TrainChangeEstimateData
      • TrainStopStation
      • Train12306AccountRequest
      • Train12306Contact
      • Train12306PayFormRequest
      • Train12306PayFormData
      • Train12306LoginRequest
      • Train12306PassengerInfo
      • Train12306LoginData
      • Train12306SendSmsRequest
      • Train12306SmsVerifyRequest
      • Train12306SmsSendData
      • Train12306OperationData
      • Train12306PassengerDto
      • Train12306EditPassengerRequest
      • Train12306FaceImage
      • Train12306FaceVideo
      • Train12306FaceVerifyRequest
      • Train12306ForeignPassportRequest
      • Train12306PassportProcessRequest
      • Train12306PassportCheckData
      • TrainStationInfo
      • TrainCityInfo
      • TrainStationSearchCity
      • TrainStationSearchData
      • TrainCitiesStationsData
      • TrainOrderTicketFile
      • TrainSyncRequest
      • TrainSyncCity
      • TrainSyncStation
      • TrainSyncCitiesData
      • TrainSyncStationsData
      • TrainShoppingApiResponse
      • TrainAvailabilityApiResponse
      • TrainBookingRequirementsApiResponse
      • TrainOrderApiResponse
      • TrainStopStationsApiResponse
      • TrainConditionsApiResponse
      • TrainChangeEstimateApiResponse
      • TrainRefundEstimateApiResponse
      • TrainEmptyApiResponse
      • Train12306ContactsApiResponse
      • Train12306PayFormApiResponse
      • Train12306LoginApiResponse
      • Train12306SmsSendApiResponse
      • Train12306SmsVerifyApiResponse
      • Train12306OperationApiResponse
      • Train12306PassportCheckApiResponse
      • TrainSyncCitiesApiResponse
      • TrainSyncStationsApiResponse
      • TrainTicketsApiResponse
      • TrainStationSearchApiResponse
      • TrainCitiesStationsApiResponse
      • TrainExchangeRatesApiResponse
      • ShoppingApiResponse
      • PricingApiResponse
      • VerificationApiResponse
      • FareRulesApiResponse
      • OrderApiResponse
      • OrderListApiResponse
      • RefundChangeAvailabilityApiResponse
      • ChangeSearchApiResponse
      • RefundMoneySearchApiResponse
      • BaggageTransitApiResponse
      • TicketStatusApiResponse
      • BalanceApiResponse
  1. 订单

创建航班原始订单

POST
/openapi/v3/flight/orders
使用验价返回的 orderKey 创建原单;乘客数量和类型必须与验价方案一致。

Request

Authorization
API Key
Add parameter in header
code
Example:
code: ********************
API Key
Add parameter in header
timestamp
Example:
timestamp: ********************
API Key
Add parameter in header
signature
Example:
signature: ********************
or
Body Params application/jsonRequired

Example
{
    "contactName": "Zhang San",
    "contactEmail": "zhangsan@example.com",
    "contactRegion": "86",
    "contactPhone": "13800138000",
    "orderKey": "ok_9ecf",
    "passengers": [
        {
            "id": 1001,
            "surname": "ZHANG",
            "givenNames": "SAN",
            "gender": "male",
            "birthday": "1990-01-01",
            "travelDocument": "passport",
            "travelDocumentNumber": "E12345678",
            "travelDocumentExpireDate": "2030-01-01",
            "type": "adult",
            "nationality": "CN",
            "region": "86",
            "phone": "13800138000",
            "email": "passenger@example.com",
            "cardNo": "CA123456",
            "airline": "CA"
        }
    ],
    "externalOrderID": "EXT-20260709-0001",
    "requireReview": false,
    "manualRemark": "VIP passenger",
    "currency": "CNY"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/openapi/v3/flight/orders' \
--header 'code: <api-key>' \
--header 'timestamp: <api-key>' \
--header 'signature: <api-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "contactName": "Zhang San",
    "contactEmail": "zhangsan@example.com",
    "contactRegion": "86",
    "contactPhone": "13800138000",
    "orderKey": "ok_9ecf",
    "passengers": [
        {
            "id": 1001,
            "surname": "ZHANG",
            "givenNames": "SAN",
            "gender": "male",
            "birthday": "1990-01-01",
            "travelDocument": "passport",
            "travelDocumentNumber": "E12345678",
            "travelDocumentExpireDate": "2030-01-01",
            "type": "adult",
            "nationality": "CN",
            "region": "86",
            "phone": "13800138000",
            "email": "passenger@example.com",
            "cardNo": "CA123456",
            "airline": "CA"
        }
    ],
    "externalOrderID": "EXT-20260709-0001",
    "requireReview": false,
    "manualRemark": "VIP passenger",
    "currency": "CNY"
}'

Responses

🟢200
application/json
创建成功,返回完整订单详情。
Bodyapplication/json

Example
{
    "code": 0,
    "message": "ok",
    "realErrorMsg": "",
    "data": {
        "id": "FO202607090001",
        "orderType": "origin",
        "status": "reviewing",
        "source": "api",
        "solutionId": "sol_2f4d3c",
        "currency": "CNY",
        "validatingCarrier": "CA",
        "originOrderId": "FO202607090001",
        "parentOrderId": "",
        "externalOrderId": "EXT-20260709-0001",
        "contactName": "Zhang San",
        "contactEmail": "zhangsan@example.com",
        "contactRegion": "86",
        "contactPhone": "13800138000",
        "rejectReason": "",
        "isHolding": false,
        "incomeId": 0,
        "lastActionTime": "2026-07-09 12:00:00",
        "lastTicketingTime": "2026-07-09 13:00:00",
        "isVoidPermitted": true,
        "lastVoidTime": "2026-07-09 23:59:59",
        "createdAt": "2026-07-09 10:00:00",
        "updatedAt": "2026-07-09 10:05:00",
        "completedAt": "",
        "journeys": [
            {
                "id": 201,
                "orderId": "FO202607090001",
                "origin": "BJS",
                "destination": "BKK",
                "departureDate": "2026-08-01",
                "departureTime": "08:00",
                "departureTimeZo": "Asia/Shanghai",
                "arrivalDate": "2026-08-01",
                "arrivalTime": "15:00",
                "duration": "7h00m",
                "transferNum": 1,
                "segments": [
                    {
                        "id": 301,
                        "orderId": "FO202607090001",
                        "coreSegmentId": "PEK-SHA-20260801-CA1234",
                        "journeyIndex": 0,
                        "index": 0,
                        "cabinClass": "economy",
                        "cabinCode": "Y",
                        "subCabinCode": "Y1",
                        "fareBasisCode": "YOWCN",
                        "stayTime": "2h10m",
                        "pnr": "ABC123",
                        "airlinePnr": "CA1ABC",
                        "baggageRules": [
                            {
                                "passengerType": "adult",
                                "personal": {
                                    "pieces": 1,
                                    "weight": 23,
                                    "unit": "KG",
                                    "dimension": "158CM",
                                    "description": "1 piece, 23KG"
                                },
                                "carryOn": {
                                    "pieces": 1,
                                    "weight": 23,
                                    "unit": "KG",
                                    "dimension": "158CM",
                                    "description": "1 piece, 23KG"
                                },
                                "checked": {
                                    "pieces": 1,
                                    "weight": 23,
                                    "unit": "KG",
                                    "dimension": "158CM",
                                    "description": "1 piece, 23KG"
                                }
                            }
                        ],
                        "coreSegment": {
                            "id": "PEK-SHA-20260801-CA1234",
                            "airline": "CA",
                            "flightNo": "CA1234",
                            "isCodeShare": false,
                            "opAirline": "CA",
                            "opFlightNo": "CA1234",
                            "equipment": "738",
                            "mealType": "Meal",
                            "departure": "PEK",
                            "departureDate": "2026-08-01",
                            "departureTime": "08:00",
                            "departureTerminal": "T3",
                            "arrival": "SHA",
                            "arrivalDate": "2026-08-01",
                            "arrivalTime": "10:20",
                            "arrivalTerminal": "T2",
                            "distance": 1080,
                            "flightTime": "2h20m",
                            "stopovers": [
                                {
                                    "city": "HGH",
                                    "airport": "HGH",
                                    "duration": "1h10m",
                                    "arrivalTime": "10:00",
                                    "departureTime": "11:10"
                                }
                            ]
                        },
                        "createdAt": "string",
                        "updatedAt": "string"
                    }
                ],
                "createdAt": "string",
                "updatedAt": "string"
            }
        ],
        "passengers": [
            {
                "id": 101,
                "parentPassengerId": 0,
                "orderId": "FO202607090001",
                "type": "adult",
                "index": 0,
                "associatedIndex": 0,
                "surname": "ZHANG",
                "givenNames": "SAN",
                "gender": "male",
                "birthday": "1990-01-01",
                "nationality": "CN",
                "travelDocument": "passport",
                "travelDocumentExpireDate": "2030-01-01",
                "travelDocumentNumber": "E12345678",
                "email": "passenger@example.com",
                "region": "86",
                "phone": "13800138000",
                "airline": "CA",
                "cardNo": "CA123456",
                "tickets": [
                    {
                        "id": 401,
                        "parentTicketId": 0,
                        "passengerId": 101,
                        "segmentId": 301,
                        "ticketNo": "9991234567890",
                        "pnr": "ABC123",
                        "issueDate": "2026-07-09",
                        "expireDate": "2027-07-09",
                        "status": "issued",
                        "remark": "",
                        "voidOrderId": "",
                        "refundOrderId": "",
                        "changeOrderId": "",
                        "createdAt": "string",
                        "updatedAt": "string"
                    }
                ],
                "createdAt": "string",
                "updatedAt": "string"
            }
        ],
        "priceDetail": {
            "productType": "publish",
            "priceList": [
                {
                    "passengerType": "adult",
                    "num": 1,
                    "publishPrice": 1000,
                    "tax": 200,
                    "price": 950,
                    "salePrice": 1200,
                    "currency": "CNY"
                },
                {
                    "passengerType": "adult",
                    "num": 1,
                    "priceDiff": 100,
                    "taxDiff": 20,
                    "changeFee": 30,
                    "serviceFee": 10,
                    "salePrice": 160,
                    "currency": "CNY"
                },
                {
                    "passengerType": "adult",
                    "num": 1,
                    "refundableAmount": 800,
                    "usedAmount": 0,
                    "refundFee": 50,
                    "serviceFee": 10,
                    "refundPrice": 740,
                    "currency": "CNY"
                }
            ],
            "priceTotal": 1200,
            "transactionFee": 0
        },
        "fareRules": [
            {
                "passengerType": "adult",
                "canVoid": true,
                "currency": "CNY",
                "change": {
                    ">0": 300,
                    ">4": 200,
                    "<-4": 500
                },
                "changeDescription": "Change before departure CNY 300",
                "refund": {
                    ">0": 500,
                    ">4": 300,
                    "<-4": 800
                },
                "refundDescription": "Refund before departure CNY 500",
                "originText": "Original fare rule text",
                "longestStay": "1Y",
                "shortestStay": "0D",
                "convertedCurrency": "USD",
                "convertedChange": {
                    "property1": 0,
                    "property2": 0
                },
                "convertedRefund": {
                    "property1": 0,
                    "property2": 0
                }
            }
        ]
    }
}
⚪default
Modified at 2026-07-21 08:28:46
Previous
查询退改签和行李规则
Next
查询航班订单列表
Built with