Sentinel API v1

從第一個 API 呼叫到正式環境

Booking-driven missions

Calendar API:用預約驅動任務

你的 booking system 將預約事件以簽署 JSON 推送到 Sentinel。當事件進入有效時段,對應空間的攝像頭會自動使用該事件指定的任務。

1. 建立空間對應

Camera config 的 spaceUuid 必須和事件的 space_uuid 完全相同。相同 spaceUuid 的多支攝像頭會一起切換。

2. 推送簽署事件

POST /api/enterprise/calendar/events
Content-Type: application/json
X-Sentinel-Timestamp: 1751990400
X-Sentinel-Signature: sha256=<HMAC-SHA256(secret, timestamp + "." + raw_body)>
{
  "events": [
    {
      "id": "booking-001",
      "space_uuid": "room-studio-a",
      "start": "2026-09-28T21:00:00+08:00",
      "end": "2026-09-28T22:00:00+08:00",
      "title": "Private booking",
      "kind": "one_to_one",
      "preset_id": "elder_fall_detect"
    }
  ]
}

設定 calendar API secret 後才會接受事件。簽章含 timestamp,超過五分鐘的請求會被拒絕,避免重送攻擊。

欄位與優先順序

Field用途
id穩定且唯一;重送同 ID 會更新事件。
space_uuid對應攝像頭空間。
start / end含時區的 ISO 時間;end 必須晚於 start。
prompt / preset_id該預約時段的任務;自訂 prompt 優先。
優先順序:event prompt → event preset_id → space 預設任務 → 攝像頭原本任務。重疊預約以開始時間較晚者為準。

3. 對帳與刪除

GET /api/enterprise/calendar/events?space_uuid=room-studio-a&active=1
DELETE /api/enterprise/calendar/events/booking-001