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

alitrip.grouptours.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-船
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-船
itineraries String [] 可选 <ITINERARY><ACTIVITY><title>活动1</title> <txt>活动描述1</txt> <img>活动图片链接1-1</img> <img>活动图片链接1-2</img> <hour>3</hour></ACTIVITY> <ACTIVITY><title>活动 2</title> <txt>活动描述2</txt> <img>活动图片链接2</img></ACTIVITY></ITINERARY>
  • 最大列表长度:20
  • 可选,(struct_itineraries与itineraries二者选填一个即可,如果两个都上传则以struct_itineraries为准)。itineraries数组的元素个数必须与旅游天数trip_day一致。行程描述,每一天行程都是xml格式(数组的每个元素对应每一天的行程): ITINERARY根标签必须有,每个活动(ACTIVITY)支持1个title子标签,1个txt子标签和多个img子标签。注:在SDK中多个元素间以英文逗号分隔
    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子标签。
    fee_exclude String [] 可选 费用不含1,费用不含2
  • 最大列表长度:20
  • 新发布商品时必填。费用不含。列表中每一个元素 对应一点描述,所有描述合起来必须小于1500个中文字符。注:在SDK中数组多个元素间以英文逗号分隔
    order_info String [] 可选 须知1,须知2
  • 最大列表长度:20
  • 新发布商品时必填。预定须知。列表中每一个元素 对应一点描述,所有描述合起来必须小于1500个中文字符。注:在SDK中数组多个元素间以英文逗号分隔
    confirm_time Number 可选 1 可选,资源确认时长,当confirm_type=2时必填。1:2个工作小时内确认,2:6个工作小时内确认,3:9个工作小时内确认,4:18个工作小时内确认
    title String 可选 商品标题 新发布商品时必填。商品标题,30个中文字符以内
    route_type Number 可选 1 新发布商品时必填。参团线路类型。0 -目的地参团,1-为出发地参团
    refund_regulations String [] 可选 30_30_0,30_15_5,14_7_15,6_4_70,3_1_85,1_1_90
  • 最大列表长度:20
  • 特殊可选,当refund_type=1或7时,需要上传自定义退改内容。自定义退改规则,最多可含5组规则,每组规则间以英文逗号分隔。 1)当refund_type为1时格式为:a_b_num,b-1_c_num。含义:提前a天至提前b天发起退款,买家需支付num比例违约费。 2)当refund_type为7时格式为:a_b_num1_num2_0,b-1_c_num1_num2_0。含义:提前a天至提前b天发起退款,买家需支付num1比例违约费,卖家需支付num2比例违约费,最后一个数字代表是否节假日规则(0-不是,1-是)。特别注意,当refund_type为7时,自定义退改规则必须设置 n天以上违约规则 以及 行程当日违约规则,即第一组规则需要以-1_a_num1_num2_0或-1_a_num1_num2_1开头,且最后一组规则需要以0_0_num1_num2_0或0_0_num1_num2_1结尾。
    gather_places GatherPlaceInfo [] 可选
  • 最大列表长度:20
  • 可选,跟团时的集合地点,列表中每一个元素对应一个集合地点
    • └ name
    • String
    • 可选
    • 上海迪士尼度假区
    • 集合地点名称
    • └ poi
    • String
    • 可选
    • 120.111,30.222
    • 集合地经纬度,英文逗号分隔。经度在前,纬度在后,英文逗号分隔最多支持6位小数,如120.111222,30.111222
    • └ poi_resource
    • String
    • 可选
    • AMAP
    • AMAP/GOOGLE/OTHERS。高德(AMAP),GOOGLE,其他(OTHERS)
    fee_include String [] 可选 费用包含1,费用包含2
  • 最大列表长度:20
  • 新发布商品时必填。费用包含。列表中每一个元素 对应一点描述,所有描述合起来必须小于1500个中文字符。注:在SDK中数组多个元素间以英文逗号分隔
    confirm_type Number 可选 1 可选,资源确认类型。1-即时确认,2-二次确认。不传默认1
    item_custom_tag String 可选 美食 可选,商家自定义标签(最多4个字,超长则自动截断,会进行违禁词校验)
    out_product_id String 必须 1111 商家自定义商品编码。注:商品基本信息维护、价格库存维护,商品查询都以该编码为主键。
    struct_itineraries StructItinerary [] 可选
  • 最大列表长度:20
  • 行程描述(struct_itineraries与itineraries二者选填一个即可,如果两个都上传则以struct_itineraries为准)。列表中每一个元素对应一天的行程,每天行程由多个活动组成。行程描述是可选项,如果上传了行程内容 则行程序号和行程活动信息必填。
    • └ day_order
    • Number
    • 可选
    • 1
    • 必填,行程序号,标识是第几天的行程
    • activities
    • ItineraryActivity []
    • 可选
    • 必填,当天行程包含的多个活动信息
    • └ title
    • String
    • 可选
    • 活动标题
    • 活动标题
    • └ txt
    • String
    • 可选
    • 活动内容文本描述
    • 活动内容文本描述
    • └ images
    • String []
    • 可选
    • http:xxx.com/jpg1, http:xxx.com/jpg2
    • 活动图片列表,多个图片以英文逗号分隔
    • └ hour
    • Number
    • 可选
    • 2
    • 活动预计时长
    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
  • 新发布商品时必填。商品图片路径。最多支持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
    from_locations String 可选 东京 新发布商品时必填。出发地,多个出发地用英文逗号分隔。使用说明同“目的地”
    desc_html String 可选 PC端详情描述 PC端详情描述(新发布商品时,desc_xml和desc_html二者至少填写一个),Html格式。商家自定义Html格式描述。
    sub_titles String [] 可选 亮点1,亮点2,亮点3
  • 最大列表长度:10
  • 可选,商品亮点,最多支持4个亮点。注:在SDK中数组多个元素间以英文逗号分隔
    electron_contract ElectronContract 可选 可选,电子合同信息设置。
    • └ will_join_group
    • Number
    • 可选
    • 1
    • 拼团约定。0-不会采取拼团,1-可能采取拼团
    • └ support_electron
    • Number
    • 可选
    • 0
    • 是否支持电子合同。0-不支持,1-支持。新发布商品时不填默认为0
    • └ group_fail_arrange
    • String
    • 可选
    • 1,2
    • 不成团约定,多选,英文逗号分隔。1-委托其他旅行社履行合同,2-延期出团,3-改签其他线路出行,4-解除合同
    traveller_template_id Number 可选 111 可选,出行人模板id,预留,暂不支持
    pure_play Number 可选 0 可选,是否纯玩团。0-纯玩团,1-含购物团。新发布商品时不传默认为“含购物团”
    is_overseas_tour Number 可选 0 新发布商品时必填。是否出境游,0-不是,1-是。

    响应参数

    名称 类型 示例值 描述
    first_result TopTravelItem firstResult
    • └ item_id
    • Number
    • 122343
    • 商品id
    • └ out_product_id
    • String
    • 1234
    • 商家自定义商品编码
    • └ modified
    • Date
    • 2015-09-07 22:56:18
    • 商品修改时间
    • └ extend
    • String
    • 扩展信息
    • 扩展信息

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    AlitripGrouptoursProductUploadRequest req = new AlitripGrouptoursProductUploadRequest();
    req.setGoTrafficType(1L);
    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.setItineraries("<ITINERARY><ACTIVITY><title>活动1</title> <txt>活动描述1</txt> <img>活动图片链接1-1</img> <img>活动图片链接1-2</img> <hour>3</hour></ACTIVITY> <ACTIVITY><title>活动 2</title> <txt>活动描述2</txt> <img>活动图片链接2</img></ACTIVITY></ITINERARY>");
    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.setFeeExclude("费用不含1,费用不含2");
    req.setOrderInfo("须知1,须知2");
    req.setConfirmTime(1L);
    req.setTitle("商品标题");
    req.setRouteType(1L);
    req.setRefundRegulations("30_30_0,30_15_5,14_7_15,6_4_70,3_1_85,1_1_90");
    List<AlitripGrouptoursProductUploadRequest.GatherPlaceInfo> list2 = new ArrayList<AlitripGrouptoursProductUploadRequest.GatherPlaceInfo>();
    AlitripGrouptoursProductUploadRequest.GatherPlaceInfo obj3 = new AlitripGrouptoursProductUploadRequest.GatherPlaceInfo();
    list2.add(obj3);
    obj3.setName("上海迪士尼度假区");
    obj3.setPoi("120.111,30.222");
    obj3.setPoiResource("AMAP");
    req.setGatherPlaces(list2);
    req.setFeeInclude("费用包含1,费用包含2");
    req.setConfirmType(1L);
    req.setItemCustomTag("美食");
    req.setOutProductId("1111");
    List<AlitripGrouptoursProductUploadRequest.StructItinerary> list5 = new ArrayList<AlitripGrouptoursProductUploadRequest.StructItinerary>();
    AlitripGrouptoursProductUploadRequest.StructItinerary obj6 = new AlitripGrouptoursProductUploadRequest.StructItinerary();
    list5.add(obj6);
    obj6.setDayOrder(1L);
    List<AlitripGrouptoursProductUploadRequest.ItineraryActivity> list9 = new ArrayList<AlitripGrouptoursProductUploadRequest.ItineraryActivity>();
    AlitripGrouptoursProductUploadRequest.ItineraryActivity obj10 = new AlitripGrouptoursProductUploadRequest.ItineraryActivity();
    list9.add(obj10);
    obj10.setTitle("活动标题");
    obj10.setTxt("活动内容文本描述");
    obj10.setImages("http:xxx.com/jpg1, http:xxx.com/jpg2");
    obj10.setHour(2L);
    list7.setActivities(list9);
    req.setStructItineraries(list5);
    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.setFromLocations("东京");
    req.setDescHtml("PC端详情描述");
    req.setSubTitles("亮点1,亮点2,亮点3");
    AlitripGrouptoursProductUploadRequest.ElectronContract obj11 = new AlitripGrouptoursProductUploadRequest.ElectronContract();
    obj11.setWillJoinGroup(1L);
    obj11.setSupportElectron(0L);
    obj11.setGroupFailArrange("1,2");
    req.setElectronContract(obj11);
    req.setTravellerTemplateId(111L);
    req.setPurePlay(0L);
    req.setIsOverseasTour(0L);
    AlitripGrouptoursProductUploadResponse rsp = client.execute(req, sessionKey);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <alitrip_grouptours_product_upload_response>
        <first_result>
            <item_id>122343</item_id>
            <out_product_id>1234</out_product_id>
            <modified>2015-09-07 22:56:18</modified>
            <extend>扩展信息</extend>
        </first_result>
    </alitrip_grouptours_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

    返回
    顶部