> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 通知

アプリ内通知、ユーザーごとの設定、管理者アナウンス。

## 初心者向けのウォークスルー

前提条件: 以下の 2 つの初心者向けガイドを読み、Web ローカルのセットアップを完了し、エディターでルートにあるこのモノリポジトリを開きます。 Web 設定は `apps/web/.env.local` に属します。 Next.js はルート `.env` を読み取りません。デフォルトのフェイク モードの `/dashboard` はデータベースなしのデモです。 `/auth` には移行されたデータベースが必要です。

簡単に説明すると、ワークスペースは 1 つのチームの個別のユーザー、データ、設定です。サーバーは信頼できるバックエンドです。プロバイダー キーがブラウザーや電話コードに含まれないようにします。移行は、テーブルを作成または更新する、バージョン管理されたデータベースの変更です。 AI モデルは答えを返すエンジンです。モデル カタログは、使用可能なモデル ID と価格のサーバーのリストです。プロバイダーは、AI、電子メール、請求サービスなどの外部サービスです。資格は、ワークスペースで機能を使用できるようにする付与です。 Webhook は、あるサービスが別のサービスの URL に送信するメッセージです。

1. テスト メンバーとしてサインインし、[設定] → [通知] を開いて、利用可能なチャネル設定を確認します。

2. 1 つのワークスペースで 2 人のテスト メンバーを使用し、`EMAIL_PROVIDER=local` で招待などのローカル テスト イベントをトリガーします。

3. 資格のあるメンバーと有効なチャンネルのみがアプリまたはローカルの送信トレイで通知を受信することを確認します。実際のメンバーにはテスト メッセージを送信しないでください。

カスタム コードの場合は、提供された `prompts/README.md` から始めて、最も近いプロンプト (アプリ画面の場合は `prompts/new-app-screen.md`、パブリック ページの場合は `prompts/new-landing-page.md`) をコピーします。サーバー、データベース、またはプロバイダーの作業については、コーディング エージェントにこのガイドのタスクを与え、`AGENTS.md`、`.ai/PROJECT_CONTEXT.md`、および一致する `.ai/` ミラーを読み取るように依頼します。ここで指定されている正確なソース ファイルを調べてください。ファイルをリストし、編集前にチェックします。ワークスペースの所有権とサーバーのみの秘密を保持します。そして差分を見せてください。必要な動作、入力フィールドと出力フィールド、許可されるロール、予想される成功とエラー、テスト アカウント、プロバイダー、またはデバイスを指定します。サンプル値を使用します。絶対に本当の秘密を貼り付けないでください。

[始める前に](https://supastack.dev/ja/docs/web/before-you-start.md)

【端末の基本】(/docs/web/terminal-basics)

[Webローカル設定](https://supastack.dev/ja/docs/web/ship-in-5-minutes.md)

[エージェント プロンプトとプロジェクト メモリ](https://supastack.dev/ja/docs/web/agents.md)


## 製品イベント パイプラインを使用する

`notification-events.ts` は、請求、予算、招待、メンバーシップ、接続されたアカウントのイベントを、ローカライズされたコピーとメンバーごとの配信計画にマッピングします。 API とアプリ クライアントは、サインインしたワークスペースの通知を読み取ります。設定は対象となるチャンネルを制御します。

一部のイベントは意図的にアプリ内に残ります。たとえば、接続されたアカウントの更新が失敗した場合、トークンの詳細が公開されたり、迷惑メールがトリガーされたりしてはなりません。


## 受信者の設定を尊重する

すべてのメンバーに個別にメッセージを送信するのではなく、既存の配信プランナー、デフォルト設定、アクター除外オプションを使用します。トランザクション電子メールは引き続き構成されたプロバイダーを使用し、独自の配信結果を記録します。


## 受信者と状態を確認する

無効な設定、除外されたアクター、削除されたメンバー、未読/既読の動作、および別のワークスペースをテストします。動的な更新にアクセスできるようにし、ローカライズされたメッセージを確認します。

【メール便】(/docs/modules/email)

[通知辞書](https://supastack.dev/ja/docs/web/i18n.md)


## インストールとセットアップ

通知サービス(notification-service.ts)はワークスペーススコープのアプリ内レコードを保存します。GET /api/notifications がサインイン中のメンバー向けに一覧し、mark-read ルートが状態を更新します。ユーザーごとの設定フラグがプロダクト更新やセキュリティ警告などのカテゴリを制御します。

メンバーは /settings/notifications で設定を管理します。プラットフォームアナウンスは announcement-actions で作成され、同じパイプラインで配信されます。

```
GET   /api/notifications
PATCH /api/notifications   (mark-read)

Emitted on mutations, e.g.:
  member.left
  member.role_changed
```


## 実装ワークフロー

通知は成功したミューテーションの後に発行します — 書き込みがコミットされる前ではなく。ペイロードは構造化(タイプ、ワークスペース、参照)を保ち、UI が散文をパースせずに描画・ルーティングできるようにします。

無効化可能なカテゴリを配信する前に設定フラグを確認し、セキュリティ関連の通知(新しいセッション、キー変更)は必須のままにしてください。


## 検証とトラブルシューティング

無効な設定が配信を抑制すること、mark-read がセッション間で持続すること、別のワークスペースがレコードを一覧できないこと、アナウンスが対象メンバーに届くことを確認します。量が増えても通知のファンアウトはリクエストのクリティカルパスから外してください。


## 次へ

[アカウントとセキュリティ](https://supastack.dev/ja/docs/web/account.md)
