只有天猫商家发布商品时才需要用到,并非商品搜索api,当前暂不提供商品搜索api。
二种方式搜索所有产品信息(二种至少传一种):
传入关键字q搜索
传入cid和props搜索
返回值支持:product_id,name,pic_path,cid,props,price,tsc
当用户指定了cid并且cid为垂直市场(3C电器城、鞋城)的类目id时,默认只返回小二确认
的产品。如果用户没有指定cid,或cid为普通的类目,默认返回商家确认或小二确认的产
品。如果用户自定了status字段,以指定的status类型为准。
新增一:
传入suite_items_str 按规格搜索套装产品。
返回字段增加suite_items_str,is_suite_effecitve支持。
名称 | 类型 | 是否必须 | 示例值 | 更多限制 | 描述 |
---|---|---|---|---|---|
fields | String [] | 必须 | product_id,name,pic_url,cid,props,price,tsc |
|
需返回的字段列表.可选值:Product数据结构中的以下字段:product_id,name,pic_url,cid,props,price,tsc;多个字段之间用","分隔.新增字段status(product的当前状态) |
q | String | 可选 | 优衣库 1234 | 搜索的关键词是用来搜索产品的title. 注:q,cid和props至少传入一个 | |
cid | Number | 可选 | 50011999 | 商品类目ID.调用taobao.itemcats.get获取. | |
props | String | 可选 | pid:vid;pid:vid | 属性,属性值的组合.格式:pid:vid;pid:vid;调用taobao.itemprops.get获取类目属性pid ,再用taobao.itempropvalues.get取得vid. | |
status | String | 可选 | 3 |
|
想要获取的产品的状态列表,支持多个状态并列获取,多个状态之间用","分隔,最多同时指定5种状态。例如,只获取小二确认的spu传入"3",只要商家确认的传入"0",既要小二确认又要商家确认的传入"0,3"。目前只支持者两种类型的状态搜索,输入其他状态无效。 |
page_no | Number | 可选 | 1 | 页码.传入值为1代表第一页,传入值为2代表第二页,依此类推.默认返回的数据是从第一页开始. | |
page_size | Number | 可选 | 40 | 每页条数.每页返回最多返回100条,默认值为40. | |
vertical_market | Number | 可选 | 4 | 传入值为:3表示3C表示3C垂直市场产品,4表示鞋城垂直市场产品,8表示网游垂直市场产品。一次只能指定一种垂直市场类型 | |
customer_props | String | 可选 | 20000:优衣库:型号:001:632501:1234 | 用户自定义关键属性,结构:pid1:value1;pid2:value2,如果有型号,系列等子属性用: 隔开 例如:“20000:优衣库:型号:001;632501:1234”,表示“品牌:优衣库:型号:001;货号:1234” | |
suite_items_str | String | 可选 | 1000000062318020:1;1000000062318020:2; | 按关联产品规格specs搜索套装产品 | |
barcode_str | String | 可选 | 6924343550791,6901028180559 | 按条码搜索产品信息,多个逗号隔开,不支持条码为全零的方式 | |
market_id | String | 可选 | 2 | 市场ID,1为取C2C市场的产品信息, 2为取B2C市场的产品信息。 不填写此值则默认取C2C的产品信息。 |
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
total_results | Number | 50 | 结果总数 |
products | Product [] | 返回具体信息为入参fields请求的字段信息 | |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret); ProductsSearchRequest req = new ProductsSearchRequest(); req.setFields( "product_id,name,pic_url,cid,props,price,tsc" ); req.setQ( "优衣库 1234" ); req.setCid(50011999L); req.setProps( "pid:vid;pid:vid" ); req.setStatus( "3" ); req.setPageNo(1L); req.setPageSize(40L); req.setVerticalMarket(4L); req.setCustomerProps( "20000:优衣库:型号:001:632501:1234" ); req.setSuiteItemsStr( "1000000062318020:1;1000000062318020:2;" ); req.setBarcodeStr( "6924343550791,6901028180559" ); req.setMarketId( "2" ); ProductsSearchResponse rsp = client.execute(req, sessionKey); System.out.println(rsp.getBody()); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | < products_search_response > < total_results >50</ total_results > < products > < product > < product_id >3433222</ product_id > < name >惠普笔记本</ name > < cid >50012286</ cid > < props >pid:vid;pid:vid</ props > < price >200.07</ price > < tsc >hkjki</ tsc > < status >1</ status > </ product > </ products > </ products_search_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 > |
错误码 | 错误描述 | 解决方案 |
---|---|---|
isv.missing-parameter:q-or-cid-or-props | 搜索条件q、cid、props请至少指定一个 | 请在前端作好判断,特殊可选的参数至少传入一个 |
isv.invalid-parameter:barcode_str | 条码格式错误。 | 检查输入,不能为全零,不能以*开头 |
isv.invalid-parameter:vertical_market | 产品搜索不支持的vertical_market值 | 检查vertical_market输入 |