OrderDetail

  • 用途:用于获取指定订单的详情信息,包含所有订单状态
  • 请求方式:POST
  • 接口加密:否
  • FareMarket地址:/supplier/v1/api/order_detail

请求参数

参数名称 类型 必填 说明
apiKey string ✅ 每个供应商有自己唯一的apiKey,用于表示供应商身份,AeroHub在接口测试前提供给供应商
requestId string ✅ 请求ID,出票环节每个次调用是唯一的,长度32位
purchaseOrderNo string ✅ AeroHub的订单号,与Order接口请求时的OrderNo对应

请求示例

{
    "apiKey": "PcrNq8964iFUkE0CyVV4bhgXXX",
    "requestId": "3fd720b5bf544161bd14c535c9",
    "purchaseOrderNo": "F1745527321051406356"
}

返回参数

参数名称 类型 必填 说明
code int ✅ AeroHub的状态码,参考通用说明中的Market Errors
msg string ✅ AeroHub的错误说明,参考通用说明中的Market Errors
data object ⬜ 订单详情

Data Element

参数名称 类型 必填 说明
purchaseOrderNo string ✅ AeroHub的订单号,与Order接口请求时的OrderNo对应
supplierOrderNo string ✅ 供应商自己系统的订单号,与Order接口返回时的OrderNo对应
pnrCode string ✅ 出票的PNR编码,可用此编码做航司官网的预定管理
tripType int ✅ 行程类型:1 单程、2 往返
parentCarrier string ✅ 去程航空公司代码,采用 IATA 二字代码做为标准,与flightNumber中的前两位对应
packageInfo object/Package Element ✅ 套餐信息
paymentCode string ✅ 支付方式,目前只有AG一种方式,即供应商余额支付
lastUpdateTime string ✅ 订单在AeroHub系统最后更新的时间,采用 ISO 8601 格式
createTime string ✅ 订单在AeroHub系统创建的时间,采用 ISO 8601 格式
contact object/Contact Element ✅ 订单的联系人信息,与Order接口供应商返回的一致
flightSegments array/FlightSegments Element ✅ 订单的行程信息
issuePolicyType string ⬜ 产品类型,不填写代表标准产品(退改规定以航空公司为准),目前AeroHub只有标准产品,R1代表标准产品-退改以航司为准,R2代表退改自定义产品,S1代表按照禁止拆分PNR出票,S2代表允许按往返行程拆分PNR出票,T1代表按照ServiceTag Element要求时间内出票,T2代表24小时内出票,T3代表72小时内或航班起飞48小时内出票(取先到时间),每次请求每个分类必须且有唯一值有返回,并且严格遵照R,S,T的顺序使用’,’分隔。如R1,S2,T1代表允许返回标准退改,允许拆分订单出票,出票时间符合站点要求的产品。
isResidentDiscountEligible bool ⬜ true代表订单使用岛民折扣价格,默认false
serviceTag object ✅ 本次指定的服务要求标签 ,包含出票速度、能否拆单出票、是否允许更换票号出票、开票是否使用平台邮箱
ssr array/ssr Element ⬜️ 订单的辅营信息
seats array/seats Element ⬜️ 订单的选座
siteChannel int ⬜ 站点来源,每个站点的服务要求不同。如1:代表site1
ticketCurrencyPolicy string ⬜ 官网出票时币种的要求,当为空时表示不限,返回值为ORIGIN时表示需要实发地币种在官网支付出票

object/Package Element

参数名称 类型 必填 说明
packageType string ⬜ 套餐类型,为空时默认AerohubBundle,AirlineBundle为航司套餐,AerohubBundle为代理人组合套餐
packageName string ⬜ 套餐名,当返回为AHBasic表示AerohubBundle中的最低价;当packageType为AirlineBundle时,需要与航司套餐名一致;当packageType为AerohubBundle时需要按照自定义套餐规范返回对应套餐名,规范详见:‘BundleNameRules ’

object/Contact Element

参数名称 类型 必填 说明
fullName string ✅ 联系人姓名,姓和名之间用/隔开,LastName/FirstName MiddleName
address string ✅ 联系地址
postCode string ⬜️ 邮编
email string ✅ 联系人邮箱
mobile string ✅ 联系人手机号
cityName string ⬜️ 联系人城市,城市英文全称
countryCode string ⬜️ 联系人国家,国家两位代码

array/FlightSegments Element

参数名称 类型 必填 说明
depAirport string ✅ 出发机场代码,采用 IATA 三字代码做为标准
arrAirport string ✅ 到达机场代码,采用 IATA 三字代码做为标准
depTime string ✅ 起飞日期和起飞时间(当地时间),采用 ISO 8601 格式
arrTime string ✅ 到达日期和到达时间(当地时间),采用 ISO 8601 格式
ageType int ✅ 乘客类型,0 成人、1 儿童、2 婴儿
passengerNo int ✅ 乘客的序号,从0开始,与Order请求时的passengerNo保持一致
passengerName string ✅ 乘客姓名,姓和名之间用/隔开,LastName/FirstName MiddleName
nationality string ✅ 乘客国籍,采用 ISO 3166 二字码做为标准
birthday string ✅ 出生日期,格式:YYYYMMDD
withPassengerNo int ⬜️ 当乘客类型为婴儿时此项会返回,表示陪伴的成人乘客的passengerNo
gender string ✅ 乘客性别,M 男、F 女
cardType int ✅ 证件类型:0 空值、1 未知、2 护照、3 港澳通行证、4 台湾通行证、5 台胞证(台湾往返内地通行证)、6 回乡证(港澳往返内地通行证)、7 国际海员证、8 身份证、9 NIE外国人西班牙证件号、10 DNI西班牙岛民证件号
cardNo string ✅ 证件号码,最大 15 个字符
cardExpired string ✅ 证件有效期,格式:YYYYMMDD
localityCodeOfResidency string ⬜️ 岛屿分区如: “Castell -Es-“
seatGrade string ✅ 舱等,F 头等舱、C 商务舱、S 超级经济舱、Y 经济舱
seatClass string ✅ 舱位
flightNumber string ✅ 航班号,如:CA123
segmentNo int ✅ 航程顺序,1 去程、2 回程
sequence int ✅ 航段顺序,从1开始,注意:若是往返,去程和回程都是从1开始
currency string ✅ 报价币种,一般和供应商约定的结算币种一致
ticketPrice float ✅ 票面价格,不含税
taxAmount float ✅ 税费
totalCost float ✅ 机票总金额,票面+税费

Object/ServiceTag Element

参数名称 类型 必填 说明
ticketSpeed int ✅ 0:30分钟; 1:1hour 2:12hour
issueSpeedRequirement int ✅ 表示本次预定生单后要求的出票时效,以分钟为单位计时
nonSplitOrder int ✅ 0-不限 1-禁止拆单出票)
nonReplaceTicketNo int ✅ 0-不限 1-禁止出票后更换票号)
issueMailbox int ✅ 0-出票方邮箱 1-平台传入 表示是否使用传入的的邮箱在航司出票
issuePhone int ✅ 0-不限 1-平台传入 表示是否使用传入手机号在航司出票

array/ssr Element

参数名称 类型 必填 说明
passengerNo int ✅ 乘客的序号,从0开始,与FlightSegments中的passengerNo一致
passengerName string ✅ 乘客姓名,姓和名之间用/隔开,LastName/FirstName MiddleName
flightNumber string ✅ 航班号,如:CA123
segmentNo int ✅ 航程顺序,1 去程、2 回程
sequence int ✅ 航段顺序,从1开始,注意:若是往返,去程和回程都是从1开始
depAirport string ✅ 出发机场代码,采用 IATA 三字代码做为标准
arrAirport string ✅ 到达机场代码,采用 IATA 三字代码做为标准
departureTime string ✅ 起飞日期和起飞时间(当地时间),格式:YYYYMMDDHHMM,例如202303100300 表示 2023年3月10日3时0分
code string ✅ 辅营代码,应与Order接口返回的code保持一致
name string ✅ 辅营名称,与Order接口返回的保持一致
type string ✅ 辅营类型,0 托运行李、1 登机行李、2 值机、3 登机行李+优先登机套餐,与Order接口返回的保持一致
count int ✅ 辅营的数量,与Order接口返回的保持一致
weight int ✅ 辅营的重量,与SSR接口返回的保持一致
bookSalePrice float ✅ 预定时辅营的报价(单价),与Order接口返回的保持一致,保留2位小数
currency string ✅ 辅营币种,应与机票一致,与Order接口返回的保持一致
baggageSources string ⬜️ 空:供应商报价行李;FMKT:Faremarket行李库报价数据

array/seats Element

参数名称 类型 必填 说明
passengerNo int ✅ 乘客的序号,从0开始,与FlightSegments中的passengerNo一致
passengerName string ✅ 乘客姓名,姓和名之间用/隔开,LastName/FirstName MiddleName
flightNumber string ✅ 航班号,如:CA123
segmentNo int ✅ 航程顺序,1 去程、2 回程
sequence int ✅ 航段顺序,从1开始,注意:若是往返,去程和回程都是从1开始
depAirport string ✅ 出发机场代码,采用 IATA 三字代码做为标准
arrAirport string ✅ 到达机场代码,采用 IATA 三字代码做为标准
departureTime int ✅ 起飞日期和起飞时间(当地时间),格式:YYYYMMDDHHMM,例如202303100300 表示 2023年3月10日3时0分
amount float ✅ 选座的价格,金额为0,代表套餐中包含的免费选座
currency string ✅ 交易币种
seatCode string ✅ 座位位置编号

返回示例

Success-Response:

{
    "code": 200,
    "msg": "Successful",
    "data": {
        "purchaseOrderNo": "F1745527321051406356",
        "supplierOrderNo": "240112032518897783",
        "pnrCode": "EFN5M5",
        "tripType": 2,
        "parentCarrier": "LA",
        "paymentCode": "AG",
        "lastUpdateTime": "2023-01-12 03:25:19",
        "createTime": "2023-01-12 03:25:19",
        "serviceTag": {
            "ticketSpeed": 1,
            "issueSpeedRequirement": 60,
            "nonSplitOrder": 0,
            "nonReplaceTicketNo": 1,
            "issueMailbox": 0,
            "issuePhone": 0
        },
        "issuePolicyType": "R1,S1,T1",
        "contact": {
            "fullName": "ZHANG/SAN",
            "address": "haugenlia 12447",
            "postCode": "10001",
            "email": "sansan@aerohub.uk",
            "mobile": "13801112547"
        },
        "flightSegments": [
            {
                "depAirport": "LIM",
                "arrAirport": "CUN",
                "depTime": "2023-01-23T10:50:00",
                "arrTime": "2023-01-23T16:20:00",
                "ageType": 0,
                "passengerNo": 0,
                "passengerName": "ZHANG/SAN",
                "nationality": "PE",
                "birthday": "19650929",
                "gender": "F",
                "cardType": 2,
                "cardNo": "2230512125",
                "cardExpired": "20280327",
                "seatGrade": "Y",
                "seatClass": "K",
                "flightNumber": "LA2454",
                "segmentNo": 1,
                "sequence": 1,
                "currency": "USD",
                "ticketPrice": 682.46,
                "taxAmount": 259.85,
                "totalCost": 942.31
            },
            {
                "depAirport": "CUN",
                "arrAirport": "LIM",
                "depTime": "2023-01-29T00:25:00",
                "arrTime": "2023-01-29T05:40:00",
                "ageType": 0,
                "passengerNo": 0,
                "passengerName": "ZHANG/SAN",
                "nationality": "PE",
                "birthday": "19650929",
                "gender": "F",
                "cardType": 2,
                "cardNo": "2230512125",
                "cardExpired": "20280327",
                "seatGrade": "Y",
                "seatClass": "V",
                "flightNumber": "LA2457",
                "segmentNo": 2,
                "sequence": 1,
                "currency": "USD",
                "ticketPrice": 0.0,
                "taxAmount": 0.0,
                "totalCost": 0.0
            }
        ],
        "ssr": [
            {
                "passengerNo": 0,
                "passengerName": "ZHANG/SAN",
                "flightNumber": "LA2454",
                "segmentNo": 1,
                "sequence": 1,
                "depAirport": "LIM",
                "arrAirport": "CUN",
                "departureTime": "2023-01-23T10:50:00",
                "code": "PA20",
                "name": "PA20",
                "type": 0,
                "count": 1,
                "weight": 20,
                "bookSalePrice": 50.0,
                "currency": "USD"
            },
            {
                "passengerNo": 0,
                "passengerName": "ZHANG/SAN",
                "flightNumber": "LA2457",
                "segmentNo": 2,
                "sequence": 1,
                "depAirport": "CUN",
                "arrAirport": "LIM",
                "departureTime": "2023-01-29T00:25:00",
                "code": "PA20",
                "name": "PA20",
                "type": 0,
                "count": 1,
                "weight": 20,
                "bookSalePrice": 50.0,
                "currency": "USD"
            }
        ],
        "seats": [
            {
                "passengerNo": 0,
                "passengerName": "ZHANG/SAN",
                "flightNumber": "LA2454",
                "segmentNo": 1,
                "sequence": 1,
                "depAirport": "LIM",
                "arrAirport": "CUN",
                "departureTime": "2023-01-23T10:50:00",
                "amount": 19.32,
                "currency": "USD",
                "seatCode": "A1"
            },
            {
                "passengerNo": 0,
                "passengerName": "ZHANG/SI",
                "flightNumber": "LA2457",
                "segmentNo": 2,
                "sequence": 1,
                "depAirport": "CUN",
                "arrAirport": "LIM",
                "departureTime": "2023-01-29T00:25:00",
                "amount": 19.32,
                "currency": "USD",
                "seatCode": "A2"
            }
        ]
    }
}

Error-Response

{
    "code": 1000,
    "msg": "Invalid API Key"
}

注意事项

  • 在遇到返回的 JSON 数据中 code 不等于 200 或 HTTP 状态码非 200 的情况时,供应商需要重试调用以确保请求的成功处理。
Author:AeroHub  Create time:2023-07-10 16:14
Last editor:AeroHub  Update time:2026-10-20 11:34