1688榜单SKILL
通过1688开放平台官方API查询商品榜单和热搜词。
鉴权说明
每个 Skill 内置独立的鉴权模块(scripts/auth.py),不依赖任何外部 Skill。
所有 1688 Skill 的 Token 缓存指向同一个固定路径,实现"独立运行 + 鉴权只发生一次"。
- Token 缓存路径:
skills/.1688_token_cache.json(所有 1688 Skill 共用) - 任意一个 Skill 首次请求完成鉴权后,其他 Skill 直接复用缓存
- Token 过期前自动用 refresh_token 刷新
- 支持
ALI1688_REFRESH_TOKEN(自动刷新)和ALI1688_ACCESS_TOKEN(直接使用)两种模式
配置
在 OpenClaw config 中设置环境变量:
{
skills: {
entries: {
"1688-ranking": {
env: {
ALI1688_APP_KEY: "your_app_key",
ALI1688_APP_SECRET: "your_app_secret",
ALI1688_REFRESH_TOKEN: "your_refresh_token"
}
}
}
}
}
如何获取 AppKey / AppSecret / Token
如果遇到 Token 相关错误(如 401、签名失败、Token 过期),按以下步骤操作:
Step 1:注册开发者 & 创建应用 → 获取 AppKey + AppSecret
Step 2:订购解决方案 → 获取 API 调用权限
- 打开 跨境ERP/独立站SaaS数字化解决方案
- 点击「立即订购」,将解决方案绑定到你的应用
- 订购成功后,应用才有权限调用方案内的 API
Step 3:用户授权 → 获取 access_token + refresh_token
- 在浏览器中访问授权页面(替换 YOUR_APPKEY 和 YOUR_REDIRECT_URI):
https://auth.1688.com/oauth/authorize?client_id=YOUR_APPKEY&site=1688&redirect_uri=YOUR_REDIRECT_URI
- 用1688账号登录并同意授权
- 页面会跳转到你的回调地址,URL 中带有
code参数 - 用 code 换取 Token(有效期短,需在10分钟内使用):
curl -X POST "https://gw.open.1688.com/openapi/param2/1/system.oauth2/getToken/YOUR_APPKEY" \
-d "grant_type=authorization_code" \
-d "need_refresh_token=true" \
-d "client_id=YOUR_APPKEY" \
-d "client_secret=YOUR_APPSECRET" \
-d "redirect_uri=YOUR_REDIRECT_URI" \
-d "code=授权码"
- 返回结果中包含:
access_token— 用于调用 API(有效期约10小时)refresh_token— 用于刷新 access_token(有效期约半年)
Step 4:配置到环境变量
ALI1688_APP_KEY= 应用的 AppKeyALI1688_APP_SECRET= 应用的 AppSecretALI1688_REFRESH_TOKEN= 上一步获得的 refresh_token(推荐,支持自动刷新)ALI1688_ACCESS_TOKEN= 上一步获得的 access_token(备用,过期需手动换)
常见 Token 错误及解决
| 错误 | 原因 | 解决方案 |
|---|---|---|
HTTP 400 刷新失败 | refresh_token 无效或已过期 | 重新走 Step 3 授权,获取新的 refresh_token |
HTTP 401 未授权 | access_token 过期或无效 | 设置 ALI1688_REFRESH_TOKEN 启用自动刷新 |
签名错误(code=25) | AppSecret 不正确 | 检查 ALI1688_APP_SECRET 是否与应用详情页一致 |
无权限调用 | 未订购解决方案 | 回到 Step 2 订购对应解决方案 |
refresh_token 半年后过期 | Token 自然过期 | 重新走 Step 3 授权 |
参考链接
使用方法
0. 自动类目查询
当用户调用商品榜单或热搜词接口但未提供有效类目ID时,系统会自动调用类目接口(cateId=0, language=en)并完整列出所有一级类目(不省略任何类目),帮助用户选择正确的类目ID。
1. 查询商品榜单
# 查询类目ID=1111的综合榜,返回10个商品(默认英语)
python3 scripts/ranking.py top-list 1111
# 查询热卖榜,返回20个商品(默认英语)
python3 scripts/ranking.py top-list 1111 --type hot --limit 20
# 查询好价榜(默认英语)
python3 scripts/ranking.py top-list 1111 --type goodPrice
参数说明:
| 参数 | 说明 | 可选值 |
|---|---|---|
rank_id | 榜单ID / 类目ID(必填) | 类目ID数字 |
--type | 榜单类型 | complex(综合榜) / hot(热卖榜) / goodPrice(好价榜) |
--limit | 返回商品数量(最多20) | 1-20,默认10 |
--lang | 语言代码 | 默认 en |
注意: 内部调用时,--type 参数会转换为 rankType 发送到1688 API。
2. 查询热搜词
# 查询类目ID=1的热搜词(英语)
python3 scripts/ranking.py top-keyword 1
# 查询热搜词(英语)
python3 scripts/ranking.py top-keyword 1
参数说明:
| 参数 | 说明 | 可选值 |
|---|---|---|
source_id | 类目ID(必填) | 类目ID数字 |
--country | 语言代码 | 默认 en |
--type | 热搜类型 | 固定为 cate(类目维度) |
3. 查询所有一级类目
当需要查询类目时,系统会自动调用类目接口获取完整的类目列表:
# 查询所有一级类目(英语)
python3 scripts/category.py 0
类目查询参数:
cate_id: 类目ID,传0获取所有一级类目--language: 语言代码,默认en
注意: 当用户查询商品榜单或热搜词但未提供有效类目ID时,系统会自动调用类目接口(cateId=0, language=en)并列出所有可用的一级类目供用户选择。
输出格式
JSON 格式,直接返回1688 API 的原始响应数据。 重要提示:所有商品查询结果都会包含商品ID(itemId字段),这是商品的唯一标识符,可用于后续的商品详情查询或其他操作。
商品榜单返回字段说明
itemId- 商品ID(重要标识,可用于商品详情查询)title- 商品中文标题translateTitle- 商品英文翻译标题imgUrl- 商品主图URLsort- 排名序号serviceList- 服务列表(如sendGoods24H、sendGoods48H)buyerNum- 买家数量soldOut- 月销量goodsScore- 商品评分
热搜词返回字段说明
seKeyword- 中文热搜关键词seKeywordTranslation- 英文翻译关键词
错误处理
- 失败时不会返回mock数据:所有API调用失败时都会直接抛出错误
- 错误格式:返回包含
error字段的JSON对象,程序退出码为1 - 常见错误:
Missing ALI1688_APP_KEY or ALI1688_APP_SECRET- 缺少必要的环境变量API request failed: ...- API调用失败(网络、认证、参数等)Token response missing access_token- Token刷新失败
API 接口地址
| 接口 | 完整URL |
|---|---|
| 查询商品榜单 | POST https://gw.open.1688.com/openapi/param2/1/com.alibaba.fenxiao.crossborder/product.topList.query/${APPKEY} |
| 商品热搜词 | POST https://gw.open.1688.com/openapi/param2/1/com.alibaba.fenxiao.crossborder/product.search.topKeyword/${APPKEY} |
1688接口通用说明
API接入要点
- 语言支持: 默认使用
country=en,但返回字段包含中英双语- 中文字段示例:
title - 英文字段示例:
translateTitle
- 中文字段示例:
- Access Token: 当前解决方案产生的access_token是长久有效的
- 筛选条件: 支持多种商品筛选条件(发货时效、认证工厂、一件代发等)
- 排序功能: 支持按价格/复购率/月销量排序,但仅对当前页有效
重要限制
- 数据量限制: 每个查询最多返回2000个商品
- 图片搜索: 仅推荐使用1688图片地址,其他域名成功率不稳定
- 价格显示: API返回的是原价,下单时会享受营销价格
服务列表映射
sendGoods24H→ 24小时发货sendGoods48H→ 48小时发货
API 参考文档
完整的 API 接口和数据结构文档请参阅 references/api.md。
📋 1688接口通用说明
语言支持
- 默认使用
country=en(英语) - 返回数据包含中英双语字段:
- 中文字段:如
title(1688商品标题) - 英文字段:如
translateTitle(翻译后的标题)
- 中文字段:如
重要特性
- Access Token 长久有效:无需频繁刷新
- 商品筛选:支持发货时效、认证工厂、一件代发等多种筛选条件
- 排序功能:支持按价格/复购率/月销量排序(仅当前页有效)
限制说明
- 数据量限制:每个查询最多返回2000个商品
- 图片搜索:建议使用1688官方图片地址以保证成功率
- 价格显示:API返回原价,实际下单享受营销优惠价格
服务列表映射
sendGoods24H→ 24小时发货sendGoods48H→ 48小时发货- 其他服务类型按实际返回值展示