# 店铺竞争分析接口文档

本文档包含两个关联接口，用于完整实现店铺竞争分析功能：

1. **产品选项列表接口** (`/v3/api/open/store/detail/competition/products`): 获取店铺下所有产品列表，用于筛选特定产品进行竞争分析
2. **竞争店铺列表接口** (`/v3/api/open/store/detail/competition`): 获取店铺的竞争对手列表

---

## 接口1: 获取店铺产品选项列表

### 接口信息

- **接口名称**: 获取店铺产品选项列表（用于竞争分析筛选）
- **请求方法**: GET
- **接口地址**: `/open-api/v1/data`
- **接口路径**: `/v3/api/open/store/detail/competition/products`
- **接口描述**: 获取指定店铺下所有产品的ID和图片信息。此接口返回的产品ID（`id`字段）可作为竞争店铺列表接口的`product_id`参数，用于筛选基于特定产品的竞争分析。**使用建议**：在调用竞争店铺列表接口前，建议先调用此接口获取产品列表，让用户选择要分析的产品，或直接传递所有产品进行全面竞争分析。
- **价格说明**: `免费`
- 
**请求头:**

- Content-Type: application/json
- Accept: application/json

### 请求参数

#### 请求结构

| 参数名 | 类型   | 描述                        | 示例                                             | 必填 | 默认值 |
| ------ | ------ | --------------------------- | ------------------------------------------------ | ---- | ------ |
| key    | string | 用户申请的外部 api 请求 key | "your_api_key_here"                              | 是   |        |
| uri    | string | 接口路径                    | "/v3/api/open/store/detail/competition/products" | 是   |        |
| params | object | 接口入参对象                | 见参数列表                                       | 是   |        |

#### 请求体参数 (params 对象)

| 参数名 | 类型 | 必填 | 默认值 | 描述 |
| ------ | ---- | ---- | ------ | ---- |
| id | String | 是 | - | 店铺 ID 为 13 位字符串（例如：`c2d5b2547218a`），对应店铺榜单列表接口返回结果中的 `store_id` 字段 |

#### 请求示例

```bash
curl -X GET "https://www.pipispy.com/open-api/v1/data" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "key": "your_api_key_here",
    "uri": "/v3/api/open/store/detail/competition/products",
    "params": {
        "id": "cac90b02df723"
    }
  }'
```

### 响应参数

#### 响应体结构

```json
{
  "code": 200,
  "message": "success",
  "data": {
    "data": []
  },
  "version": "v1",
  "timestamp": null,
  "sign": null,
  "remaining_credits": 9980,
  "consumed_credits": 0,
  "success": true,
  "fail": false
}
```

#### 响应字段说明

| 字段名    | 类型    | 描述                     |
| --------- | ------- | ------------------------ |
| code      | Integer | 响应状态码，200 表示成功 |
| message   | String  | 响应消息描述             |
| data      | Object  | 响应数据主体             |
| data.data | Array   | 产品信息列表数组         |
| version   | String  | API 版本号               |
| timestamp | String  | 响应时间戳               |
| sign      | String  | 响应签名（预留字段）     |
| remaining_credits | Long    | 当前请求后的剩余可用积分 |
| consumed_credits  | Long    | 本次请求消耗的积分 |
| success   | Boolean | 请求是否成功的布尔值     |
| fail      | Boolean | 请求是否失败的布尔值     |

#### 产品信息字段 (data.data[])

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| id | String | 产品唯一标识ID（MongoDB ObjectId格式）。**重要**：此ID可直接用于竞争店铺列表接口的`product_id`参数，用于筛选基于该产品的竞争对手 |
| icon | String | 产品图片完整URL地址。图片托管在CDN上，格式为："https://cdn-product.pipiads.com/xxxxx.jpg"。此图片为产品的主图或首图，用于在UI界面展示产品缩略图，方便用户识别和选择 |

#### 响应示例

```json
{
  "code": 200,
  "message": "success",
  "data": {
    "data": [
      {
        "id": "62739afc38365b2f72048ebe",
        "icon": "https://cdn-product.pipiads.com/images/product_image_001.jpg"
      },
      {
        "id": "62739b0438365b2f72048ebf",
        "icon": "https://cdn-product.pipiads.com/images/product_image_002.jpg"
      },
      {
        "id": "62739b1238365b2f72048ec0",
        "icon": "https://cdn-product.pipiads.com/images/product_image_003.jpg"
      }
    ]
  },
  "version": "v1",
  "timestamp": null,
  "sign": null,
  "remaining_credits": 9980,
  "consumed_credits": 0,
  "success": true,
  "fail": false
}
```

### 使用说明

1. **获取产品列表**: 调用此接口获取店铺下所有产品的ID和图片
2. **用户选择产品**: 在前端界面展示产品图片列表，让用户选择要分析的产品
3. **传递产品ID**: 将选中的产品ID传递给竞争店铺列表接口的`product_id`参数
4. **全店铺分析**: 如果想基于店铺所有产品进行竞争分析，可以不调用此接口，直接调用竞争店铺列表接口且不传`product_id`参数

### 错误码说明

| 错误码 | 描述           | 解决方案 |
| ------ | -------------- | -------- |
| 200    | 成功           | - |
| 400    | 请求参数错误   | 检查id格式是否正确（必须是有效的MongoDB ObjectId） |
| 401    | 未授权         | 检查API Key是否有效，是否已过期 |
| 403    | 权限不足       | 检查API Key是否有访问此接口的权限 |
| 404    | 店铺不存在     | 检查id是否正确，该店铺是否已从系统中删除 |
| 500    | 服务器内部错误 | 联系技术支持或稍后重试 |

---

## 接口2: 获取店铺竞争分析列表

### 接口信息

- **接口名称**: 获取店铺竞争分析列表
- **请求方法**: GET
- **接口地址**: `/open-api/v1/data`
- **接口路径**: `/v3/api/open/store/detail/competition`
- **接口描述**: 根据店铺ID获取该店铺的竞争对手店铺列表。系统通过AI图像识别技术分析店铺销售的产品图片，找出销售相似产品的其他店铺，按照相似度评分（score）从高到低排序返回。支持分页查询和按指定产品筛选竞争店铺。
- **价格说明**: 获取一条数据结果消耗1 credit
- 
**请求头:**

- Content-Type: application/json
- Accept: application/json

## 请求参数

### 请求结构

| 参数名 | 类型   | 描述                        | 示例                                    | 必填 | 默认值 |
| ------ | ------ | --------------------------- | --------------------------------------- | ---- | ------ |
| key    | string | 用户申请的外部 api 请求 key | "your_api_key_here"                     | 是   |        |
| uri    | string | 接口路径                    | "/v3/api/open/store/detail/competition" | 是   |        |
| params | object | 接口入参对象                | 见参数列表                              | 是   |        |

### 请求体参数 (params 对象)

| 参数名 | 类型 | 必填 | 默认值 | 描述 |
| ------ | ---- | ---- | ------ | ---- |
| id | String | 是 | - | 店铺 ID 为 13 位字符串（例如：`c2d5b2547218a`），对应店铺榜单列表接口返回结果中的 `store_id` 字段 |
| product_id | String | 否 | null | 指定产品ID进行筛选。当传入此参数时，只返回与该店铺下指定产品相似的竞争店铺。此ID是PipiAds系统内部生成的产品唯一标识符（MongoDB ObjectId格式）。如果不传此参数，则基于该店铺所有产品进行竞争分析 |
| page_size | Integer | 否 | 20 | 每页返回的店铺数量。指定单页返回的竞争店铺记录数。取值范围：1-200，建议设置在20-100之间以获得最佳性能 |
| current_page | Integer | 否 | 1 | 当前页码。页码从1开始计数，用于分页查询。当请求页码超过总页数时，返回空列表 |

### 请求示例

```bash
# 示例1: 查询店铺的所有竞争对手（基于所有产品）
curl -X GET "https://www.pipispy.com/open-api/v1/data" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "key": "your_api_key_here",
    "uri": "/v3/api/open/store/detail/competition",
    "params": {
        "id": "cac90b02df723",
        "current_page": 1,
        "page_size": 20
    }
  }'

# 示例2: 查询店铺指定产品的竞争对手
curl -X GET "https://www.pipispy.com/open-api/v1/data" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "key": "your_api_key_here",
    "uri": "/v3/api/open/store/detail/competition",
    "params": {
        "id": "cac90b02df723",
        "product_id": "62739afc38365b2f72048ebe",
        "current_page": 1,
        "page_size": 50
    }
  }'
```

## 响应参数

### 响应体结构

```json
{
  "code": 200,
  "message": "success",
  "data": {
    "data": [],
    "page": {}
  },
  "version": "v1",
  "timestamp": null,
  "sign": null,
  "remaining_credits": 9980,
  "consumed_credits": 20,
  "success": true,
  "fail": false
}
```

### 响应字段说明

| 字段名    | 类型    | 描述                     |
| --------- | ------- | ------------------------ |
| code      | Integer | 响应状态码，200 表示成功 |
| message   | String  | 响应消息描述             |
| data      | Object  | 响应数据主体             |
| data.data | Array   | 竞争店铺列表数组         |
| data.page | Object  | 分页信息对象             |
| version   | String  | API 版本号               |
| timestamp | String  | 响应时间戳               |
| sign      | String  | 响应签名（预留字段）     |
| success   | Boolean | 请求是否成功的布尔值     |
| fail      | Boolean | 请求是否失败的布尔值     |

### 竞争店铺信息字段 (data.data[])

#### 基础信息字段

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| id | String | 数据记录ID，等同于id，用于系统内部关联 |
| store_id | String | 店铺唯一标识ID，可用于查询店铺详情 |
| root_path | String | 店铺的根域名路径。去除了协议头（https://）和www前缀的纯域名，例如："shop.example.com"。此字段用于标识店铺的主域名 |
| shop_type | String | 店铺使用的电商建站系统类型。常见值包括：shopify（Shopify平台）、woocommerce（WooCommerce）、magento（Magento）、shoplazza（店匠）、shopline（店线通）、shopyy（ShopYY）、squarespace、wix、prestashop、bigcommerce、ecwid、cafe24、wordpress等。此字段有助于了解竞争对手的技术栈 |
| plat_type | Array[String] | 该店铺投放广告的平台列表。可能的值：["tiktok", "facebook", "facebook-library"]。其中"tiktok"表示TikTok平台，"facebook"表示Facebook广告平台，"facebook-library"表示Meta广告资料库。此字段帮助您了解竞争对手的广告投放渠道 |
| icon | String | 店铺的头像/Logo图片完整URL地址。图片托管在CDN上，格式为："https://fb-cdn.pipispy.com/images/xxxxx.png"。如果店铺未设置头像，则返回默认图标或空字符串 |
| is_collection | Boolean | 当前API调用用户是否已收藏该竞争店铺。true表示已收藏，false表示未收藏。此字段用于前端展示收藏状态 |
| popular_person_count | Long | 关注该店铺的用户总数。表示有多少用户将该店铺添加到了关注列表，可作为店铺受欢迎程度的参考指标 |

#### 综合平台数据字段（all_前缀）

以下字段统计了该店铺在所有广告平台（TikTok + Facebook + Meta广告资料库）的汇总数据：

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| all_data_count | Long | 所有平台的广告总数。统计该店铺在TikTok、Facebook和Meta广告资料库中发布的所有广告素材总数量 |
| all_play_count | Long | 所有平台的广告总播放/曝光次数。对于视频广告表示播放次数，对于图片广告表示展示次数。此数值越大说明广告覆盖面越广 |
| all_digg_count | Long | 所有平台的广告总点赞数。仅统计支持点赞功能的平台（如TikTok）的点赞数，可反映广告的用户互动程度 |
| all_put_days | Long | 所有平台的广告投放总天数。从该店铺首次投放广告到最后一次投放广告的累计天数，表示店铺的广告投放持续时间 |
| all_found_time | Long | 所有平台中最早发现的广告投放时间。Unix时间戳格式（秒级），表示系统记录到该店铺第一条广告的时间。可用于判断店铺进入市场的时间 |
| all_latest_found_time | Long | 所有平台中最近发现的广告投放时间。Unix时间戳格式（秒级），表示系统记录到该店铺最新一条广告的时间。可用于判断店铺是否仍在活跃投放广告 |
| all_min_cpm | Double | 所有平台的最低CPM（千次展示成本）预估值，单位：美元（USD）。CPM是衡量广告成本效益的重要指标，此值为系统基于广告数据预估的最低成本 |
| all_max_cpm | Double | 所有平台的最高CPM（千次展示成本）预估值，单位：美元（USD）。与all_min_cpm配合使用，可了解该店铺广告投放的成本区间 |
| all_min_cpa | Long | 所有平台的最低预估订单转化数。基于广告曝光数据和行业转化率模型预估的最少订单数量，仅供参考 |
| all_max_cpa | Long | 所有平台的最高预估订单转化数。基于广告曝光数据和行业转化率模型预估的最多订单数量，仅供参考 |
| all_page_count | Long | 所有平台的广告主账号总数。统计为该店铺投放广告的不同广告主账号（Page/Account）数量。一个店铺可能使用多个账号投放广告 |
| all_store_ad_state | Integer | 店铺在所有平台的综合广告投放状态。取值：-1表示已停止投放（最近3天无新广告），0表示已下架，1表示活跃投放（最近3天有新广告）。此字段帮助判断竞争对手当前是否活跃 |

#### TikTok平台数据字段（tiktok_前缀）

以下字段仅统计该店铺在TikTok平台的广告数据：

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| tiktok_data_count | Long | TikTok平台的广告总数。仅统计在TikTok平台发布的广告素材数量 |
| tiktok_play_count | Long | TikTok平台的广告总播放次数。仅统计TikTok平台广告的视频播放次数或图片展示次数 |
| tiktok_page_count | Long | TikTok平台的广告主账号数。统计在TikTok平台为该店铺投放广告的不同账号数量 |
| tiktok_min_cpm | Double | TikTok平台的最低CPM预估值，单位：美元（USD） |
| tiktok_max_cpm | Double | TikTok平台的最高CPM预估值，单位：美元（USD） |
| tiktok_min_cpa | Long | TikTok平台的最低预估订单转化数 |
| tiktok_max_cpa | Long | TikTok平台的最高预估订单转化数 |
| tiktok_put_days | Long | TikTok平台的广告投放天数。从首次投放到最后一次投放的累计天数 |
| tiktok_found_time | Long | TikTok平台首次发现广告的时间，Unix时间戳（秒） |
| tiktok_latest_found_time | Long | TikTok平台最近发现广告的时间，Unix时间戳（秒） |
| tiktok_store_ad_state | Integer | TikTok平台广告投放状态。-1=已停止，0=已下架，1=活跃 |

#### Facebook平台数据字段（facebook_前缀）

以下字段仅统计该店铺在Facebook广告平台的数据：

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| facebook_data_count | Long | Facebook平台的广告总数。仅统计在Facebook广告平台发布的广告素材数量 |
| facebook_play_count | Long | Facebook平台的广告总曝光/展示次数 |
| facebook_page_count | Long | Facebook平台的广告主账号数。统计在Facebook平台为该店铺投放广告的不同Page账号数量 |
| facebook_min_cpm | Double | Facebook平台的最低CPM预估值，单位：美元（USD） |
| facebook_max_cpm | Double | Facebook平台的最高CPM预估值，单位：美元（USD） |
| facebook_min_cpa | Long | Facebook平台的最低预估订单转化数 |
| facebook_max_cpa | Long | Facebook平台的最高预估订单转化数 |
| facebook_put_days | Long | Facebook平台的广告投放天数 |
| facebook_found_time | Long | Facebook平台首次发现广告的时间，Unix时间戳（秒） |
| facebook_latest_found_time | Long | Facebook平台最近发现广告的时间，Unix时间戳（秒） |
| facebook_store_ad_state | Integer | Facebook平台广告投放状态。-1=已停止，0=已下架，1=活跃 |

#### Meta广告资料库数据字段（facebook_library_前缀）

以下字段仅统计该店铺在Meta广告资料库（Facebook Ad Library）的公开数据：

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| facebook_library_data_count | Long | Meta广告资料库中的广告总数。统计在Meta广告资料库公开展示的广告素材总数 |
| facebook_library_play_count | Long | Meta广告资料库的广告总曝光次数 |
| facebook_library_reach | Long | Meta广告资料库的广告覆盖人数（Reach）。表示广告至少展示一次的独立用户数量，数据来源于Meta官方公开数据，是衡量广告触达范围的重要指标 |
| facebook_library_page_count | Long | Meta广告资料库中的广告主账号数 |
| facebook_library_adset_count | Long | Meta广告资料库中的广告组（Ad Set）总数。一个广告组包含多个广告素材，共享相同的受众定位和预算设置 |
| facebook_library_adset_active_count | Long | Meta广告资料库中正在投放的活跃广告组数量。表示当前正在运行的广告组数 |
| facebook_library_ad_active_count | Long | Meta广告资料库中正在投放的活跃广告数量。表示当前正在展示给用户的广告素材数 |
| facebook_library_ad_inactive_count | Long | Meta广告资料库中已暂停投放的广告数量。表示暂时停止投放但未删除的广告素材数 |
| facebook_library_ad_offline_count | Long | Meta广告资料库中已下线/删除的广告数量。表示已完全停止投放并从系统中移除的广告数 |
| facebook_library_min_cpm | Double | Meta广告资料库的最低CPM预估值，单位：美元（USD） |
| facebook_library_max_cpm | Double | Meta广告资料库的最高CPM预估值，单位：美元（USD） |
| facebook_library_min_cpa | Long | Meta广告资料库的最低预估订单转化数 |
| facebook_library_max_cpa | Long | Meta广告资料库的最高预估订单转化数 |
| facebook_library_put_days | Long | Meta广告资料库的广告投放天数 |
| facebook_library_found_time | Long | Meta广告资料库首次发现广告的时间，Unix时间戳（秒） |
| facebook_library_latest_found_time | Long | Meta广告资料库最近发现广告的时间，Unix时间戳（秒） |
| facebook_library_store_ad_state | Integer | Meta广告资料库广告投放状态。-1=已停止，0=已下架，1=活跃 |
| facebook_library_ad_platform | Array[String] | Meta广告资料库显示的广告投放平台列表。可能的值包括：["FACEBOOK", "INSTAGRAM", "AUDIENCE_NETWORK", "MESSENGER", "THREADS"]。表示该店铺的广告在Meta生态系统中哪些平台上展示 |

#### 其他分类字段

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| is_ai | Boolean | 是否为AI相关产品/服务店铺。true表示该店铺主要销售或推广AI相关的产品或服务，false表示非AI类店铺。此字段由系统AI算法自动识别分类 |
| is_drama | Boolean | 是否为短剧类内容店铺。true表示该店铺主要推广短剧、剧集等视频内容，false表示非短剧类店铺。此字段由系统AI算法自动识别分类 |
| app_type2 | String | 店铺/产品类型分类。可能的值："web"（网站类电商）、"game"（游戏类）、"app"（移动应用类）。帮助您快速了解竞争对手的业务类型 |
| ai_category | Array[Object] | AI自动识别的产品分类标签数组。每个对象包含分类信息（如类目名称、分类ID等），由AI图像识别和NLP算法自动标注，帮助了解竞争对手的产品定位 |
| region | Array[String] | 店铺广告投放的目标国家/地区列表。使用ISO 3166-1 alpha-2标准的国家代码（2位大写字母），如["US", "CA", "GB"]。表示该店铺广告定向投放的地理位置 |

#### 广告素材展示字段

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| good_source | Array[Object] | 店铺最新发布的广告素材列表（最多返回3条）。展示该竞争店铺最近的广告创意，帮助您了解对手的营销策略。详细字段说明见下方"广告素材信息对象" |

#### 网站信息字段

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| website_info | Object | 店铺网站的详细信息对象。包含网站流量、用户行为等数据，帮助评估竞争对手的网站运营情况。详细字段说明见下方"网站信息对象" |

### 广告素材信息对象 (good_source[])

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| app_image | String | 广告应用图标/产品图片URL。完整的CDN图片地址，格式为："https://fb-cdn.pipispy.com/images/xxxxx.png"。通常为广告中展示的产品主图或App图标 |
| count | Long | 该广告素材的播放/展示次数。表示这条广告被用户观看或看到的总次数，可用于评估广告的传播力度 |
| cover | String | 广告封面图片URL。完整的CDN图片地址，格式为："https://fb-cdn.pipispy.com/images/xxxxx.png"。对于视频广告为视频封面图，对于图片广告为主图 |
| video_id | String | 关联的视频素材ID。如果该广告包含视频内容，此字段为视频的唯一标识符，可用于查询完整视频信息。如果是纯图片广告则可能为空 |
| platform | Integer | 广告素材所属平台。取值：1=TikTok平台，2=Facebook平台，3=Meta广告资料库（facebook-library）。表示该广告素材来源于哪个广告平台 |

### 网站信息对象 (website_info)

| 字段名 | 类型 | 描述 |
| ------ | ---- | ---- |
| website_id | String | 网站唯一标识ID。由域名（去除www前缀）的MD5哈希值生成，用于系统内部唯一标识一个网站 |
| website_icon | String | 网站的Favicon图标URL。完整的CDN图片地址，通常为网站的Logo或品牌标识 |
| website_url | String | 网站完整URL地址。包含协议头的完整网站地址，如："https://www.example.com" |
| website_title | String | 网站标题。从网站HTML的`<title>`标签中提取的网站名称或标题 |
| website_monthly_visits | Long | 网站月访问量。表示该网站每月的访问次数（Visits），数据来源于第三方流量分析工具（如SimilarWeb）。此指标反映网站的流量规模，数值越大说明网站访问量越高 |
| website_bounce_rate | Double | 网站跳出率。取值范围：0.0-1.0（如0.45表示45%）。跳出率是指用户访问网站后没有进行任何交互就离开的比例。跳出率越低说明网站内容质量越好、用户粘性越强 |
| website_visit_seconds | Long | 网站平均访问时长，单位：秒。表示用户在网站上的平均停留时间。时长越长说明用户对网站内容越感兴趣、用户体验越好 |
| website_languages | Array[String] | 网站支持的语言列表。使用ISO 639-1标准的语言代码（2位小写字母），如["en", "de", "fr"]。帮助了解竞争对手的目标市场语言 |
| website_countries | Array[String] | 网站主要访问来源国家列表。使用ISO 3166-1 alpha-2标准的国家代码（2位大写字母），如["US", "GB", "CA"]。表示网站流量主要来自哪些国家 |
| website_currencies | Array[String] | 网站支持的货币列表。使用ISO 4217标准的货币代码（3位大写字母），如["USD", "EUR", "GBP"]。帮助了解竞争对手的目标市场和定价策略 |
| website_what_is_summary | String | 网站描述摘要。简要描述网站的主要业务、产品或服务内容，通常从网站的Meta Description或About页面提取 |

### 分页信息对象 (page)

| 字段名       | 类型    | 描述         |
| ------------ | ------- | ------------ |
| total_count  | Long    | 符合条件的竞争店铺总记录数 |
| page_count   | Long    | 总页数。根据total_count和page_size计算得出：page_count = ⌈total_count / page_size⌉ |
| current_page | Long    | 当前页码。与请求参数中的current_page一致 |
| page_size    | Long    | 每页记录数。与请求参数中的page_size一致 |
| is_next      | Boolean | 是否有下一页。true表示还有更多数据可以查询，false表示已是最后一页 |

## 响应示例

```json
{
    "code": 200,
    "message": "success",
    "data": {
        "data": [
            {
                "id": "690b25aabf0efeab51093e0c",
                "icon": "https://cdn-video.pipiads.com/avatar_d1046d3f1fac466bdba8.jpg",
                "store_id": "2e93e5996be3a",
                "root_path": "femin.lol",
                "shop_type": "shopify",
                "plat_type": [
                    "tiktok"
                ],
                "good_source": [
                    {
                        "cover": "https://cdn-video.pipiads.com/cover_d1046d3f1fac466bdba8.jpg",
                        "app_image": "https://cdn-video.pipiads.com/avatar_d1046d3f1fac466bdba8.jpg",
                        "count": 94365,
                        "video_id": "d1046d3f1fac466bdba8",
                        "platform": 0
                    },
                    {
                        "cover": "https://cdn-video.pipiads.com/cover_a497f88964b28c573128.jpg",
                        "app_image": "https://cdn-video.pipiads.com/avatar_a497f88964b28c573128.jpg",
                        "count": 1721,
                        "video_id": "a497f88964b28c573128",
                        "platform": 0
                    },
                    {
                        "cover": "https://cdn-video.pipiads.com/cover_9cb2ffef3392a20a7fde.jpg",
                        "app_image": "https://cdn-video.pipiads.com/avatar_9cb2ffef3392a20a7fde.jpg",
                        "count": 20618,
                        "video_id": "9cb2ffef3392a20a7fde",
                        "platform": 0
                    }
                ],
                "is_collection": false,
                "popular_person_count": 2,
                "website_info": {
                    "website_icon": "https://cdn-video.pipiads.com/avatar_d1046d3f1fac466bdba8.jpg",
                    "website_title": "femin.lol"
                },
                "all_data_count": 6,
                "tiktok_data_count": 6,
                "facebook_data_count": 0,
                "all_page_count": 2,
                "all_play_count": 148119,
                "tiktok_play_count": 148119,
                "facebook_play_count": 0,
                "all_min_cpm": 212.8,
                "all_max_cpm": 852.7,
                "tiktok_min_cpm": 212.87,
                "tiktok_max_cpm": 852.74,
                "facebook_min_cpm": 0.0,
                "facebook_max_cpm": 0.0,
                "all_min_cpa": 9,
                "all_max_cpa": 94,
                "tiktok_min_cpa": 9,
                "tiktok_max_cpa": 94,
                "facebook_min_cpa": 0,
                "facebook_max_cpa": 0,
                "all_put_days": 1,
                "tiktok_put_days": 1,
                "facebook_put_days": 0,
                "all_found_time": 1699580469,
                "tiktok_found_time": 1699580469,
                "facebook_found_time": 0,
                "all_latest_found_time": 1719449698,
                "tiktok_latest_found_time": 1719449698,
                "facebook_latest_found_time": 0,
                "tiktok_store_ad_state": -1,
                "facebook_store_ad_state": -1,
                "facebook_library_store_ad_state": -1,
                "all_store_ad_state": -1
            }
        ],
        "page": {
            "total_count": 257,
            "current_page": 50,
            "page_count": 257,
            "page_size": 1
        }
    },
    "version": "v1",
    "timestamp": null,
    "sign": null,
  "remaining_credits": 9980,
  "consumed_credits": 20,
    "success": true,
    "fail": false
}
```
## 错误码说明

| 错误码 | 描述           | 解决方案 |
| ------ | -------------- | -------- |
| 200    | 成功           | - |
| 400    | 请求参数错误   | 检查id或product_id格式是否正确（必须是有效的MongoDB ObjectId） |
| 401    | 未授权         | 检查API Key是否有效，是否已过期 |
| 403    | 权限不足       | 检查API Key是否有访问此接口的权限 |
| 404    | 店铺/产品不存在 | 检查id或product_id是否正确，该资源是否已从系统中删除 |
| 500    | 服务器内部错误 | 联系技术支持或稍后重试 |

