# metering整合
## Service
根據上次討論,會有三個Service,分別為EAM、MOM與DPM。每個Service中又包含了三個料號,每個料號內含一個Service。
說明時先暫以Service-metric來當做其料號
| Service | pn |
| ------- | ------ |
| EAM | EAM-User |
| | EAM-Object |
| | EAM-Tag |
| MOM | MOM-User |
| | MOM-Object |
| | MOM-Tag |
| DPM | DPM-User |
| | DPM-Object |
| | DPM-Tag |
## 用量發送
### 格式
Time不帶的話即為當下,consumerId為唯一不可重覆的id
[POST]
PATH: /v2/{pn}/collection
範例:
pn為EAM-User,measure為User,consumerId(用戶)為"abc"和"def",用量分別為17與34,用Post發送至/v2/EAM-User/collection
```json=
{
"time": 1657100193000, //epoch ms格式,不帶為當下
"usages": [
{
"consumerId": "abc",
"measuredUsage": [
{
"measure": "User",
"quantity": 17
}
]
}, {
"consumerId": "def",
"measuredUsage": [
{
"measure": "User",
"quantity": 34
}
]
}
]
}
```
## 用量查詢
[GET]
PATH: /v2/{pn}/usages
granularity: 可為raw、hourly、daily與monthly。因為是要取得User的最後記錄,這裡帶monthly就好
consumerId: 指定查詢某些用,可以用","分隔來查詢多個,如: consumerId1,consumerId2
範例:
查詢pn為EAM-User所有的用量
GET /v2/EAM-User/usages。
|query parameters| value|
|---|---|
|granularity|monthly|
如果要指定某id,例如:指定abc,可以多帶consumerId為abc
```json=
{
"usages": [
{
"consumerId": "abc",
"data": [
{
"date": "2022-07-01 00:00:00 +0800 CST",
"dateEpoch": 1656604800000,
"usages": [
{
"metricName": "User",
"quantity": 17
}
]
}
]
},
{
"consumerId": "def",
"data": [
{
"date": "2022-07-01 00:00:00 +0800 CST",
"dateEpoch": 1656604800000,
"usages": [
{
"metricName": "User",
"quantity": 34
}
]
}
]
}
]
}
```
## 測試環境
Swagger
https://api-mg-eks002.labs.wise-paas.com/public/apidoc/index.html#
SSO:
http://api-sso-ensaas.labs.wise-paas.com
Client Token:
client_id: usage-00000000014
client_secret: ZGJiNTQyMjMtNTIyZC0xMWVhLTkyMDEtMDI1MDQxMDAwMDAx-usage