文档中心 > 国内机票

国内机票政策上传接口(PushPolicy)之json格式

更新时间:2021/05/31 访问次数:17520

功能描述

上传卖家的政策数据,卖家需要按协议定义实现相应接口。

政策上传与卖家交互机制

  • 每次上传的政策不能超过50MB;
  • 政策信息要以json格式数据进行提交(详见下面的GetPolicyResult示例)。注:接口直接输出JSON数据

输入参数

  • Http Header参数
参数名称 中文含义 类型 必填 备注
userName 用户名 String 接入方提供的用户名
channelId 渠道ID Integer 接入方分配的渠道ID
timestamp 时间戳 String 格式:”YYYY-MM-DD HH:mm:ss”
userKey 用户鉴权关键字 String MD5 (UserName + PassWord + UniqueKey + TimeStamp)

输出结果参数

  • GetPolicyResult
参数名称 中文含义 类型 必填 备注
success 成功失败标志 boolean true-成功 flase-失败
errorCode 错误码 String 失败时必填,错误代码
errorMessage 错误信息 String 失败时的错误信息
policyDOs 更新政策列表 List<PolicyDO> 见PolicyDO定义
deleteIds 删除政策id列表 String 被删除的政策id用逗号分割,最大支持10000个ID,如果需要大批量删除请用deletePolicy节点。全量模式(压缩包)该属性须为空
agentSubName 子账号 String 本批政策支持的账号,只支持一个子账号,如果不传则默认为主账号
deletePolicys 删除条件 List<deletePolicy> 当需要删除时可将删除条件放在此节点下,最多支持十个。全量模式(压缩包)该属性须为空
lastModifiedTime 本次政策更新时间 String 格式:”yyyy-MM-dd HH:mm:ss”
lastOuterId 本次更新的最后政策id String 用来标识B2B的一条政策,下次增量更新的政策为该id以后的政策数据
delTime 政策清空时间 String 用于全量政策更新时,根据此时间清除之前的政策数据(推荐使用此参数)。
delOuterId 政策清空ID String 在delTime为空时,根据此获取政策上的timestamp时间,根据此时间清空之前的所有政策数据(不推荐使用此参数)。全量是系统判断逻辑:timestamp <=delTime的政策都将被删除。
  • DeletePolicy 条件删除节
参数名称 中文含义 类型 必填 备注
depAirport 起飞机场(大写) String 出发机场三字代码,大写且只支持单个出发地,政策上有多个出发到达,匹配到一个就删除
arrAirport 到达机场(大写) String 到达机场三字码,大写且只支持单个目的地,政策上有多个出发到达,匹配到一个就删除
airline 航司二字码(大写) String 航司二字码大写,支持单个航司二字码
outIdPrefix 政策ID删除 String 代理商内部政策代码,支持模糊检索,模 糊检索部分用“*”代替。例:输入 “abcpolicy*”,匹配 “abcpolicy%”格式的所有政策(只 支持 * 在最后),且支持单个模糊,如果多个模糊请传多个deletePolicy

 节点

cabin 舱位(往返政策 对应去程舱位) String 舱位代码,大写且只支持单个舱位的录入,政策上有多个仓位,匹配到一个就删除
  • PolicyDO政策节点
参数名称 中文含义 类型 必填 备注
outerId 外部id String 用来标识B2B的一条政策,如果此ID重复淘宝采用覆盖机制。
airline 航空公司代码 String CA,CZ,MU等航空公司二字码
depAirport 出发机场 String

PEK,SHA,CSX等机场三字码,全国为999. 以,号分割, 最多支持250个三字码

注意: 私有库存时只传一个,不可传多个,不可有分割符号,范例:PEK

arrAirport 到达机场 String

PEK,SHA,CSX等机场三字码,全国为999. 以,号分割, 最多支持250个三字码

注意: 私有库存时只传一个,不可传多个,不可有分割符号,范例:PEK

tripType 航程类型 Integer 0是单程 1是往返
saleStartDate 销售有效期开始日期 String 指从此日起,政策才可销售下单。格式“yyyy-MM-dd”
saleEndDate 销售有效期结束日期 String 格式“yyyy-MM-dd”
prices 价格 List<PolicyPriceDO> 包含了此政策的所有价格信息
supplierOfficeId 批发商officeId String 批发商officeId(即:office号),创建PNR时,会给此office做授权,只支持一个office号。
supplierId 代理商Id String 卖家Id ,此字段私有运价需要填写,非私有运价不需要填写。
needSwitchPNR 是否更换PNR Boolean true 是 false 否。主要是针对平台的参数。
workTime 出票工作时间 String 出票工作时间,最多支持7天(每天最多支持5个时间段);
refundTime 退票工作时间 String 退票工作时间, 最多支持7天(每天最多支持5个时间段) ;
excludeDepAirports 出发不适用 String 当出发机场为999全国时使用;PEK,SHA,CSX等机场三字码列表,以,号分割,最多支持250个三字码
excludeArrAirports 到达不适用 String 当到达机场为999全国时使用;PEK,SHA,CSX等机场三字码列表,以,号分割, 最多支持250个三字码
invoiceType 行程单发票类型 Integer 1 等额行程单 2 不提供发票 5 等额行程单加发票 6 等额发票
contentEI Ei内容 String 支持最长32个字符
earliestIssueDays 最早提前出票天数 Integer 没有限制 -1
lastestIssueDays 最晚提前出票天数 Integer 没有限制 -1
minStayTime 最小停留天数 Integer 没有限制 -1
maxStayTime 最大停留天数 Integer 没有限制 -1
isSupportCodeShare 是否支持共享航班 Boolean true是 false 否
isRefund 是否可退 Boolean true 是 false 否;如果不填, 淘宝根据旅行有效期、航空公司、舱位匹配FD退改签
isChange 是否可改 Boolean true 是 false 否;如果不填, 淘宝根据旅行有效期、航空公司、舱位匹配FD退改签
isIssue 是否可签 Boolean true 是 false 否;如果不填, 淘宝根据旅行有效期、航空公司、舱位匹配FD退改签
isUpgrade 是否可升舱 Boolean true 是 false 否;如果不填, 淘宝根据旅行有效期、航空公司、舱位匹配FD退改签
refundType 退票计算方法 Integer 1 固定金额 2 百分比;如果不填, 淘宝根据航空公司、舱位匹配 “全量退改签”数据
refundBaseType 退票计算基准 Integer

1:Y/C/F舱价格(根据当前舱位等级取对应的Y/C/F价格)

2:单程票面价格

3:往返票面价一半

4:原舱位FD票面价

5:往返票面价

refundPriceInfo 退票计算时间点及对应取值 String 详见“退改签规则说明”; 如果不填, 淘宝根据旅行有效期、航空公司、舱位匹配FD退改签. 最多支持500个字符
changeType 改票计算方式 Integer 1 固定金额 2 百分比;如果不填, 淘宝根据航空公司、舱位匹配 “全量退改签”数据
changeBaseType 改票计算基准 Integer

1:Y/C/F舱价格(根据当前舱位等级取对应的Y/C/F价格)

2:单程票面价格

4:原舱位FD票面价

changePriceInfo 改票计算时间点及对应取值 String 详见“退改签规则说明”; 如果不填, 淘宝根据旅行有效期、航空公司、舱位匹配FD退改签. 最多支持500个字符
tuigaiqianInfo 退改签 String

退签改详情;

如果是私有运价政策(带有价格),必须传退改签。

如果公布运价(不带有价格)不填, 淘宝根据旅行有效期、航空公司、舱位匹配FD退改签

segments 航段限制列表 List<PolicySegmentDO> 政策每一段上的限制条件;具体定义见PolicySegmentDO
timestamp 政策更新时间戳 Long 政策更新时间戳,主要用于政策删除,可以重复,全量是系统判断逻辑: timestamp <=delTime的政策都将被删除
memo 备注 String 备注,最多500个字符
isPrivate 是否是私有库存 Boolean true 是 false 否;如果不填,则为否
onlyAVFlight 仅支持AV中有的航班 Boolean true 是 false 否;如果不填,则为否;仅针对私有库存
minimumTraveller 最少成行人数 Integer 数字,为空则不限制
verifyPrice 是否验价 Byte 空:从默认销售规则中取值
0:不验价
1:验价,验价是会用票面价进行PAT:A
当这个字段值为0或1时是否验价根据政策中的这个字段走,不取默认销售规则的值
supportCredentialType 成人乘客支持的证件类型 Byte 空:支持所有证件类型
1:仅支持身份证
vipCodes 大客户编码 String 多个大客户编码,以逗号间隔
autoCreatePnr 是否创建PNR Byte 0:不占座 。空:默认占座 1:默认占座 (接口已经支持,代理商根据航司管控规则自行判断,如需开通请联系对应业务经理)
  • PolicySegmentDO航段限制节点
参数名称 中文含义 类型 必填 备注
segmentNum 第几程 String 去程第一段:00,去程第二段:01,回程第一段:10,回程第二段:11
includeFlightNos 包含航班 String 111-999,111; 最多支持500个字符,使用半角逗号分隔 私有库存  必填,只传一个,不可传多个,不可有分隔符号,范例:1234
excludeFlightNos 排除航班 String 111-999,111; 最多支持500个字符,使用半角逗号分隔
operationTime 班期 String 星期几政策能用;1234567
travelStartDate 旅行开始日期 String 起飞时间大于等于该日期,政策才可销售下单。格式“yyyy-MM-dd”
travelEndDate 旅行结束日期 String

 

起飞时间小于等于该日期,政策才可销售下单。格式“yyyy-MM-dd”
depTimeRanges 起飞时间限制 String 09:20-10:20,13:30-16:50
cabinList 适用舱位列表 String 格式:A,B,C 私有库存 必填 只传一个,不可传多个,不可有分隔符号,范例:D
seatNum 可售库存数 Integer 取值返回1-300 仅对私有库存有意义
  • PolicyPriceDO政策对应价格节点
参数名称 中文含义 类型 必填 备注
price 价格 String 如果不传,淘宝根据旅行有效期、航空公司、舱位匹配FD价格 私有库存 必填
retentionPoint 返点 Float 只保留两位小数
retentionMoney 返现 Double 可以是正负值,正值表示给客人返现,负值表示留钱。把一代加上金额,买家支付手续费,买家服务费,都合起来算在这个字段里
supportAgents 卖家id String 卖家id
ticketFareType 票面价类型 Byte 可为空 0:指定票面价 1:Y舱折扣 2:系统运价FD和NFD 3:系统运价仅FD 4:系统运价仅NFD
ticketFareDiscount 票面价折扣 Byte 票面类型使用Y舱折扣时必填 空或折扣值(30,表示3折)
ticketFareRule 票面价进位规则 Byte 票面类型使用Y舱折扣时必填 空:不处理
0:个位进整到十位,即984->990
1:个位舍位,即984->980
2:个位四舍五入,即984->980,985->990
useSalePrice 票面价是否使用销售价 Byte 空:不处理,票面价仍然是票面价
1:用销售价代替票面价
retentionPointType 销售价返点类型 Byte 空:不处理
1:Y舱价格返点
salePriceRule 销售价进位规则 Byte 空:不处理
0:个位进整到十位,即984->990
1:个位舍位,即984->980
2:个位四舍五入,即984->980,985->990
  • 政策上传请求示例
Http Header

{

Accept:*/*

Accept-Encoding:gzip, deflate

Accept-Language:zh-CN,zh;q=0.8,en;q=0.6

Connection:keep-alive

Content-Length:1246

Content-Type:text/plain

channelId:10011

userName:test

timestamp:2015-05-04 18:32:40

userKey:F5B630C54B22E6353B627D99B0CCB63A

}

Http Body

{

  "success":true,

  "deleteIds": "36525562,36525563",

  "lastModifiedTime": "2013-12-20 03:14:00",

  "lastOuterId": "36586989",

  "agentSubName":"test",

  "deletePolicys":[

    {

      "depAirport":"SYX",

      "airline":"SC"

    }

  ],

  "policyDOs": [

    {

      "airline": "ZH",

      "arrAirport": "CKG",

      "contentEI": "",

      "depAirport": "WUX",

      "earliestIssueDays": -1,

      "excludeArrAirports": "",

      "excludeDepAirports": "",

      "invoiceType": 1,

      "isChange": false,

      "isIssue": false,

      "isRefund": false,

      "isSupportCodeShare": false,

      "isUpgrade": false,

      "lastestIssueDays": -1,

      "maxStayTime": 0,

      "memo": "",

      "minStayTime": 0,

      "needSwitchPNR": false,

      "outerId": "36586536",

      "prices": [

        {

          "price": "",

          "retentionMoney": 0,

          "retentionPoint": 5.8,

          "supportAgents": ""

        }

      ],

      "refundBaseType": 0,

      "refundPriceInfo": "",

      "refundTime": "{'1':'00:00-23:29','2':'00:00-23:29','3':'00:00-23:29','4':'00:00-23:29','5':'00:00-23:29','6':'00:00-23:29','7':'00:00-23:29'}",

      "refundType": 0,

      "saleEndDate": "2013-12-31",

      "saleStartDate": "2013-11-01",

      "segments": [

        {

          "cabinList": "Y,B,M,H,K,L,J,Q,Z,G,V,W",

          "depTimeRanges": "",

          "excludeFlightNos": "",

          "includeFlightNos": "9562-9562",

          "operationTime": "1234567",

          "segmentNum": "00",

          "travelEndDate": "2013-12-31",

          "travelStartDate": "2013-09-27"

        }

      ],

      "supplierId": "",

      "supplierOfficeId": "PEK470",

      "timestamp": 1387480440000,

      "tripType": 0,

      "workTime": "{'1':'08:00-12:00,13:00-21:00','2':'00:00-23:59','3':'00:00-23:59','4':'00:00-23:59','5':'00:00-23:59','6':'00:00-23:59','7':'00:00-23:59'}"

    }

}
  • 政策请求响应实例

正常逻辑响应报文

{

  "success": false,

  "requestId": "100016566721106"

}

异常逻辑响应报文

{

"success": false,

"errorMsg": "userKey校验不通过"

}

FAQ

国内机票上传接口(PushPolicy)上传政策失败

返回
顶部