1688 官方接口实用整理:常用接口清单 + 字段对照 + 可直接调试代码
下面全部按照1688 开放平台真实规范来写内容偏实操、通俗易懂没有花哨术语拿到手就能对接项目用。一、1688 常用接口清单业务最常用主要分三类商品基础信息、商品评论、店铺商品列表基本覆盖选品、比价、竞品分析、采购分析场景。商品基本信息接口获取标题、主图、价格、sku 规格、库存、发货地、商家信息、是否实力商家等。商品评论列表接口获取评分、评论文本、评论时间、是否追评、买家秀图片、规格属性。店铺商品列表接口获取店铺下所有商品 ID、标题、价格、销量、主图、上架时间。商品搜索接口关键词搜索、按类目搜索、价格区间、销量排序、是否包邮等筛选。商品库存 / 发货信息接口起批量、交期、是否现货、发货时效。二、通用字段含义对照表一看就懂1. 公共返回字段所有接口都可能出现success是否调用成功true /falseerror_code错误码用于排查问题error_msg错误提示文案total总条数分页用current_page当前页码page_size每页条数2. 商品基础关键字段offer_id/product_id商品 ID最核心subject商品标题price单价注意1688 多为批发价quantity可售库存 / 起订量unit计量单位个、件、米等images商品主图列表sku_info规格信息颜色、尺寸、材质seller_name店铺名称seller_id店铺 IDdelivery_place发货地sale_count销量3. 评论关键字段review_id评论 IDscore评分1-5 星content评论文字内容gmt_create评论时间is_additional是否追评spec_info评论对应的购买规格images买家晒图三、完整可运行 Python 接入代码直接复制改 Key 即可下面这套是通用结构适配 1688 官方签名规则包含签名生成公共参数封装商品信息 评论 店铺商品 三个接口示例自动延时、异常捕获、简单解析python运行import hashlib import requests import time from urllib.parse import urlencode # 【请在这里填写你的开发者信息】 APP_KEY 你申请的AppKey APP_SECRET 你申请的AppSecret API_GATEWAY https://api.1688.com/openapi # def sign_params(params, app_secret): 1688 标准签名函数 # 按 key 字典序排序 sorted_items sorted( [(k, v) for k, v in params.items() if k ! sign and v is not None] ) # 拼接 raw_str app_secret for k, v in sorted_items: raw_str f{k}{v} raw_str app_secret # MD5 大写 md5 hashlib.md5(raw_str.encode(utf-8)).hexdigest().upper() return md5 def request_1688_api(method, params_dict): 统一请求入口 # 公共参数 common { method: method, app_key: APP_KEY, timestamp: int(time.time() * 1000), format: json, v: 2.0, } # 合并参数 params {**common, **params_dict} # 签名 params[sign] sign_params(params, APP_SECRET) # 请求 try: url f{API_GATEWAY}?{urlencode(params)} resp requests.get(url, timeout10) resp.raise_for_status() return resp.json() except Exception as e: print(请求异常, str(e)) return None # ------------------------------ # 1. 获取商品详情 # ------------------------------ def get_product_detail(offer_id): method alibaba.product.get params { offer_id: offer_id, } data request_1688_api(method, params) if data and data.get(success): return data.get(result, {}) return None # ------------------------------ # 2. 获取商品评论 # ------------------------------ def get_product_reviews(offer_id, page_no1, page_size20): method alibaba.product.reviews params { offer_id: offer_id, page_no: page_no, page_size: page_size, } data request_1688_api(method, params) if data and data.get(success): return data.get(result, {}).get(reviews, []) return [] # ------------------------------ # 3. 获取店铺商品列表 # ------------------------------ def get_shop_products(seller_id, page_no1, page_size20): method alibaba.seller.products.get params { seller_id: seller_id, page_no: page_no, page_size: page_size, } data request_1688_api(method, params) if data and data.get(success): return data.get(result, {}).get(products, []) return [] # ------------------------------ # 测试调用 # ------------------------------ if __name__ __main__: # 替换成真实商品ID test_offer_id 703301234567 print( 商品详情 ) detail get_product_detail(test_offer_id) if detail: print(标题, detail.get(subject)) print(价格, detail.get(price)) print(\n 商品评论 ) reviews get_product_reviews(test_offer_id, page_no1) for r in reviews[:5]: print(f{r.get(score)}星 | {r.get(content)[:50]})四、接口调试必看心得实战踩坑总结1. 关于权限个人账号能调的接口非常有限想稳定用必须企业认证 诚信通。接口不是默认开通需要在开放平台逐个申请权限有些要审核。不要跨场景乱用比如用商品接口去爬全平台数据容易被限流。2. 关于签名报错最常见时间戳必须是13 位毫秒用秒级必错。参数里不要带sign参与签名。None值的参数不要传会导致签名不一致。3. 关于频率与限流不要连续快速循环调用每页 sleep (1~2)秒最稳。遇到429或system busy立刻停 5~10 分钟再试。单日大量抓取建议分时段、分账号、分 IP。4. 关于数据结构1688 很多商品是多规格、多批发价不要只取一个 price 字段。评论可能为空、追评可能为空、图片可能为空代码一定要做判空。店铺商品列表翻页超过几十页容易返回空建议用时间范围分批拉。5. 业务使用心得做选品优先抓price sale_count delivery_place。做评论分析重点抓score content spec_info可做口碑标签。做店铺监控用店铺商品接口定期拉取上新和价格变动。五、你接下来可以直接做的事把代码里的APP_KEY和APP_SECRET换成你申请的。填入真实商品 ID 测试看是否能正常返回标题、价格、评论。在此基础上扩展批量抓取、保存 Excel、定时任务、数据分析。