# 商品详情接口

> 2 个平台的 2 个接口，用同一个 Product 对象返回商品详情。按 ID（接口支持的话也可以用链接）取平台商城里的一个商品：标题、现价和原价、销量、评分、评价数、图片和卖家店铺。每次 $0.002 到 $0.02，各接口按自己的价格计费；失败的调用不扣费。

网页版：https://okdata.online/zh/roles/products-get/

## 各平台接口

| 平台 | 接口 | 路径 | 每页 | 价格 |
|---|---|---|---|---|
| TikTok | [TikTok Shop 商品详情](https://okdata.online/zh/apis/tiktok/shop/products/get/) | `GET /v1/tiktok/shop/products/get` | 1 | $0.002/次 |
| 小红书 | [小红书商城商品详情](https://okdata.online/zh/apis/xiaohongshu/shop/products/get/) | `GET /v1/xiaohongshu/shop/products/get` | 1 | $0.02/次 |

## 返回的对象：[Product](https://okdata.online/zh/docs/objects/product/)

上面每个接口返回的字段名和类型都一样。平台不展示的字段返回 null，并在 meta.unavailable 里注明。

| 字段 | 类型 | 含义 |
|---|---|---|
| `id` | `string` | 商品在商城里的 ID。 |
| `url` | `string` | 商品页面。 |
| `title` | `string` | 商品标题。 |
| `price` | `number \| null` | 现价（最低规格），单位见 currency。 |
| `original_price` | `number \| null` | 折前原价（有的话）。 |
| `currency` | `string \| null` | ISO 4217 货币代码。 |
| `sold` | `integer \| null` | 销量，以商城显示为准。 |
| `rating` | `number \| null` | 平均星级，0 到 5。 |
| `reviews` | `integer \| null` | 评价数。 |
| `images` | `string[] \| null` | 商品图片地址。 |
| `shop` | `ShopRef` | 卖家店铺。 |
| `ext` | `object` | 平台特有字段，只在 view=full 时返回。 |

## 两个平台上的同一个调用

参数一样、翻页方式一样、返回结构一样，只换路径。

```bash
# TikTok
curl -G "https://api.okdata.online/v1/tiktok/shop/products/get" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'id=1732296652516463425'

# 小红书
curl -G "https://api.okdata.online/v1/xiaohongshu/shop/products/get" \
  -H "Authorization: Bearer $OKDATA_API_KEY" \
  --data-urlencode 'id=6441fb9a6cd6140001acf7b4'
```

## 常见用途

- 每天跟踪竞品的价格和销量。
- 把一列商品链接变成一张对比表。

## 常见问题

### 价格是什么币种？

商城自己的币种，在 currency 字段里，用 ISO 4217 代码表示。比较不同国家店铺的商品前，先换算一下。

### 销量准确吗？

就是商城展示的数字。商城做了取整或者不展示的，就返回它的数字或 null，null 会在 meta.unavailable 里注明。

### 能看历史价格吗？

每次调用返回的是当下的价格。定时调用并把结果存下来，历史价格就有了。

## 其他数据类型

- [评论接口](https://okdata.online/zh/roles/posts-comments-list/)
- [热榜接口](https://okdata.online/zh/roles/trends-list/)
- [评论回复接口](https://okdata.online/zh/roles/comments-replies-list/)
- [话题内容接口](https://okdata.online/zh/roles/topics-posts-list/)
- [账号信息接口](https://okdata.online/zh/roles/accounts-get/)
- [账号作品列表接口](https://okdata.online/zh/roles/accounts-posts-list/)
- [内容详情接口](https://okdata.online/zh/roles/posts-get/)
- [内容搜索接口](https://okdata.online/zh/roles/posts-search/)
- [热门内容接口](https://okdata.online/zh/roles/posts-trending/)
- [账号搜索接口](https://okdata.online/zh/roles/accounts-search/)
- [内容数据接口](https://okdata.online/zh/roles/posts-metrics/)
- [社区帖子接口](https://okdata.online/zh/roles/communities-posts-list/)
- [广告详情接口](https://okdata.online/zh/roles/ads-get/)
- [广告主广告列表接口](https://okdata.online/zh/roles/advertisers-ads-list/)
- [广告搜索接口](https://okdata.online/zh/roles/ads-search/)
- [字幕接口](https://okdata.online/zh/roles/transcripts-get/)
- [粉丝列表接口](https://okdata.online/zh/roles/accounts-followers-list/)
- [商品评价接口](https://okdata.online/zh/roles/products-reviews-list/)
- [商品搜索接口](https://okdata.online/zh/roles/products-search/)
- [达人搜索接口](https://okdata.online/zh/roles/creators-search/)
- [达人详情接口](https://okdata.online/zh/roles/creators-get/)
- [达人粉丝画像接口](https://okdata.online/zh/roles/creators-audience-get/)
