DocsAPI 文件Webhooks
👤 全部

Webhooks

Webhook 端點 — 接收第三方平台的即時數據推送。

概述

NexRex 使用 webhook 接收第三方平台的即時數據推送。這些端點由外部服務呼叫,不需要使用者認證。

Garmin Webhook

POST /api/webhooks/garmin/push

接收 Garmin Connect 的即時活動推送。

當使用者在 Garmin 上完成活動、同步健康數據時,Garmin 伺服器會呼叫此端點。

認證

使用 API Key 認證(x-api-key header)。

Payload 類型

  • Activities:新活動完成
  • Dailies:每日健康摘要(步數、心率、HRV)
  • Sleep:睡眠數據

Strava Webhook

GET /activities/webhook/strava

Strava webhook 驗證端點(subscription verification)。

POST /activities/webhook/strava

接收 Strava 的活動更新通知。

認證

使用 Strava webhook subscription 驗證機制。

處理流程

1. Strava 發送活動更新通知

2. NexRex 收到通知後,使用 Strava API 拉取完整活動數據

3. 處理並儲存活動

💡 Strava webhook 只通知有新活動,完整數據需要另外用 Strava API 拉取。

Webhook 重試

如果 webhook 回傳非 2xx 狀態碼,平台方會自動重試:

  • Garmin:最多 3 次重試
  • Strava:最多 5 次重試