水晶球(数据分析)
构建时从公开 REST 接口定义的 `analytics` 标签生成:方法、路径、参数、请求体、响应与 curl。
分组概览
本页由公开 REST 接口定义在构建时生成:标签 analytics,共 7 个操作(全量 189 个)。鉴权、信封与分页约定见 REST API 总览.
| 方法 | 路径 | 摘要 |
|---|---|---|
GET | /v1/analytics/calls | Call search |
GET | /v1/analytics/calls/{channelName} | Call inspector |
GET | /v1/analytics/data-insight | Data insights by dimension |
GET | /v1/analytics/quality | Quality overview (rates + diagnosis) |
POST | /v1/analytics/quality | Ingest SDK quality samples |
GET | /v1/analytics/realtime | Real-time monitoring (last 30 min, 1-min buckets) |
GET | /v1/analytics/usage | Usage overview |
操作详情
GET /v1/analytics/calls
Call search
鉴权:项目凭证(customerId:customerSecret 的 Base64)
参数
| 名称 | 位置 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
from | query | string | format date-time | |
to | query | string | format date-time | |
channelName | query | string |
响应
| 状态码 | 说明 / schema |
|---|---|
200 | call sessions in the range, newest first — object{ from, to, granularity, total, calls } |
调用示例
curl -s -X GET "$NIMEET_API_BASE/v1/analytics/calls?from=%24FROM&to=%24TO&channelName=weekly-sync" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"GET /v1/analytics/calls/{channelName}
Call inspector
鉴权:项目凭证(customerId:customerSecret 的 Base64)
参数
| 名称 | 位置 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
channelName | path | 是 | string | 长度 0..128 |
from | query | string | format date-time | |
to | query | string | format date-time |
响应
| 状态码 | 说明 / schema |
|---|---|
200 | one call session with per-user metrics and the timeline — AnalyticsCallSession |
调用示例
curl -s -X GET "$NIMEET_API_BASE/v1/analytics/calls/weekly-sync?from=%24FROM&to=%24TO" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"GET /v1/analytics/data-insight
Data insights by dimension
鉴权:项目凭证(customerId:customerSecret 的 Base64)
参数
| 名称 | 位置 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
from | query | string | format date-time | |
to | query | string | format date-time | |
granularity | query | enum(minute | hour | day) | 默认 "hour" | |
metric | query | enum(videoFreezeRate | audioFreezeRate | networkDelayRate | loginSuccessRate | login5sSuccessRate) | ||
dimension | query | enum(region | networkType | osType | sdkVersion | deviceType | channelSize) |
响应
| 状态码 | 说明 / schema |
|---|---|
200 | one metric over time plus its breakdown by the requested dimension — object{ metric, dimension, series, breakdown } |
调用示例
curl -s -X GET "$NIMEET_API_BASE/v1/analytics/data-insight?from=%24FROM&to=%24TO&granularity=hour&metric=videoFreezeRate&dimension=region" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"GET /v1/analytics/quality
Quality overview (rates + diagnosis)
鉴权:项目凭证(customerId:customerSecret 的 Base64)
参数
| 名称 | 位置 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
from | query | string | format date-time | |
to | query | string | format date-time | |
granularity | query | enum(minute | hour | day) | 默认 "hour" | |
product | query | enum(native | web) | 默认 "native" |
响应
| 状态码 | 说明 / schema |
|---|---|
200 | quality buckets for the range plus the range totals — object{ from, to, granularity, product, buckets, totals } |
调用示例
curl -s -X GET "$NIMEET_API_BASE/v1/analytics/quality?from=%24FROM&to=%24TO&granularity=hour&product=native" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"POST /v1/analytics/quality
Ingest SDK quality samples
鉴权:项目凭证(customerId:customerSecret 的 Base64)
请求体
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
samples | array<object> | 是 | 最多 5000 项 |
{
"samples": [
{
"channelName": "weekly-sync",
"uid": 10001,
"bucketStart": "$BUCKET_START",
"videoFreezeMs": 0,
"videoDurationMs": 60000,
"audioFreezeMs": 0,
"audioDurationMs": 60000,
"networkDelayMs": 0,
"networkDelayDurationMs": 60000,
"joinAttempt": true,
"joinSuccess": true,
"joinDelayMs": 320,
"dimensions": {
"region": "cn-shanghai",
"networkType": "wifi",
"osType": "web",
"sdkVersion": "1.0.0"
}
}
]
}响应
| 状态码 | 说明 / schema |
|---|---|
202 | how many quality samples were accepted / rejected — object{ accepted, rejected } |
调用示例
curl -s -X POST "$NIMEET_API_BASE/v1/analytics/quality" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC" \
-H "Content-Type: application/json" \
-d '{"samples":[{"channelName":"weekly-sync","uid":10001,"bucketStart":"$BUCKET_START","videoFreezeMs":0,"videoDurationMs":60000,"audioFreezeMs":0,"audioDurationMs":60000,"networkDelayMs":0,"networkDelayDurationMs":60000,"joinAttempt":true,"joinSuccess":true,"joinDelayMs":320,"dimensions":{"region":"cn-shanghai","networkType":"wifi","osType":"web","sdkVersion":"1.0.0"}}]}'GET /v1/analytics/realtime
Real-time monitoring (last 30 min, 1-min buckets)
鉴权:项目凭证(customerId:customerSecret 的 Base64)
响应
| 状态码 | 说明 / schema |
|---|---|
200 | minute buckets for the realtime window plus the latest bucket and any active alarm — object{ windowMinutes, buckets, latest, alarm } |
调用示例
curl -s -X GET "$NIMEET_API_BASE/v1/analytics/realtime" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"GET /v1/analytics/usage
Usage overview
鉴权:项目凭证(customerId:customerSecret 的 Base64)
参数
| 名称 | 位置 | 必填 | 类型 | 说明 |
|---|---|---|---|---|
from | query | string | format date-time | |
to | query | string | format date-time | |
granularity | query | enum(minute | hour | day) | 默认 "hour" |
响应
| 状态码 | 说明 / schema |
|---|---|
200 | usage summary for the range plus a 7-day forecast — object |
调用示例
curl -s -X GET "$NIMEET_API_BASE/v1/analytics/usage?from=%24FROM&to=%24TO&granularity=hour" \
-H "Authorization: Basic $NIMEET_CUSTOMER_BASIC"本分组用到的 Schema
AnalyticsCallEvent — object{ ts, kind, uid, detail }
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
ts | string | 是 | format date-time |
kind | enum(join | leave | network | video-send | audio-send) | 是 | |
uid | integer | 是 | |
detail | string |
AnalyticsCallSession — object
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
projectId | string | 是 | |
channelName | string | 是 | |
startedAt | string | 是 | format date-time |
endedAt | string | null | 是 | format date-time |
peakUsers | integer | 是 | |
users | array<object> | 是 | |
events | array<object{ ts, kind, uid, detail }> | 是 |
AnalyticsCallUser — object
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
uid | integer | 是 | |
userId | string | null | 是 | |
role | enum(host | audience) | 是 | |
platform | integer | 是 | Agora platform code (0 iOS, 1 Android, 2 Windows, 5 Web, 6 macOS, 7 Linux, 8 Other) |
joinedAt | string | 是 | format date-time |
leftAt | string | null | 是 | format date-time |
durationSeconds | number | 是 | |
audioFreezeRate | number | 是 | |
videoFreezeRate | number | 是 | |
networkDelayRate | number | 是 |
AnalyticsDiagnosis — object{ video, audio, network }
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
video | enum(good | warn | bad) | 是 | |
audio | enum(good | warn | bad) | 是 | |
network | enum(good | warn | bad) | 是 |
AnalyticsQualityBucket — object
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
bucketStart | string | 是 | format date-time |
averageLoginTimeMs | number | 是 | |
audioFreezeRate | number | 是 | |
videoFreezeRate | number | 是 | |
networkDelayRate | number | 是 | |
inCallUsers | integer | 是 | |
inCallChannels | integer | 是 | |
joinAttempts | integer | 是 | |
joinSuccesses | integer | 是 | |
joinWithin5s | integer | 是 |
AnalyticsUsageBucket — object{ bucket, type, minutes, channels, users }
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
bucket | string | 是 | |
type | enum(audio | video | recording | streaming | transcoding) | 是 | |
minutes | number | 是 | |
channels | integer | 是 | |
users | integer | 是 |