跳轉到主要內容

概述

即時有兩個接口:
  • REST API用於通道管理、訊息歷程記錄、交付統計、權限和保留設定。
  • Socket.IO用於即時訂閱、發佈、呈現和交付事件。
REST API不會串流訊息。使用Socket.IO連線或TypeScript SDK取得即時事件。

驗証

管理員REST端點需要專案管理員權杖或API金鑰。
您也可以使用以下方式傳遞API金鑰:
Socket.IO連線透過Socket.IOauth物件進行驗証:
伺服器/管理員用戶端可以傳遞API金鑰:

Socket.IO發佈/訂閱

在不使用InsForge SDK時安裝Socket.IO用戶端:

連線和訂閱

聆聽事件

發佈

通訊端必須成功訂閱通道,才能發佈至該通道。

取消訂閱

通訊端事件

事件方向說明
realtime:subscribe用戶端至伺服器訂閱通道。確認傳回成功/錯誤和呈現快照。
realtime:unsubscribe用戶端至伺服器離開通道。
realtime:publish用戶端至伺服器將使用者訊息插入即時管道。
Custom event name伺服器至用戶端已交付的訊息,在訊息eventName下發出。
presence:join伺服器至用戶端邏輯成員在通道中出現。
presence:leave伺服器至用戶端邏輯成員不再在通道中。
realtime:error伺服器至用戶端訂閱或發佈失敗。

通道模式

在用戶端訂閱之前建立通道定義。
模式相符
ordersorders
order:%order:123, order:456
chat:%:messageschat:room-1:messages
模式相符使用SQLLIKE,因此%是萬用字元。_在通道模式中不被接受,因為它也是SQL萬用字元。

通道

列出通道

回應:

建立通道

請求本文:
欄位類型必需說明
patternstring通道模式。
descriptionstring人類可讀的說明。
webhookUrlsstring[]每筆已交付訊息的Webhook URL。
enabledboolean預設為true。已停用的通道無法加入或交付至。

取得通道

更新通道

刪除通道

訊息歷程記錄會保留。已刪除的通道會將現有訊息channelId值設定為null

訊息

列出訊息

查詢參數:
參數類型說明
channelIduuid按通道ID篩選。
eventNamestring按事件名稱篩選。
limitinteger1至1000。預設為100。
offsetinteger預設為0。
回應:

訊息統計

查詢參數:
參數類型說明
channelIduuid按通道ID篩選統計資料。
sincedate-time僅包含在此時間戳之後建立的訊息。
retentionDays: null表示訊息會無限期保留。

權限

傳回使用者定義的RLS原則,用於:
  • realtime.channels上的訂閱檢查。
  • realtime.messages上的發佈檢查。

設定

取得即時設定

更新即時設定

使用null以無限期保留訊息。正整數表示保留訊息指定的天數。

Webhooks

當通道有webhookUrls時,透過該通道交付的每筆訊息都會發佈至各個URL。 請求本文是原始訊息承載。標頭識別交付:
標頭
X-InsForge-Event事件名稱
X-InsForge-Channel已解決的通道名稱
X-InsForge-Message-Id訊息UUID
交付嘗試反映在訊息歷程記錄中的whAudienceCountwhDeliveredCount中。