京东(jd)
京东的能力偏向买家侧:商品详情与搜索、商品评价、收藏与浏览历史、订单、购物车、优惠券、咚咚客服。命令表由注册表生成,与 catbus platforms jd 一致;选项以 catbus jd <resource> <action> --help 为准。通用的命令语法、输出结构见 AGENTS.md 第 4 节。
登录
| 方式 |
命令 |
说明 |
| 扫码(默认) |
catbus jd auth login |
用京东 App 扫码并确认。真机验证可用 |
| 短信 |
catbus jd auth login --method sms --phone <手机号> |
--phone 可以带国际前缀(如 +85291234567)。发码前如果要求人机验证,catbus 用 JCAP 模型自动计算;账号要求额外安全验证时会再发一条验证码,非交互环境下用 --code <验证码> 完成 |
| cookie |
catbus jd auth login --method cookie --cookie @jd-cookie.txt |
在浏览器登录 www.jd.com,从 DevTools → Network 复制完整的 Cookie 请求头 |
- cookie 里必须有登录票据
thor(PC 扫码下发,或 M 端的 pt_key),以及 pin(也认 pt_pin、_pst);缺了报 USAGE。
- 收货地区默认取 cookie
ipLoc-djd,影响价格和库存,可以用 --area 临时指定(见下)。
- 验证码(JCAP)的 onnx 模型在
@cv-cat/catbus-assets-jd 里,约 81 MB;从源码安装时先执行 npm run assets:jd。
- 没有子站点。
支持的命令
✓ 上游已有,◐ 上游部分支持(限制写在说明里),○ 规划中(执行时返回 NOT_IMPLEMENTED,退出码 4)。表里没有的命令表示京东没有这个概念,执行时报 UNSUPPORTED(退出码 2)。
auth
| 命令 |
状态 |
说明 |
auth login |
✓ |
登录,方式见上文「登录」。sms 的 --phone 可以带国际前缀,例如 +85291234567。 |
auth status |
✓ |
在线校验登录态。 |
auth logout |
✓ |
登出并删除本地凭证。 |
auth list |
✓ |
本平台、本端的账号。 |
auth use |
✓ |
切换当前账号。 |
user
| 命令 |
状态 |
说明 |
user get |
◐ |
用户资料。只支持 me。 |
user collects |
✓ |
用户收藏的商品 SKU。私有选项 --area。 |
item
| 命令 |
状态 |
说明 |
item get |
✓ |
商品 SKU 详情。私有选项 --area。 |
item search |
✓ |
搜索商品 SKU。取值:--sort general / sales / price_asc / price_desc / comments。私有选项 --area。 |
item related |
◐ |
相关推荐。用第一个相关搜索词的搜索结果。私有选项 --area。 |
item collect、item uncollect |
○ |
规划中 |
| 命令 |
状态 |
说明 |
comment list |
◐ |
商品评价。只有第一页;--limit N 在一次请求里取 N 条。 |
keyword
| 命令 |
状态 |
说明 |
keyword suggest |
✓ |
搜索联想词。 |
keyword hot |
✓ |
热搜词。 |
msg
| 命令 |
状态 |
说明 |
msg list |
✓ |
会话列表。 |
msg history |
✓ |
会话的消息记录。 |
msg send |
✓ |
发私信;--item 表示联系商品的卖家或客服。只支持文本;用 --item、--conversation <商家 venderId> 或 --order 指定客服,不支持 --to。私有选项 --order。 |
msg listen |
✓ |
监听新消息。持续输出 jsonl。 |
msg read、msg revoke、msg delete |
○ |
规划中 |
history
| 命令 |
状态 |
说明 |
history list |
✓ |
浏览历史。私有选项 --area。 |
order
| 命令 |
状态 |
说明 |
order list |
✓ |
订单列表。平台扩展。 |
cart
| 命令 |
状态 |
说明 |
cart count |
✓ |
购物车商品数量。平台扩展。 |
coupon
| 命令 |
状态 |
说明 |
coupon list |
✓ |
商品可用的优惠券。平台扩展。 |
整组规划中
下面这些 resource 在本平台还没有已实现的命令,执行时都返回 NOT_IMPLEMENTED(退出码 4)。
私有选项与平台扩展
| 命令 |
选项 |
说明 |
item get / item search / item related / coupon list / cart count / history list / user collects |
--area <地区编码> |
收货地区,影响价格和库存。取值是京东的地区编码 省_市_区_镇,用 _ 或 - 分隔,例如 1_2800_55812_0;默认取登录态里的 ipLoc-djd cookie,没有时为 1_2800_55812_0 |
order list |
--range 3m|this_year|<年份> |
订单的时间范围:3m 近三个月(默认)、this_year 今年内、2025 这样的四位年份表示那一年 |
msg send <text> |
--order <订单> |
按订单咨询客服,会话和消息都带上订单号。<订单> 是订单号(order list 输出的 id),也接受订单详情页 URL。可以和 --item、--conversation 之一一起用;单独用时联系京东自营客服 |
| 扩展命令 |
说明 |
输出 |
order list [--range ...] |
订单列表,分页 |
Order[](id status total items created_at) |
cart count [--area ...] |
购物车商品数量 |
{count} |
coupon list <item> [--area ...] |
商品可用的优惠券 |
Coupon[](id title discount threshold start_at end_at) |
定义见 AGENTS.md 4.7。
参数格式
| 参数 |
接受的形式 |
商品 <item> / --item |
SKU(4 位以上的纯数字)、商品页链接(item.jd.com/<sku>.html、item.m.jd.com/product/<sku>.html、全球购 npcitem.jd.hk/<sku>.html,或带 sku= / skuId= / wareId= 参数的链接),或短链(3.cn、u.jd.com) |
用户 <user> |
只支持 me(user get、user collects 只能看自己) |
会话 <conversation> / --conversation |
商家的 venderId(msg list 输出的会话 id);京东自营客服是 1 |
订单 --order |
订单号(6 位以上的纯数字,order list 输出的 id),或订单详情页 URL(带 orderid=) |
示例
已知限制
- 风控较严,控制调用频率:真机验证时测试账号被封过;
item get 与评价接口曾被 605 / 403 风控拦住。catbus 会区分风控与登录失效:风控报 RISK_CONTROL,登录失效报 AUTH_EXPIRED。
- 还没真机确认的字段:收藏 / 浏览历史的图片与店铺、优惠券、购物车数量、商品详情路径、私信回执匹配,都是按已知结构改的;撤回消息的 id 字段名、评价条数的服务端上限是推断的。
- 商品评价只有第一页:
--limit N 在一次请求里取 N 条,不翻页。
item related 是近似结果:用第一个相关搜索词的搜索结果。京东真正的相关推荐接口(diviner)需要浏览器抓包得到的参数,上游也没有调用。
- 客服私信只支持文本;不支持
--to(咚咚只能联系商家客服)。