上传卖家主动推送的政策数据,卖家需要按协议定义实现相应接口。
注:接口直接输出ZIP数据Http Header参数
| 参数名称 | 中文含义 | 类型 | 必填 | 备注 |
| userName | 用户名 | String | 是 | 接入方提供的用户名 |
| channelId | 渠道ID | Integer | 是 | 接入方分配的渠道ID |
| timestamp | 时间戳 | String | 是 | 格式:”YYYY-MM-DD HH:mm:ss”, |
| userKey | 用户鉴权关键字 | String | 是 | MD5 (UserName + PassWord + UniqueKey + TimeStamp) |
| model | 数据格式 | String | 否 | 接口上传政策的格式。"getPolicyZip"为zip数据格式,"full"为全量,其他为增量 |
| policyConstraint | 限制条件 | String | 否 | 子账号和需要删除的政策,getPolicyZip 模式下,policyConstraint 是必传且非空,并且要求是标准的Json。 例:{"agentSubName":"test","deletePolicys":[{"airline":"SC","depAirport":"SYX"}]} |
| 参数名称 | 中文含义 | 类型 | 必填 | 备注 |
| agentSubName | 子账号 | String | 否 | 子账号nick |
| deletePolicys | 条件删除节点 | List<deletePolicy> | 否 | 当需要删除时可将删除条件放在此节点下 |
| 参数名称 | 中文含义 | 类型 | 必填 | 备注 |
| depAirport | 起飞机场(大写) | String | 否 | 出发机场三字代码,大写且只支持单个出发地,政策上有多个出发到达,匹配到一个就删除 |
| arrAirport | 到达机场(大写) | String | 否 | 到达机场三字码,大写且只支持单个目的地,政策上有多个出发到达,匹配到一个就删除 |
| airline | 航司二字码(大写) | String | 否 | 航司二字码大写,支持单个航司二字码 |
| outIdPrefix | 政策ID删除 | String | 否 | 代理商内部政策代码,支持模糊检索,模 糊检索部分用“*”代替。例:输入 “abcpolicy*”,匹配 “abcpolicy%”格式的所有政策(只 支持 * 在最后),且支持单个模糊,如果多个模糊请传多个deletePolicy 节点 |
| cabin | 舱位(往返政策 对应去程舱位) | String | 否 | 舱位代码,大写且只支持单个舱位的录入,政策上有多个仓位,匹配到一个就删除 |
| 参数名称 | 中文含义 | 类型 | 必填 | 备注 |
| policyDOs | 更新政策列表 | List<PolicyDO> | 否 | 见PolicyDO定义 |
| deleteIds | 删除政策id列表 | String | 否 | 被删除的政策id用逗号分割,最大支持20000个ID |
| 参数名称 | 中文含义 | 类型 | 必填 | 备注 |
| 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 | 否 | 多个大客户编码,以逗号间隔 |
| 参数名称 | 中文含义 | 类型 | 必填 | 备注 |
| 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 仅对私有库存有意义 |
| 参数名称 | 中文含义 | 类型 | 必填 | 备注 |
| 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:2016-03-17 18:32:40
userKey:F5B630C54B22E6353B627D99B0CCB63A
model:getPolicyZip
policyConstraint:{"agentSubName":"test","deletePolicys":[{"airline":"SC","depAirport":"SYX"}]}
<strong>zip压缩包内的内容格式:<strong>
{
"deleteIds": "36525562,36525563",
"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校验不通过"
}
