SaaS
Documentation

Getting Started

  • Introduction
  • Quick Start

Core Features

  • Device Management
  • Scene Configuration
  • AI Analysis
  • LLM / VLM
  • Alert System

API Reference

  • API Overview
  • API Keys
  • Devices
  • Scenes
  • Alerts
  • Analysis Control
  • Data Query
  • LLM / VLM API
  • Billing Dashboard
  • Usage API
  • Admin Quota
  • Webhook
  • SSE Streaming

References

  • Metric Paths
  • Error Codes
  • Changelog

告警 API

告警規則用於在分析指標超過閾值時觸發通知。

端點概覽

方法路徑說明
GET/api/v1/alerts/metrics/queue_analysis取得排隊分析可用指標
GET/api/v1/alerts/metrics/queue_analysis/grouped取得分組後的可用指標
POST/api/v1/alerts/rules建立告警規則
GET/api/v1/alerts/rules查詢規則列表
GET/api/v1/alerts/rules/{id}取得單一規則
PATCH/api/v1/alerts/rules/{id}更新規則
DELETE/api/v1/alerts/rules/{id}刪除規則
GET/api/v1/analysis/alerts查詢告警觸發記錄
GET/api/v1/analysis/alerts/stats取得告警統計
GET/api/v1/analysis/alerts/{id}取得單一告警詳情
DELETE/api/v1/analysis/alerts/{id}刪除單一告警記錄(軟刪除)

使用場景

  • 閾值告警:排隊人數超標、等待時間過長
  • 運營監控:服務效率下降、放棄率升高

取得可用指標

GET /api/v1/alerts/metrics/queue_analysis

回傳所有可用於告警條件的指標路徑。詳見指標路徑列表。

GET /api/v1/alerts/metrics/queue_analysis/grouped

回傳按分類分組後的指標(current / rolling / total)。


建立告警規則

POST /api/v1/alerts/rules

請求參數

參數型別必填範圍/限制說明
nameString✅1-100 字元規則名稱
descriptionString❌最大 500 字元規則描述
sceneIdString (UUID)✅-關聯的場景 ID
severityString (enum)✅warning / critical嚴重程度
conditionsObject[]✅-觸發條件陣列
logicOperatorString (enum)❌AND / OR條件組合邏輯,預設 OR
cooldownMinutesNumber❌1-1440冷卻時間(分鐘),預設 5

Conditions 結構

欄位型別必填說明
metricPathString✅指標路徑(從 /metrics 取得)
operatorString (enum)✅運算符
thresholdNumber✅閾值

運算符

值說明
GT大於 >
GTE大於等於 >=
LT小於 <
LTE小於等於 <=
EQ等於 ==
NEQ不等於 !=

請求範例(排隊人數過多警報)

{
  "name": "排隊人數過多警報",
  "description": "當等候人數超過 10 人時發出警報",
  "sceneId": "scene-uuid",
  "severity": "warning",
  "conditions": [
    {
      "metricPath": "current.inQueue",
      "operator": "GT",
      "threshold": 10
    }
  ],
  "cooldownMinutes": 5
}

請求範例(等待時間過長警報)

{
  "name": "等待時間過長警報",
  "sceneId": "scene-uuid",
  "severity": "critical",
  "conditions": [
    {
      "metricPath": "rolling5Min.completed.waitTimeAvgSeconds",
      "operator": "GT",
      "threshold": 300
    }
  ],
  "cooldownMinutes": 10
}

請求範例(放棄率過高警報)

{
  "name": "放棄率過高警報",
  "sceneId": "scene-uuid",
  "severity": "warning",
  "conditions": [
    {
      "metricPath": "rolling5Min.abandonRate",
      "operator": "GT",
      "threshold": 0.2
    }
  ],
  "cooldownMinutes": 15
}

更新告警規則

PATCH /api/v1/alerts/rules/{id}

所有建立時的欄位皆可更新,另可更新 status (enabled / disabled)。


刪除告警規則

DELETE /api/v1/alerts/rules/{id}

回應: 204 No Content

⚠️ 刪除為軟刪除(保留審計記錄),僅能刪除自己帳號下的告警規則。


查詢告警觸發記錄

GET /api/v1/analysis/alerts

Query 參數

參數型別必填說明
pageNumber❌頁碼(預設 1)
limitNumber❌每頁數量(預設 20)
sceneIdString (UUID)❌場景 ID 篩選
deviceIdString (UUID)❌設備 ID 篩選
ruleIdString (UUID)❌規則 ID 篩選
severityString (enum)❌warning / critical
metricPathString❌指標路徑篩選
startDateString (ISO 8601)❌開始時間
endDateString (ISO 8601)❌結束時間

響應範例

{
  "success": true,
  "statusCode": 200,
  "message": "Analysis alerts retrieved successfully",
  "data": [
    {
      "id": "alert-uuid",
      "severity": "critical",
      "triggeredAt": "2026-01-29T10:30:00Z",
      "metricPath": "current.inQueue",
      "operator": "GT",
      "threshold": 10,
      "actualValue": 15,
      "message": "Queue length exceeded threshold: 15 > 10",
      "snapshotUrls": [
        "https://storage.example.com/snapshots/alert-123-1.jpg"
      ],
      "ruleId": "rule-uuid",
      "sceneId": "scene-uuid",
      "deviceId": "device-uuid",
      "userId": "user-uuid",
      "computeNodeId": "node-uuid",
      "createdAt": "2026-01-29T10:30:01Z",
      "rule": { "id": "rule-uuid", "name": "排隊人數過多警報" },
      "scene": { "id": "scene-uuid", "name": "主入口排隊區" },
      "device": { "id": "device-uuid", "name": "入口攝影機" }
    }
  ],
  "meta": {
    "timestamp": "2026-01-29T12:00:00.000Z",
    "requestId": "req-uuid",
    "pagination": {
      "limit": 20,
      "currentPage": 1,
      "totalRecords": 150,
      "totalPages": 8,
      "nextPage": 2,
      "previousPage": null
    }
  }
}

取得告警統計

GET /api/v1/analysis/alerts/stats

參數型別必填說明
startDateString (ISO 8601)❌統計開始時間
endDateString (ISO 8601)❌統計結束時間

回傳 total、bySeverity、topScenes、topRules、hourlyDistribution。


刪除告警事件

DELETE /api/v1/analysis/alerts/{id}

  • 刪除方式:軟刪除
  • 回應:204 No Content
SaaS

AI-powered intelligent video analytics platform, empowering your surveillance system.

Product

  • Features
  • Pricing
  • Changelog

Resources

  • Documentation
  • API Reference
  • Examples

Company

  • About Us
  • Contact Us
  • Privacy Policy

© 2026 Luminys. All rights reserved.

Terms of ServicePrivacy Policy