Webhook 指南
Rin 可以在以下情境向自訂 webhook 發送通知:
- 有新評論時
- 有新的友連申請時
你可以用它把 Rin 接到 Discord、Telegram Bot、Slack 閘道、飛書、釘釘、n8n、Zapier,或你自己的 HTTP 服務。
在哪裡設定
部署完成後,進入後台 設定 頁面,找到 Webhook 設定區。
你也可以透過 WEBHOOK_URL 環境變數提供一個初始預設值,但更推薦在設定頁中統一管理 webhook 行為。
支援的設定項目
Rin 目前支援以下 webhook 設定:
Webhook URL:目標位址。這裡也支援範本變數,特別適合 GET 情境拼接 query string。Webhook Method:GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONSWebhook Content-Type:例如application/json、text/plainWebhook Headers:用於自訂請求標頭的 JSON 範本Webhook Body Template:非 GET 請求使用的請求主體範本發送測試 Webhook:使用目前頁面上的值發送一次測試請求,尚未儲存的修改也會生效
範本變數
你可以在 webhook URL、請求標頭與請求主體範本中使用以下變數:
{{event}}{{message}}{{title}}{{url}}{{username}}{{content}}{{description}}
預設行為
如果你只設定了 Webhook URL,Rin 預設會使用:
- Method:
POST - Content-Type:
application/json - Headers:
{} - Body:
GET 範例
如果你的 webhook 服務希望透過 query 參數接收內容,可以直接在 URL 中寫入範本變數:
建議設定:
- Method:
GET - Body Template:保持預設或忽略
Rin 會對 GET 風格 URL 中的查詢參數值進行 URL 編碼。
JSON POST 範例
如果你的服務接收 JSON,可以這樣設定:
Webhook URL
Webhook Headers
Webhook Body Template
說明
GET與HEAD請求不會發送請求主體。- webhook URL 中的範本變數在替換前會先進行 URL 編碼。
Webhook Headers在範本算繪後必須仍然是合法 JSON。- 如果
Webhook Headers或Webhook Body Template本身是合法 JSON,Rin 會依 JSON 字串規則轉義插入值,避免破壞 JSON 結構。 - 如果請求主體範本不是合法 JSON,Rin 會維持原有的純文字替換行為。
- 在正式儲存前,建議先用「發送測試 Webhook」驗證一次。
常見問題
測試 webhook 時出現 JSON 錯誤
表示 Webhook Headers 在範本算繪後不是合法 JSON。請檢查逗號、引號與括號是否正確。
請求已送出,但伺服端拒絕
請著重檢查:
- HTTP Method
Content-Type- 認證請求標頭
- JSON 欄位名稱是否符合對方要求
- 對方介面是接收 GET query 參數,還是只接收 POST body
我只想收到一則簡單訊息
保持預設設定,只填寫 Webhook URL 即可。Rin 會發送: