×

🛍️ 淘宝商品详情API(taobao.item.get)Python/Java调用实战与字段解析

万邦科技Lex 万邦科技Lex 发表于2026-06-20 16:28:15 浏览15 评论0

抢沙发发表评论

🛍️ 淘宝商品详情API(taobao.item.get)Python/Java调用实战与字段解析

淘宝开放平台的 taobao.item.get是做商品同步、比价、铺货系统的核心接口,用来根据 num_iid(淘宝/天猫商品ID)获取标题、价格、SKU、库存、主图、详情HTML等结构化数据。

一、接口关键信息

项目
说明
API名
taobao.item.get
网关
生产 https://gw.api.taobao.com/router/rest
沙箱 https://gw.api.tbsandbox.com/router/rest
必传参数
num_iid(商品数字ID)、fields(指定返回字段)
可选
session(某些敏感字段需卖家授权,基础展示可不传)
权限
需在开放平台应用勾选「商品详情查询(taobao.item.get)」
⚠️ 淘宝商品ID(num_iid)可从商品URL中提取:https://item.taobao.com/item.htm?id=654321098765num_iid=654321098765

二、Python完整调用封装(复用TOP签名Client)

# top_item_get.py
"""
淘宝商品详情 taobao.item.get 调用示例
依赖: top_api_client.py (TaobaoTopClient from 上文)
"""
from top_api_client import TaobaoTopClient

# 封装好API供应商demo url=https://console.open.onebound.cn/console/?i=Lex
def get_tb_item_detail(num_iid: str, fields: str = None,
                        app_key=None, app_secret=None,
                        session=None, sandbox=True):
    """
    获取淘宝/天猫商品详情

    Args:
        num_iid:   商品ID (num_iid)
        fields:    返回字段,逗号分隔;
                   推荐: "num_iid,title,price,org_price,pic_url,item_imgs,skus,"
                           "props_name,desc,approve_status,num,outer_id"
        session:    卖家授权token(取SKU库存等需传)
        sandbox:    True=沙箱 False=生产
    Returns:
        item 字典
    """
    client = TaobaoTopClient(
        app_key=app_key,
        app_secret=app_secret,
        sandbox=sandbox
    )

    fields = fields or (
        "num_iid,title,price,org_price,pic_url,item_imgs,"
        "skus,props_name,desc,approve_status,num,outer_id,"
        "seller_nick,cid,input_str"
    )

    result = client.call(
        "taobao.item.get",
        biz_params={"num_iid": num_iid, "fields": fields},
        session=session
    )
    return result.get("item", result)


# ======================= 使用示例 =======================
if __name__ == "__main__":
    ITEM_ID = "654321098765"   # ← 替换真实商品ID(自己的店铺商品或公开商品)

    try:
        item = get_tb_item_detail(
            num_iid=ITEM_ID,
            app_key="YOUR_TOP_APP_KEY",
            app_secret="YOUR_TOP_APP_SECRET",
            sandbox=True   # 生产切 False;公开商品沙箱返回mock
            # session="SELLER_SESSION"  # 查自己店铺商品SKU库存需传
        )

        print("✅ 商品标题:", item.get("title"))
        print("   一口价:", item.get("price"))
        print("   主图:", item.get("pic_url"))
        print("   库存:", item.get("num"))
        print("   SKU数:", len(item.get("skus") or []))

        # 解析SKU
        for sku in (item.get("skus") or [])[:3]:
            print(f"     SKU {sku.get('properties_name')} → 价:{sku.get('price')} 库:{sku.get('quantity')}")

        if not item.get("skus"):
            print("   ℹ️  skus为空 → 若是自己店铺商品需传 seller session 再查")

    except Exception as e:
        print("❌", e)

三、核心返回字段解析(B2B/B2C铺货重点)

TOP返回字段
类型
含义
铺货用途
num_iid
long
商品唯一ID
外部单号关联
title
string
商品标题(含营销词)
截取适配目标平台长度
price
string
一口价(元)
零售价比价基准
org_price
string
原价(划线价)
促销展示
pic_url
string
主图URL
首图
item_imgs[].url
list
所有商品图片
副图/详情图
skus[].price
string
SKU价格
多规格定价
skus[].quantity
int
SKU库存(需seller session
采购/超卖判断
skus[].properties_name
string
SKU规格描述(颜色:红;尺码:M)
SKU映射
skus[].outer_id
string
商家编码
内部SKU匹配
props_name
string
关键属性(品牌/材质等)
补充信息
desc
string
详情HTML(可能截断)
详情页
approve_status
string
onsale/instock/deleted
过滤下架
cid
long
后台类目ID
类目映射

SKU 典型结构

{
  "sku_id": "1234567890",
  "properties": "1627207:28335;20509:28381",
  "properties_name": "颜色:红色;尺码:M",
  "price": "199.00",
  "quantity": 50,
  "outer_id": "SKU-RED-M"
}

四、Java调用核心片段(TOP Java SDK)

// TaobaoClient + JsonParser 由 top-sdk-java 提供
TaobaoClient client = new DefaultTaobaoClient(
    "https://gw.api.taobao.com/router/rest",
    "APP_KEY", "APP_SECRET"
);

ItemGetRequest req = new ItemGetRequest();
req.setNumIid(654321098765L);
req.setFields("num_iid,title,price,pic_url,skus,desc,num");

ItemGetResponse rsp = client.execute(req);  // session传null查公开字段
Item item = rsp.getItem();

System.out.println(item.getTitle());
System.out.println(item.getPrice());

五、高频避坑

问题
原因
解决
skus返回空
公开查询不返回库存SKU
卖家账号OAuth授权得 session 再查
desc为空/截断
部分类目详情在独立接口 taobao.item.desc.get
补调 desc 接口
第三方商品403
未申请权限或AppKey无权限
控制台申请 taobao.item.get
天猫商品拿不到
num_iid正确但仍无数据
确认商品未删除 + 应用有权限(天猫多需额外审核)
价格字段类型
price是字符串不是数字
Decimal(price)转再运算

六、面试/方案一句话

taobao.item.getnum_iid+ fields获取商品结构化数据;公开字段(标题/价格/主图)可不传session,SKU库存和商家编码需卖家AccessToken;返回SKU用 properties_name做规格映射,图片需转存目标平台图床再上架。
需要我补 taoboba.item.desc.get详情HTML获取 + 图片本地化转存脚本淘宝→1688/抖音/Shopify铺货字段映射模板 吗?


群贤毕至

访客