自由行 产品维护接口。 接口同时支持新商品发布 和 现有商品编辑: 1)只上传out_product_id的情况:如果out_product_id已经关联过某个商品id,则认为是编辑现有商品,否则认为是新发布一个商品。 2)同时上传out_product_id和item_id,则认为是将out_product_id与item_id进行关联,同时对该商品进行编辑。
名称 | 类型 | 是否必须 | 示例值 | 更多限制 | 描述 |
---|---|---|---|---|---|
go_traffic_type | Number | 可选 | 1 | 新发布商品时必填。去程交通。1-飞机,2-火车,3-汽,4-船,100-其他 | |
free_tour_package_info | FreeTourPackageInfo [] | 可选 |
|
套餐信息,数组类型,支持上传多个套餐信息 | |
|
|||||
trip_day | Number | 可选 | 1 | 新发布商品时必填。旅游天数 | |
sub_stock | Number | 可选 | 0 | 可选,减库存方式。0-拍下减库存。1-付款减库存。不传默认为0 | |
wap_desc | String | 可选 | <wapDesc><shortDesc>标题1</shortDesc> <txt>描述1</txt> <img>图片路径1</img> <shortDesc>标题2</shortDesc> <txt>描述2</txt> <img>图片路径2</img> </wapDesc> | 可选,手机端详情描述,xml格式,格式详见示例。 | |
back_traffic_type | Number | 可选 | 1 | 新发布商品时必填。回程交通。1-飞机,2-火车,3-汽,4-船,100-其他 | |
desc_xml | String | 可选 | <DESC><HIGHLIGHT><title>亮点1</title> <txt>亮点描述1</txt> <img>亮点图片链接1</img></HIGHLIGHT> <HIGHLIGHT><title>亮点2</title> <txt>亮点描述2</txt> <img>亮点图片链接2</img></HIGHLIGHT></DESC> | PC端详情描述(新发布商品时,desc_xml和desc_html二者至少填写一个),xml格式:DESC根标签必须有,每一个亮点(HIGHLIGHT)支持1个title子标签,1个txt子标签和多个img子标签。 | |
confirm_time | Number | 可选 | 1 | 可选,资源确认时长,当confirm_type=2时必填。1:2个工作小时内确认,2:6个工作小时内确认,3:9个工作小时内确认,4:18个工作小时内确认 | |
title | String | 可选 | 商品标题 | 新发布商品时必填。商品标题,30个中文字符以内 | |
confirm_type | Number | 可选 | 1 | 可选,资源确认类型。1-即时确认,2-二次确认。不传默认1 | |
item_custom_tag | String | 可选 | 美食 | 可选,商家自定义标签(最多4个字,超长则自动截断,会进行违禁词校验) | |
out_product_id | String | 可选 | 1111 | 商家自定义商品编码。注:商品基本信息维护、价格库存维护,商品查询都以该编码为主键。 | |
to_locations | String | 可选 | 东京,京都 | 新发布商品时必填。目的地,多个目的地用英文逗号分隔。地址可以使用飞猪标准地址名称,也可以使用商家系统中目的地地址(支持商家目的地id和商家目的地名称)。如果需要使用商家目的地地址,必须在目的地关联页(https://sell.alitrip.com/icenter/main.htm#/widgets/api-adaptor?_k=n61ii0)配置映射关系(一次性批量上传建立映射关系,之后度假所有类目、API接口共用该映射关系)。 商家目的地地址使用示例1:东京,大阪。示例2:123,124。说明:商家目的地id(123,124)会根据映射关系自动转换成飞猪标准地址 | |
trip_night | Number | 可选 | 1 | 可选,旅游晚数,不传默认旅游天数-1 | |
pic_urls | String [] | 可选 | https://img.daily.taobaocdn.net/imgextra/i3/2024098454/TB2C4VXXXXXXXc1XXXXXXXXXXXX_!!2024098454.jpg,http://ww1.sinaimg.cn/large/005EDdjYgw1fanv4d823dj31gs0z6qb8.jpg |
|
新发布商品时必填。商品图片路径。最多支持5张,第一张为主图,必填,其余四张可选填。图片链接支持外链图片(即商家系统中图片链接,必须外网可访问,且格式为jpg或jpeg,大小在500k以内),或者用户淘宝空间内的图片链接。对于外链图片,将自动下载并上传用户淘宝图片空间,上传失败的外链图片将自动忽略不计。。注:在SDK中数组多个元素间以英文逗号分隔 |
item_id | Number | 可选 | 12345 | 可选,淘系商品id,用于将out_product_id关联到已经存在的商品,并且修改该商品外部商家编码为out_product_id。 | |
reserve_limit | String | 可选 | 1_18_00 | 可选,该商品提前预定时间限制。格式:1_18_00,含义:该商品必须提前1天预定,且在18:00之前完成预定 | |
refund_type | Number | 可选 | 0 | 可选,退改规则类型。0-平台标准退改规则,1-自定义退改规则,2-不支持退改(已废弃,勿用),7-新版自定义退改规则。不传默认为0 | |
desc_html | String | 可选 | PC端详情描述 | PC端详情描述(新发布商品时,desc_xml和desc_html二者至少填写一个),Html格式。商家自定义Html格式描述。 | |
from_locations | String | 可选 | 东京 | 新发布商品时必填。出发地,多个出发地用英文逗号分隔。使用说明同“目的地” | |
sub_titles | String [] | 可选 | 亮点1,亮点2,亮点3 |
|
可选,商品亮点,最多支持4个亮点。注:在SDK中数组多个元素间以英文逗号分隔 |
traveller_template_id | Number | 可选 | 111 | 可选,出行人模板id。模板id需要商家以店铺账号身份登录飞猪商家工作台,从卖家工具->出行人管理中获取。注意:如果传0则代表设置为不需要出行人模板或使用飞猪平台默认的类目模板。 | |
is_overseas_tour | Number | 可选 | 0 | 新发布商品时必填。是否出境游,0-不是,1-是。 | |
refund_regulations_json | String | 可选 | [{"firstDay":-1,"secondDay":5,"percent":50,"sellerPercent":20},{"firstDay":4,"secondDay":1,"percent":80,"sellerPercent":50},{"firstDay":0,"secondDay":0,"percent":100,"sellerPercent":70},{"firstDay":0,"secondDay":0,"percent":100,"sellerPercent":90,"isHoliday":true}] | 特殊可选,退款规则(json数组格式)。自定义退改时需填写(与refund_regulations字段二选一)。示例中一共包含4条规则(3条平日规则,1条节假日规则),按照顺序每条规则含义如下:出行前5日及以上,买家违约收取总费用的50,卖家违约收取总费用的20;出行前4日至1日,买家违约收取总费用的80,卖家违约收取总费用的50;行程开始当天,买家违约收取总费用的100,卖家违约收取总费用的70;如果行程日期包含节假日,则节假日条款为买家违约收取总费用的100,卖家违约收取总费用的90 | |
package_operation | Number | 可选 | 0 |
|
0:使用上传的套餐信息(free_tour_package_info)覆盖商品上原有的套餐信息(此时free_tour_package_info中设置的packageOperation无效);1:根据套餐信息(free_tour_package_info)中的packageOperation和outProductId增加,修改,删除指定套餐,====默认值为0=== |
seller_cids | String [] | 可选 | 12344,24332 |
|
关联商品与店铺类目 结构:"cid1,cid2,...,"。如何获取卖家店铺类目具体参见:http://open.taobao.com/doc2/apiDetail.htm?apiId=65 |
second_kill | String | 可选 | wap_only | 商品秒杀,商品秒杀三个值:可选类型web_only(只能通过web网络秒杀),wap_only(只能通过wap网络秒杀),web_and_wap(既能通过web秒杀也能通过wap秒杀) | |
has_discount | Boolean | 可选 | false |
|
是否支持会员打折。可选值:true,false;默认值:false(不打折)。不传的话默认为false |
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
first_result | TopTravelItem | firstResult | |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret); AlitripFreetourProductUploadRequest req = new AlitripFreetourProductUploadRequest(); req.setGoTrafficType(1L); List<AlitripFreetourProductUploadRequest.FreeTourPackageInfo> list2 = new ArrayList<AlitripFreetourProductUploadRequest.FreeTourPackageInfo>(); AlitripFreetourProductUploadRequest.FreeTourPackageInfo obj3 = new AlitripFreetourProductUploadRequest.FreeTourPackageInfo(); list2.add(obj3); obj3.setOutProductId( "1234" ); List<AlitripFreetourProductUploadRequest.FreeTourScenicInfo> list6 = new ArrayList<AlitripFreetourProductUploadRequest.FreeTourScenicInfo>(); AlitripFreetourProductUploadRequest.FreeTourScenicInfo obj7 = new AlitripFreetourProductUploadRequest.FreeTourScenicInfo(); list6.add(obj7); obj7.setCnName( "黄鹤楼" ); obj7.setTicketType( "大门票" ); obj7.setCity( "武汉" ); list4.setFreeTourScenicInfoList(list6); obj3.setPackageName( "套餐名称" ); obj3.setToLocations( "目的地" ); List<AlitripFreetourProductUploadRequest.FreeTourTrafficInfo> list10 = new ArrayList<AlitripFreetourProductUploadRequest.FreeTourTrafficInfo>(); AlitripFreetourProductUploadRequest.FreeTourTrafficInfo obj11 = new AlitripFreetourProductUploadRequest.FreeTourTrafficInfo(); list10.add(obj11); obj11.setDay(1L); obj11.setTrafficNo( "CA1710" ); obj11.setVendor( "中国国航" ); obj11.setPlaneType( "中型机" ); obj11.setDeparture( "杭州" ); obj11.setDestination( "北京" ); obj11.setDepartureTime( "13:00" ); obj11.setArrivalTime( "15:00" ); obj11.setTrafficDesc( "交通描述" ); obj11.setNonStop(1L); obj11.setGroup(1L); obj11.setStopOver( true ); obj11.setStopCity( "北京" ); list8.setBackTrafficInfoList(list10); obj3.setFeeExclude( "费用不含1,费用不含2" ); obj3.setScenicDesc( "1111" ); List<AlitripFreetourProductUploadRequest.FreeTourTrafficInfo> list14 = new ArrayList<AlitripFreetourProductUploadRequest.FreeTourTrafficInfo>(); AlitripFreetourProductUploadRequest.FreeTourTrafficInfo obj15 = new AlitripFreetourProductUploadRequest.FreeTourTrafficInfo(); list14.add(obj15); obj15.setDay(1L); obj15.setTrafficNo( "CA1710" ); obj15.setVendor( "中国国航" ); obj15.setPlaneType( "中型机" ); obj15.setDeparture( "杭州" ); obj15.setDestination( "北京" ); obj15.setDepartureTime( "13:00" ); obj15.setArrivalTime( "15:00" ); obj15.setTrafficDesc( "交通描述" ); obj15.setNonStop(1L); obj15.setGroup(1L); obj15.setStopOver( true ); obj15.setStopCity( "北京" ); list12.setGoTrafficInfoList(list14); obj3.setOrderInfo( "买家预定须知" ); List<AlitripFreetourProductUploadRequest.ItemResourceInfo> list18 = new ArrayList<AlitripFreetourProductUploadRequest.ItemResourceInfo>(); AlitripFreetourProductUploadRequest.ItemResourceInfo obj19 = new AlitripFreetourProductUploadRequest.ItemResourceInfo(); list18.add(obj19); obj19.setDesc( "1111" ); obj19.setType(1L); list16.setItemResourceInfoList(list18); obj3.setFromLocations( "武汉" ); obj3.setFeeInclude( "费用包含1,费用包含2" ); List<AlitripFreetourProductUploadRequest.FreeTourHotelInfo> list22 = new ArrayList<AlitripFreetourProductUploadRequest.FreeTourHotelInfo>(); AlitripFreetourProductUploadRequest.FreeTourHotelInfo obj23 = new AlitripFreetourProductUploadRequest.FreeTourHotelInfo(); list22.add(obj23); obj23.setHotelDesc( "酒店描述" ); obj23.setPicUrls( "酒店图片地址" ); obj23.setCity( "北京" ); obj23.setHouseType( "标间" ); obj23.setHotelLevel( "豪华" ); obj23.setHotelStar( "五星级" ); obj23.setCnName( "如家酒店" ); list20.setFreeTourHotelInfoList(list22); obj3.setPackageOperation(0L); req.setFreeTourPackageInfo(list2); req.setTripDay(1L); req.setSubStock(0L); req.setWapDesc( "<wapDesc><shortDesc>标题1</shortDesc> <txt>描述1</txt> <img>图片路径1</img> <shortDesc>标题2</shortDesc> <txt>描述2</txt> <img>图片路径2</img> </wapDesc>" ); req.setBackTrafficType(1L); req.setDescXml( "<DESC><HIGHLIGHT><title>亮点1</title> <txt>亮点描述1</txt> <img>亮点图片链接1</img></HIGHLIGHT> <HIGHLIGHT><title>亮点2</title> <txt>亮点描述2</txt> <img>亮点图片链接2</img></HIGHLIGHT></DESC>" ); req.setConfirmTime(1L); req.setTitle( "商品标题" ); req.setRefundRegulations( "30_30_0,30_15_5,14_7_15,6_4_70,3_1_85,1_1_90" ); req.setConfirmType(1L); req.setItemCustomTag( "美食" ); req.setOutProductId( "1111" ); req.setToLocations( "东京,京都" ); req.setTripNight(1L); req.setPicUrls( "https://img.daily.taobaocdn.net/imgextra/i3/2024098454/TB2C4VXXXXXXXc1XXXXXXXXXXXX_!!2024098454.jpg,http://ww1.sinaimg.cn/large/005EDdjYgw1fanv4d823dj31gs0z6qb8.jpg" ); req.setItemId(12345L); req.setReserveLimit( "1_18_00" ); req.setRefundType(0L); req.setDescHtml( "PC端详情描述" ); req.setFromLocations( "东京" ); req.setSubTitles( "亮点1,亮点2,亮点3" ); req.setTravellerTemplateId(111L); req.setIsOverseasTour(0L); req.setRefundRegulationsJson( "[{\"firstDay\":-1,\"secondDay\":5,\"percent\":50,\"sellerPercent\":20},{\"firstDay\":4,\"secondDay\":1,\"percent\":80,\"sellerPercent\":50},{\"firstDay\":0,\"secondDay\":0,\"percent\":100,\"sellerPercent\":70},{\"firstDay\":0,\"secondDay\":0,\"percent\":100,\"sellerPercent\":90,\"isHoliday\":true}]" ); req.setPackageOperation(0L); req.setSellerCids( "12344,24332" ); req.setSecondKill( "wap_only" ); req.setHasDiscount( false ); AlitripFreetourProductUploadResponse rsp = client.execute(req, sessionKey); System.out.println(rsp.getBody()); |
1 2 3 4 5 6 7 8 | < alitrip_freetour_product_upload_response > < first_result > < item_id >12345</ item_id > < out_product_id >1234</ out_product_id > < modified >2015-09-07 22:56:18</ modified > < extend >扩展信息</ extend > </ first_result > </ alitrip_freetour_product_upload_response > |
1 2 3 4 5 6 | < error_response > < code >50</ code > < msg >Remote service error</ msg > < sub_code >isv.invalid-parameter</ sub_code > < sub_msg >非法参数</ sub_msg > </ error_response > |
错误码 | 错误描述 | 解决方案 |
---|