---
# System prepended metadata

title: 'Advantech : How to read storeVue UCam data'
tags: [API Document]

---

# Advantech : How to read storeVue UCam data

###### tags: `API Document`

## Concept
#### StoreVue 儲存計數資料的單元主要是依據 monitor
#### 因此搜尋資料時，需要修改為使用 monitor 單元表示
#### 主要是使用 **固定前贅(mo_d_)** 加上 **sensor_id**
#### 例如 mo_d_76:2a:aa:0e:9f:d9
- mo_d_ : 固定前贅
- sensor_id : 76:2a:aa:0e:9f:d9

## Step 1 : 取得 sensor_id
<h3 style="color:Red;"> 此為非必要整合項目，可以透過 API 先取得後直接寫在程式碼(腳本)中</h3>

#### API Url : `https://portals.storevue.com/api/store/info`
#### Method : `POST`
#### Request Parameters

| Property Name | Value Type |   Description   |
| ------------- | ---------- | --------------- |
| show_delete   | boolean    | 是否顯示刪除之設備 |
| store_id      | String     | 希望取得之門店資訊(包含sensor_id) |
| access_key    | String     | 驗證使用之存取令牌 |

#### Response Parameters

|         Property Name         | Value Type |          Description          |
|  ---------------------------  | ---------- | ----------------------------- |
| status                        | number     | API請求是否成功                 |
| store                         | Object     | 門店資訊                       |
| store.store_id                | String     | 門店ID                        |
| store.store_name              | String     | 門店名稱                       |
| store.acc_id                  | String     | 品牌代碼                       |
| store.sensors                 | Object[]| Sensor列表                    |
| store.sensors.sensor_id       | String     | <h4 style="color:Red;"> Sensor Id，此為最主要使用欄位</h4>|
| store.sensors.sensor_name     | String     | Sensor 名稱                   |
| store.sensors.device_id       | String     | 設備代碼，可忽略                 |
| store.sensors.device_type     | String     | 設備類型，People Counting則為 UCam，另外還有可能是 V-Pos|
| store.last_update_time        | String     | 最後更新時間                    |


#### Request Payload Sample:
``` json
{
    
    "show_delete" : false,
    "store_id" : "m6Rt0gd8sEYN",
    "access_key": "asdf123asdf123"
}
```
#### Response payload Sample (此Sample已刪除不必要資訊)
``` json
{
    "status": 1
    "store": {
        "store_id": "m6Rt0gd8sEYN",
        "store_name": "香腸博物館",
        "acc_id": "cjEfKcwsBP3F",
        "sensors": [
            {
                "sensor_id": "76:2a:aa:0e:9f:d9",
                "sensor_name": "BB_Tainan_S01",
                "device_id": "MHr@d8Ytk8NS",
                "device_type": "UCam",

            },
            {
                "sensor_id": "UHGdKasxzMAp",
                "sensor_name": "POS",
                "device_id": "Q1kkzngDGDg5",
                "device_type": "V-Pos",
            }
        ],
        "last_update_time": "2022-10-11 15:19:22"
    }
}
```

## Step ２ : 透過Monitor Id取得資料
<h3 style="color:Red;"> 此項目之 Response 與 UShop 有些微差異，須注意</h3>
#### API Url : `https://portals.storevue.com/api/data/retrieve`
#### Method : `POST`
#### Request Parameters

|  Property Name  | Value Type |   Description   |
| --------------- | ---------- | --------------- |
| date_range      | String[]   | 設定之時間範圍    |
| data_unit       | String     | 取得資料之時間單位 |
| preprocess_type | String     | 固定使用 people_counting |
| monitor_ids     | String[]   | 填入 mo_d_{{sensor_id}} |
| access_key      | String     | 驗證使用之存取令牌 |


#### Response Parameters
|         Property Name         | Value Type |          Description          |
|  ---------------------------  | ---------- | ----------------------------- |
| status                        | number     | API請求是否成功                 |
| retrieved                     | Object     | 取得之資料主要描述單元            |
| retrieved.monitors            | Object[]   | 門店ID                        |
| retrieved.monitors.id         | String     | Monitor ID                   |
| retrieved.monitors.name       | String     | Monitor名稱                    |
| retrieved.monitors.type       | String     | Monitor類型，ppc_store_entry為進店人流|
| retrieved.monitors.datas      | Object[]   | 資料主體                      |
| retrieved.monitors.datas.starttime   | number | 時間戳，單位到秒(共10碼)          |
| retrieved.monitors.datas.content     | Object | 資料數據          |
| retrieved.monitors.datas.content.pin | number | 進入人數          |
| retrieved.monitors.datas.content.pout| number | 離開人數          |


#### Request Payload Sample:
``` json
{
    "date_range": [
        "2022/12/28","2022/12/29"
    ],
    "data_unit":"hh",
    "preprocess_type":"people_counting",
    "monitor_ids": [
        "mo_d_76:2a:aa:0e:9f:d9"
    ],
    "access_key": "asdf123asdf123asdf"
}

```
#### Response payload Sample (此Sample已刪除不必要資訊)
``` json
{
    "status": 1,
    "retrieved": {
        "monitors": [
            {
                "id": "mo_d_76:2a:aa:0e:9f:d9",
                "name": "default",
                "type": "ppc_store_entry",
                "datas": [
                    {
                        "starttime": 1672221599,
                        "content": {
                            "pin": 24,
                            "pout": 24
                        }
                    },
                    {
                        "starttime": 1672225199,
                        "content": {
                            "pin": 29,
                            "pout": 27
                        }
                    },
                    // 以下省略
                ]
            }
        ]
    } 
}
```

