文档中心 > API类目 > 度假-商品管理API

alitrip.freetour.product.upload (自由行商品发布及编辑接口)

自由行 产品维护接口。 接口同时支持新商品发布 和 现有商品编辑: 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 [] 可选
  • 最大列表长度:20
  • 套餐信息,数组类型,支持上传多个套餐信息
    • └ out_product_id
    • String
    • 可选
    • 1234
    • 必须传,套餐对应的商家编码
    • free_tour_scenic_info_list
    • FreeTourScenicInfo []
    • 可选
    • 包含元素-景区门票,如果该套餐包含景区门票,则需要传这个参数
    • └ cn_name
    • String
    • 可选
    • 黄鹤楼
    • 必填,景点名称
    • └ ticket_type
    • String
    • 可选
    • 大门票
    • 必填,门票类型
    • └ city
    • String
    • 可选
    • 武汉
    • 必填,景点所在城市
    • └ package_name
    • String
    • 可选
    • 套餐名称
    • 必填,套餐名称
    • └ to_locations
    • String
    • 可选
    • 目的地
    • 发布商品时必填。套餐对应的目的地,套餐对应的目的地必须是商品的目的地的子集,多个目的地用英文逗号分隔。地址可以使用飞猪标准地址名称,也可以使用商家系统中目的地地址(支持商家目的地id和商家目的地名称 )。如果需要使用商家目的地地址,必须在目的地关联页(https://sell.alitrip.com/icenter/main.htm#/widgets/api-adaptor?_k=n61ii0)配置映射关系(一次性 批量上传建立映射关系,之后度假所有类目、API接口共用该映射关系)。 商家目的地地址使用示例1:东京,大阪。示例2:123,124。说明:商家目的地id(123,124>)会根据映射关系自动转换成飞猪标准地址
    • back_traffic_info_list
    • FreeTourTrafficInfo []
    • 可选
    • 返程交通,交通工具必须与商品上的返程交通一致
    • └ day
    • Number
    • 可选
    • 1
    • 第几天
    • └ traffic_no
    • String
    • 可选
    • CA1710
    • 参考班次号,飞机需要填航班号,火车需要填车次号,汽车和船可不填
    • └ vendor
    • String
    • 可选
    • 中国国航
    • 交通公司名,飞机选填
    • └ plane_type
    • String
    • 可选
    • 中型机
    • 飞机机型,飞机选填
    • └ departure
    • String
    • 可选
    • 杭州
    • 出发城市
    • └ destination
    • String
    • 可选
    • 北京
    • 到达城市
    • └ departure_time
    • String
    • 可选
    • 13:00
    • 出发时间,当地时间HH:mm
    • └ arrival_time
    • String
    • 可选
    • 15:00
    • 到达时间,当地时间HH:mm
    • └ traffic_desc
    • String
    • 可选
    • 交通描述
    • 交通说明,针对交通类型是汽车,轮船和其他
    • └ non_stop
    • Number
    • 可选
    • 1
    • 是否直飞,飞机选填,1-直飞;0-不是直飞
    • └ group
    • Number
    • 可选
    • 1
    • 第几组交通信息,请必传,不传可能导致商品详情页交通信息不展示。每一组交通信息包含一组去程交通和返程交通,当在页> 面上点击【添加交通信息】按钮后,就会出现第二组交通信息,第一组交>通信息group=1,第二组交通信息group取值为2,以此类推
    • └ stop_over
    • Boolean
    • 可选
    • true
    • 是否经停
    • └ stop_city
    • String
    • 可选
    • 北京
    • 经停城市
    • └ fee_exclude
    • String []
    • 可选
    • 费用不含1,费用不含2
    • 新发布商品时必填。费用不含。列表中每一个元素 对应一点描述,所有描述合起来必须小于1500个中文字符。注:在SDK中数组多个元素间以英文逗号分隔
    • └ scenic_desc
    • String
    • 可选
    • 1111
    • 门票说明
    • go_traffic_info_list
    • FreeTourTrafficInfo []
    • 可选
    • 去程交通,交通工具的类型必须与商品上的去程交通一致
    • └ day
    • Number
    • 可选
    • 1
    • 第几天
    • └ traffic_no
    • String
    • 可选
    • CA1710
    • 参考班次号,飞机需要填航班号,火车需要填车次号,汽车和船可不填
    • └ vendor
    • String
    • 可选
    • 中国国航
    • 交通公司名,飞机选填
    • └ plane_type
    • String
    • 可选
    • 中型机
    • 飞机机型,飞机选填
    • └ departure
    • String
    • 可选
    • 杭州
    • 出发城市
    • └ destination
    • String
    • 可选
    • 北京
    • 到达城市
    • └ departure_time
    • String
    • 可选
    • 13:00
    • 出发时间,当地时间HH:mm
    • └ arrival_time
    • String
    • 可选
    • 15:00
    • 到达时间,当地时间HH:mm
    • └ traffic_desc
    • String
    • 可选
    • 交通描述
    • 交通说明,针对交通类型是汽车,轮船和其他
    • └ non_stop
    • Number
    • 可选
    • 1
    • 是否直飞,飞机选填,1-直飞;0-不是直飞
    • └ group
    • Number
    • 可选
    • 1
    • 第几组交通信息,请必传,不传可能导致商品详情页交通信息不展示。每一组交通信息包含一组去程交通和返程交通,当在页> 面上点击【添加交通信息】按钮后,就会出现第二组交通信息,第一组交>通信息group=1,第二组交通信息group取值为2,以此类推
    • └ stop_over
    • Boolean
    • 可选
    • true
    • 是否经停
    • └ stop_city
    • String
    • 可选
    • 北京
    • 经停城市
    • └ order_info
    • String []
    • 可选
    • 买家预定须知
    • 买家预定须知
    • item_resource_info_list
    • ItemResourceInfo []
    • 可选
    • 当包含元素选择了餐饮,自驾租车,保险服务,其他费用时,该项必填
    • └ desc
    • String
    • 可选
    • 1111
    • 对应的说明
    • └ type
    • Number
    • 可选
    • 1
    • 1-保险 2-餐饮 3-租车 4-签证 5-购物点,预留 6-赠品,预留 7-券,预留 8-其他费用
    • └ from_locations
    • String
    • 可选
    • 武汉
    • 套餐对应的出发地,是商品出发地的子集
    • └ fee_include
    • String []
    • 可选
    • 费用包含1,费用包含2
    • 新发布商品时必填。费用包含。列表中每一个元素 对应一点描述,所有描述合起来必须小于1500个中文字符。注:在SDK中数组多个元素间以英文逗号分隔
    • free_tour_hotel_info_list
    • FreeTourHotelInfo []
    • 可选
    • 当包含元素选择了酒店的时候,该项必填
    • └ hotel_desc
    • String
    • 可选
    • 酒店描述
    • 酒店描述
    • └ pic_urls
    • String
    • 可选
    • 酒店图片地址
    • 新发布商品必填,最多三张,图片链接支持外链图片(即商家系统中图片链接,必须外网可访问,且格式为jpg或jpeg,大小在500k以内),或者用户淘宝空间内的图片链接。对于外链图片,将自动下载并上传用户淘宝图片空间,上传失败的外链图片将自动忽略不计。。注:在SDK中数组多个元素间以英文逗号分隔
    • └ city
    • String
    • 可选
    • 北京
    • 酒店所在城市
    • └ house_type
    • String
    • 可选
    • 标间
    • 必填,酒店房型
    • └ hotel_level
    • String
    • 可选
    • 豪华
    • 酒店档次(与下面的酒店星级二选一,只能填一个):经济连锁;舒适;高档;豪华;二星及以下
    • └ hotel_star
    • String
    • 可选
    • 五星级
    • 酒店星级(与上面的酒店档次二选一,只能填一个)
    • └ cn_name
    • String
    • 可选
    • 如家酒店
    • 酒店名称
    • └ package_operation
    • Number
    • 可选
    • 0
    • 套餐操作类型,(0:套餐覆盖修改,1:增加套餐,2:删除套餐)===默认为0===
    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
  • 最大列表长度:20
  • 新发布商品时必填。商品图片路径。最多支持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
  • 最大列表长度:20
  • 可选,商品亮点,最多支持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
  • 0:使用上传的套餐信息(free_tour_package_info)覆盖商品上原有的套餐信息(此时free_tour_package_info中设置的packageOperation无效);1:根据套餐信息(free_tour_package_info)中的packageOperation和outProductId增加,修改,删除指定套餐,====默认值为0===
    seller_cids String [] 可选 12344,24332
  • 最大列表长度:20
  • 关联商品与店铺类目 结构:"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
  • 默认值:false
  • 是否支持会员打折。可选值:true,false;默认值:false(不打折)。不传的话默认为false

    响应参数

    名称 类型 示例值 描述
    first_result TopTravelItem firstResult
    • └ item_id
    • Number
    • 12345
    • itemId
    • └ out_product_id
    • String
    • 1234
    • outProductId
    • └ modified
    • Date
    • 2015-09-07 22:56:18
    • modified
    • └ extend
    • String
    • 扩展信息
    • 扩展信息

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    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());

    响应示例

    • XML示例
    • JSON示例
    <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>

    异常示例

    • XML示例
    • JSON示例
    <error_response>
        <code>50</code>
        <msg>Remote service error</msg>
        <sub_code>isv.invalid-parameter</sub_code>
        <sub_msg>非法参数</sub_msg>
    </error_response>

    错误码解释

    错误码 错误描述 解决方案

    API工具

    如何获得此API

    FAQ

    返回
    顶部