プッシュ通知デバイスを登録

POST/push/devices

FCM の登録トークンを保存し、チャットの新着メッセージをプッシュ通知で受け取れるようにします。token をキーにした冪等な登録で、同じ token を再送しても重複しません。端末の譲渡・アカウント切り替えで既存 token が別ユーザーに紐づいていた場合は、所有者が認証中のユーザーに付け替えられます。無効化されていたトークンは再び有効になります。

認証要ログイン

リクエストボディ

tokenstring必須

FCM の登録トークン。

platformstring必須

IOS / ANDROID / WEB のいずれか。

localestring

通知本文のロケール(ja / en など)。未指定時はユーザーの言語設定にフォールバックします。

補足

デバイスは登録したアプリ(OAuth クライアント)ごとに分離されます。他のアプリが登録したデバイスは一覧にも表示されず、削除もできません。

連携アプリの認可を解除すると、そのアプリが登録したデバイスも削除され、以後プッシュ通知は届きません。

トークンが無効になったことを FCM が返した場合、そのデバイスはサーバー側で自動的に送信対象から外れます。

レスポンス

フィールド説明
idstringデバイス ID。解除時に使用します。
tokenMaskedstring登録トークンの末尾のみ。トークン全体は返却されません。
platformstringIOS / ANDROID / WEB。
clientIdstring | null登録元の OAuth クライアント ID。
localestring | null通知本文のロケール。
lastUsedAtstring | null最後に送信に成功した日時(ISO 8601)。
createdAtstring登録日時(ISO 8601)。
updatedAtstring更新日時(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"
}