プッシュ通知デバイスを登録
POST
/push/devicesFCM の登録トークンを保存し、チャットの新着メッセージをプッシュ通知で受け取れるようにします。token をキーにした冪等な登録で、同じ token を再送しても重複しません。端末の譲渡・アカウント切り替えで既存 token が別ユーザーに紐づいていた場合は、所有者が認証中のユーザーに付け替えられます。無効化されていたトークンは再び有効になります。
| 認証 | 要ログイン |
|---|
リクエストボディ
tokenstring必須FCM の登録トークン。
platformstring必須IOS / ANDROID / WEB のいずれか。
localestring通知本文のロケール(ja / en など)。未指定時はユーザーの言語設定にフォールバックします。
補足
デバイスは登録したアプリ(OAuth クライアント)ごとに分離されます。他のアプリが登録したデバイスは一覧にも表示されず、削除もできません。
連携アプリの認可を解除すると、そのアプリが登録したデバイスも削除され、以後プッシュ通知は届きません。
トークンが無効になったことを FCM が返した場合、そのデバイスはサーバー側で自動的に送信対象から外れます。
レスポンス
| フィールド | 型 | 説明 |
|---|---|---|
id | string | デバイス ID。解除時に使用します。 |
tokenMasked | string | 登録トークンの末尾のみ。トークン全体は返却されません。 |
platform | string | IOS / ANDROID / WEB。 |
clientId | string | null | 登録元の OAuth クライアント ID。 |
locale | string | null | 通知本文のロケール。 |
lastUsedAt | string | null | 最後に送信に成功した日時(ISO 8601)。 |
createdAt | string | 登録日時(ISO 8601)。 |
updatedAt | string | 更新日時(ISO 8601)。 |
リクエスト
curl https://api.4s.link/push/devices \-X POST \-H "Authorization: Bearer 4s_at_..." \-H "Content-Type: application/json" \-d '{"token": "fcm-registration-token-...","platform": "IOS","locale": "ja"}'
レスポンス例
{"id": "b7c1a2d3-...","tokenMasked": "...9fA2xQ","platform": "IOS","clientId": "a1b2c3d4-...","locale": "ja","lastUsedAt": null,"createdAt": "2026-08-18T09:00:00.000Z","updatedAt": "2026-08-18T09:00:00.000Z"}