# Monitor Task Ad Products List

## API Information

- **API Name**: Monitor Task Ad Products List
- **Request Method**: POST
- **API URL**: `open-api/v1/monitor/data`
- **Endpoint Path**: `/v3/api/ad-monitor-task/product-list`
- **Description**:
    - Ad Products - All Products List
    - Usage Note: `Free`

**Request Headers:**

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

## Request Parameters

### Request Structure

| Parameter | Type   | Description                       | Example                                | Required | Default |
| --------- | ------ | --------------------------------- | -------------------------------------- | -------- | ------- |
| key       | string | User's external API request key   | "your_api_key_here"                   | Yes      |         |
| uri       | string | Endpoint path                     | "/v3/api/ad-monitor-task/product-list" | Yes      |         |
| params    | object | Request parameters object         | See parameter list                     | Yes      |         |

### Request Body Parameters (params object)

| Parameter               | Type     | Required | Description                                                                                     |
|------------------------|----------|----------|--------------------------------------------------------------------------------------------------|
| task_id                | String   | true     | Task ID                                                                                          |
| keyword                | String   | false    | Product name keyword                                                                             |
| first_ad_date_start    | integer  | false    | First ad start date, timestamp, unit: seconds                                                    |
| first_ad_date_end      | integer  | false    | First ad end date, timestamp, unit: seconds                                                      |
| min_active_ad_count    | integer  | false    | Minimum active ad count                                                                         |
| max_active_ad_count    | integer  | false    | Maximum active ad count                                                                          |
| min_ad_count           | integer  | false    | Minimum ad count                                                                                 |
| max_ad_count           | integer  | false    | Maximum ad count                                                                                 |
| min_ad_days            | integer  | false    | Minimum delivery days                                                                             |
| max_ad_days            | integer  | false    | Maximum delivery days                                                                             |
| min_price              | number   | false    | Minimum price                                                                                     |
| max_price              | number   | false    | Maximum price                                                                                     |
| min_material_count     | integer  | false    | Minimum store materials count                                                                     |
| max_material_count     | integer  | false    | Maximum store materials count                                                                     |
| recent_ad_date_start   | integer  | false    | Recent ad start date, timestamp, unit: seconds                                                  |
| recent_ad_date_end     | integer  | false    | Recent ad end date, timestamp, unit: seconds                                                     |
| order_by               | string   | false    | Sortable fields: <br/>active_ad_count(active ad count)<br/>ad_count(ad count)<br/>ad_days(delivery days)<br/>recent_ad_date(recent ad start date)<br/>first_ad_date(first ad date)<br/>price(price)<br/>material_count(store materials count) |
| direction              | string   | false    | Sort order desc, asc                                                                             |
| page                   | integer  | false    | Page number                                                                                       |
| per_page               | integer  | false    | Page size                                                                                         |

### Request Example

```bash
curl -X POST "https://www.pipispy.com/open-api/v1/monitor/data" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "key": "your_api_key_here",
    "uri": "/v3/api/ad-monitor-task/product-list",
    "params": {
        "order_by": "ad_count",
        "direction": "desc",
        "min_active_ad_count": 10,
        "max_active_ad_count": 1000,
        "max_ad_count": 1000,
        "min_ad_days": 5,
        "max_ad_days": 20,
        "min_price": 20,
        "max_price": 100,
        "per_page": 10,
        "page": 1,
        "first_ad_date_start": 1745798400,
        "first_ad_date_end": 1761350399,
        "recent_ad_date_start": 1753574400,
        "recent_ad_date_end": 1761350399,
        "task_id": "68f98898850c5345a4c87e66"
    }
  }'
```

## Response Parameters

### Response Structure

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

### Response Field Description

| Field Name | Type    | Description                     |
| ---------- | ------- | ------------------------------- |
| code       | Integer | Response status code, 200 means success |
| message    | String  | Response message                |
| data       | Object  | Response data                   |
| version    | String  | API version                     |
| timestamp  | String  | Response timestamp              |
| sign       | String  | Response signature              |
| remaining_credits | Long    | Current remaining available credits after this request |
| consumed_credits  | Long    | Credits consumed by this request                       |
| success    | Boolean | Request success status          |
| fail       | Boolean | Request failure status          |

### Response Data Information Fields

| Field Name                | Type              | Description                                   |
|---------------------------|-------------------|-----------------------------------------------|
| per_page                  | integer           | Items per page                                |
| total                     | integer           | Total search results                          |
| last_page                 | integer           | Last page                                     |
| current_page              | integer           | Current page                                  |
| data                      | array [object]    | Data                                          |
| data[].product_id         | string            | Product ID                                    |
| data[].product_url        | string            | Product URL                                   |
| data[].product_name       | string            | Product name                                  |
| data[].product_image      | string            | Product image                                 |
| data[].active_ad_count    | integer           | Active ad count                               |
| data[].ad_count           | integer           | Ad count                                      |
| data[].ad_days            | integer           | Delivery days                                 |
| data[].recent_ad_date     | integer           | Recent ad date (timestamp in seconds)        |
| data[].first_ad_date      | integer           | First ad date (timestamp in seconds)         |
| data[].price              | number            | Price (USD)                                   |

## Response Example

```json
{
  "code": 200,
  "message": "success",
  "data": {
    "per_page": 10,
    "total": 1,
    "data": [
      {
        "product_url": "https://atoleajewelry.com/collections/waterproof-jewelry/products/initial-birthstone-charm-necklace",
        "product_image": "https://fb-cdn.pipiads.com/images/pimg_e20d63ffa1cc4f3512f02.png",
        "price": 80.0,
        "product_id": "016ffe77783899d006894f28ab736904",
        "ad_count": 103,
        "recent_ad_date": 1754722800,
        "first_ad_date": 1753340400,
        "ad_days": 17,
        "product_name": "Initial & Birthstone Charm Necklace",
        "active_ad_count": 103
      }
    ],
    "last_page": 1,
    "current_page": 1
  },
  "version": "v1",
  "timestamp": null,
  "sign": null,
  "remaining_credits": 9980,
  "consumed_credits": 0,
  "success": true,
  "fail": false
}
```

## Error Codes

| Error Code | Description           |
| ---------- | --------------------- |
| 200        | Success               |
| 400        | Invalid request parameters |
| 500        | Internal server error |
