訂戶(端點)
訂戶是你資料的一個去處:一個 URL、一種資料、一個可選的轉換腳本。所有 對外流量都在這裡設定——除此之外,Courier 沒有任何往外發資料的途徑。
欄位參考
| 欄位 | 含義 |
|---|---|
| 名稱 | 顯示名稱,用於台帳、通知與 context.endpointName |
| 類型 | 該訂戶接收的資料:workout(運動)/ sleep(睡眠)/ note(批註)/ weather(天氣)。一個訂戶 = 一種類型 |
| URL | 目的地。要求 HTTPS(本機除錯允許 http://localhost) |
| 方法 | GET / POST / PUT / PATCH / DELETE,預設 POST |
| 請求標頭 | 每次請求都帶的靜態、非機密標頭 |
| 驗證 | 金鑰的附著方式:Bearer(Authorization: Bearer <金鑰>)、自訂標頭(標頭名稱自取)、查詢參數(參數名稱自取)或無 |
| 金鑰 | 存在 iOS 鑰匙圈,不進資料庫、不進設定備份 |
| Body 參數 | 靜態鍵值對。POST 時併入 JSON body;其他方法攤平進查詢字串 |
| 含路線 | 僅運動:附上 GPS 軌跡(可能很大) |
| 含心率序列 | 僅運動:附上完整心率時間序列(大) |
| 自動發行 | 新資料到達即自動發給本訂戶。關掉則只收手動/批次發行 |
| 關聯天氣 | 僅睡眠訂戶:睡眠發行成功後,順帶把此刻天氣發給選定的天氣訂戶 |
| 天氣每日一次 | 開啟關聯天氣時:每天只有首次睡眠攜帶天氣(午睡不再重發) |
| 轉換腳本 | 可選 JavaScript,接管請求主體的產生——見JavaScript 轉換腳本 |
請求長什麼樣
不掛轉換腳本時,請求主體就是該類型的 canonical 紀錄——一份穩定、帶版本號 的 JSON 文件(結構見資料參考), 再併入你的 Body 參數。每次請求都帶 Idempotency-Key 標頭;確切語意見 發行與同步。
2xx 回應算成功;其餘狀態碼會進入重試/待處理流程,回應記錄在發行台帳裡。
測試訂戶
編輯頁的測試按鈕會拿一條近期樣本走完整條管線——包括你的轉換腳本、驗證 與請求標頭——並在 App 內顯示 HTTP 狀態與回應主體。調到伺服器滿意為止,再開 自動發行。
常見玩法
- 同一 URL,兩種資料:建兩個指向同一端點的訂戶,一個收運動、一個收 睡眠,伺服器端依 payload 分流。
- 天氣日誌:建一個
weather訂戶,再在睡眠訂戶裡關聯它——每天早晨的 發行,睡眠旁邊就躺著當天的天氣。 - 一發多收:同一種資料可以有任意多個訂戶;每次發行獨立記帳,一個端點 掛了不影響其他端點。