×

(某音)商品详情接口douyin.item_get_app Java 开发实战指南

admin admin 发表于2026-05-14 17:20:04 浏览15 评论0

抢沙发发表评论

前言

在电商生态、短视频带货、选品分析、订单回溯、商品监控等业务场景中,获取抖音商品详情数据是最核心、最基础的能力。item_get_app 是抖音开放平台 / 第三方数据服务中标准、稳定、高适配移动端的商品详情获取接口,专门用于获取抖音商城内商品的完整信息。
本文将以 Java 后端开发视角,完整讲解:
  • 接口用途与场景

  • 请求 / 响应结构

  • Java 代码实现(可直接复制运行)

  • 签名、请求头、参数封装

  • 常见异常与生产环境优化

让你快速完成抖音商品详情接口对接。

一、接口介绍

1.1 接口名称

item_get_app —— 抖音 APP 端商品详情获取接口

1.2 接口作用

通过商品 ID(productId /itemId)获取抖音商品全量详情数据
  • 商品标题、副标题、类目

  • 主图、轮播图、详情图

  • 售价、原价、优惠券、佣金

  • SKU 规格(颜色、尺码、库存)

  • 商品卖点、服务、发货地、时效

  • 店铺信息、评分、销量

1.3 适用场景

  • 电商选品工具

  • 商品图片 / 标题 / 规格采集

  • 价格监控、库存监控

  • 订单系统商品回填

  • 商城小程序、APP 商品展示

  • 数据分析、达人带货选品


二、接口基础信息

  • 请求方式:POST / GET(推荐 POST)

  • 数据格式:JSON

  • 编码:UTF-8

  • 请求地址:由数据服务 / 开放平台提供(示例地址仅用于演示)

  • 身份认证key + secret 鉴权

  • 必填参数:商品 ID(num_iid /product_id)


三、请求参数说明

3.1 公共参数(必传)

表格
参数名类型说明
keyString身份密钥
secretString签名密钥
methodString固定值:item_get_app

3.2 业务参数(必传)

表格
参数名类型说明
num_iidString抖音商品 ID(从链接中解析)

3.3 可选参数

表格
参数名说明
platform默认:douyin
get_sku是否获取 SKU,默认 true

四、响应结构(常用字段)

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "num_iid": "123456789",
    "title": "商品标题",
    "price": "99.0",
    "original_price": "199.0",
    "images": ["https://..."],
    "desc_images": ["https://..."],
    "shop_name": "店铺名称",
    "sku_list": [
      {
        "sku_id": "123",
        "properties": "颜色:红色",
        "price": "99.0",
        "stock": 100
      }
    ]
  }}

五、Java 实现代码(可直接运行)

5.1 依赖(Maven)

xml
<dependencies>
    <!-- HTTP 请求 -->
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-http</artifactId>
        <version>5.8.20</version>
    </dependency>
    <!-- JSON 解析 -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson2</artifactId>
        <version>2.0.32</version>
    </dependency></dependencies>

5.2 工具类:DouYinItemApi.java

java
运行
import cn.hutool.http.HttpRequest;import com.alibaba.fastjson2.JSON;import com.alibaba.fastjson2.JSONObject;public class DouYinItemApi {

    // 接口地址(实际使用时替换为真实地址)
    private static final String API_URL = "https://api.example.com/item_get_app";
    private static final String KEY = "你的key";
    private static final String SECRET = "你的secret";

    /**
     * 获取抖音商品详情
     * @param numIid 商品ID
     * @return 详情JSON字符串
     */
    public static String getItemDetail(String numIid) {
        try {
            // 构建参数
            JSONObject params = new JSONObject();
            params.put("key", KEY);
            params.put("secret", SECRET);
            params.put("method", "item_get_app");
            params.put("num_iid", numIid);
            params.put("get_sku", true);

            // 发送 POST 请求
            String result = HttpRequest.post(API_URL)
                    .timeout(10000)
                    .body(params.toJSONString())
                    .execute()
                    .body();

            return result;

        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    // 测试
    public static void main(String[] args) {
        String numIid = "抖音商品ID";
        String detail = getItemDetail(numIid);
        System.out.println(detail);
    }}

六、实体类封装(便于业务使用)

java
运行
import lombok.Data;import java.util.List;@Datapublic class DouYinItemVO {
    private String numIid;       // 商品ID
    private String title;       // 标题
    private String price;       // 现价
    private String originalPrice;// 原价
    private List<String> images;// 主图
    private List<String> descImages;// 详情图
    private String shopName;    // 店铺名
    private List<Sku> skuList;  // 规格

    @Data
    public static class Sku {
        private String skuId;
        private String properties;
        private String price;
        private Integer stock;
    }}

解析示例

java
运行
// 解析返回结果JSONObject resJson = JSON.parseObject(result);if (resJson.getIntValue("code") == 200) {
    DouYinItemVO item = resJson.getObject("data", DouYinItemVO.class);
    System.out.println("商品标题:" + item.getTitle());
    System.out.println("价格:" + item.getPrice());}

七、高频异常与解决方案

7.1 code = 401 未授权

  • key/secret 错误

  • 账号过期、IP 未授权

7.2 code = 400 参数错误

  • 缺少 num_iid

  • 商品 ID 格式错误

7.3 code = 404 商品不存在

  • 商品已删除 / 下架 / 屏蔽

7.4 超时

  • 加大超时时间:10s

  • 增加重试机制

7.5 无 SKU 返回

  • 商品无多规格

  • get_sku=false


八、生产环境高可用建议

  1. 超时设置:10s

  2. 重试机制:2 次,间隔 1s

  3. 降级缓存:热点商品缓存 5~15 分钟

  4. 并发控制:避免高频并发触发限流

  5. 日志脱敏:不打印 key/secret

  6. 异常监控:监控 401、429、500 错误


九、总结

item_get_app 是抖音生态中最稳定、最常用的商品详情接口,Java 接入非常简单:
  • 传入商品 ID

  • 携带 key/secret

  • 发送请求 → 解析数据

即可快速实现:商品采集、价格监控、选品分析、订单回填、商城展示等功能。


群贤毕至

访客