1.1 注册开发者账号
- 访问平台:前往1688开放平台。
- 账号要求: 个人开发者:绑定通过个人实名认证的支付宝账号。 企业开发者:绑定通过企业认证的支付宝账号。
- 注册流程:使用阿里巴巴中国站账号登录,完成支付宝绑定及实名认证。
1.2 创建应用
- 步骤: 登录开放平台控制台,创建新应用。 提交产品MRD(市场需求文档)至邮箱[email protected]审核,审核通过后正式发布应用。
- 获取凭证:应用审核通过后,获得App Key和App Secret,用于后续API调用认证。
二、API接口概览
2.1 商品搜索API
- 接口名:alibaba.item.search
- 功能:通过关键词、价格区间、销量范围、类目ID等条件筛选商品,返回商品标题、价格、销量、图片等基本信息。
- 请求参数: q:搜索关键词(如“女装”)。 page:页码(默认1)。 pageSize:每页商品数量(最大40)。 priceStart/priceEnd:价格区间。 categoryId:类目ID(通过类目搜索接口获取)。 sort:排序方式(如price_asc按价格升序)。
2.2 商品详情API
- 接口名:alibaba.cpsMedia.productInfo
- 功能:获取商品的详细信息,包括价格、库存、详情描述等。
- 注意: 需结合alibaba.cps.queryOfferDetailActivity接口获取营销活动信息,以确定最终价格和运费。 价格优先级:channelPrice(一件代发包邮价)> promotionPrice(营销活动价)> consignPrice(分销基准价)。
2.3 运费计算
- 逻辑: 若商品存在channelPrice,则为包邮商品,可通过channelPriceFreePostage和channelPriceExcludeAreaCodes判断非包邮区域。 若无channelPrice但有promotionPrice,以营销活动接口返回的包邮信息为准。 若无以上两者,则通过shippingInfo中的运费模板计算。
- 示例: 按重量计价:chargeType=0,首重1000克费用700分,续重1000克费用250分,2公斤商品运费为9.5元。 按件计价:chargeType=1,首件3件费用700分,续件1件费用250分,1件商品运费为7元。
三、调用流程
3.1 签名生成
- 算法:使用App Secret对请求参数进行MD5加密。
- 示例代码(Python) : python 体验AI代码助手 代码解读复制代码python import hashlib import urllib.parse def generate_sign(params, app_secret): sorted_params = sorted(params.items(), key=lambda x: x[0]) query_string = ''.join([f"{k}{v}" for k, v in sorted_params]) sign_str = app_secret + query_string + app_secret return hashlib.md5(sign_str.encode()).hexdigest().upper()
3.2 发送请求
- 方式:HTTP GET或POST。
- 示例代码(Python) : csharp 体验AI代码助手 代码解读复制代码python import requests import time app_key = "your_app_key" app_secret = "your_app_secret" params = { "method": "alibaba.item.search", "app_key": app_key, "timestamp": int(time.time()), "format": "json", "v": "2.0", "q": "女装", "page": 1, "pageSize": 40 } params["sign"] = generate_sign(params, app_secret) response = requests.get("https://gw.open.1688.com/openapi/param2/1/portals.open/api/findItem", params=params) print(response.text)
四、响应处理
4.1 解析JSON响应
- 关键字段: totalResults:总记录数。 items:商品数组,包含title、price、sales、picUrl等。
- 示例响应: json 体验AI代码助手 代码解读复制代码json { "success": true, "result": { "totalResults": 12345, "items": [ { "title": "韩版仿兔毛围巾", "price": "2.2", "sales": 1234, "picUrl": "https://img.1688.com/img/xxxxxx.jpg" } ] } }
4.2 错误处理
- 常见错误码: 400:参数错误。 403:权限不足。 500:服务器异常。
- 处理逻辑:检查响应中的code字段,若非200,根据message字段调整请求参数或联系平台。
五、注意事项
5.1 调用频率限制
- 免费版:通常每分钟100次。
- 企业版:可申请提升配额,需联系平台。
- 建议:合理间隔请求,避免触发限流。
5.2 数据安全与合规
- 密钥保管:严禁泄露App Secret,建议使用安全存储。
- 合法使用:遵守平台规则,不得用于非法用途(如爬取敏感信息)。
5.3 版本更新
- 关注文档:定期查看1688开放文档,及时适配新版本。
六、示例场景
6.1 批量抓取商品数据
- 步骤: 使用商品搜索API分页抓取商品ID。 调用商品详情API获取详细信息。 缓存数据以减少重复调用。
6.2 实时价格监控
- 流程: 定时调用商品详情API。 结合营销活动API获取最新价格。 触发预警或自动调整采购策略。
通过以上指南,开发者可高效接入1688商品API,实现商品数据的自动化获取与分析。