---
sidebar_position: 11
title: "ダッシュボードと通知"
---

# ダッシュボードと通知

**顧客ダッシュボード**の一貫性の維持方法と**アプリ内通知**の生成方法を説明します。

## ダッシュボード「単一リードモデル」（`/api/me/status`）

ビジネスロジックをフロントエンドの外に保つため、ポータルは単一のBFFエンドポイントを使用します：

- **エンドポイント**：`GET /api/me/status`
- **目的**：顧客の現在の状態の一貫したスナップショットを返却（サマリー + タスク + ゲーティングシグナル）

レスポンスに含まれるもの：

- **`summary`**：統計、次回請求書、アクティビティ
- **`internetEligibility`**：インターネット利用資格ステータス/詳細
- **`residenceCardVerification`**：在留カード確認ステータス/詳細
- **`paymentMethods.totalCount`**：保存された支払い方法の数
- **`tasks[]`**：優先順位付きダッシュボードタスクのリスト

## アプリ内通知

アプリ内通知はPostgresに保存され、Notifications API経由で取得されます。

### 全通知タイプ

| タイプ | タイトル | 作成者 | トリガー |
| --- | --- | --- | --- |
| `ELIGIBILITY_ELIGIBLE` | 「インターネットサービスが利用可能」 | Platform Event | 利用資格 → Eligible |
| `ELIGIBILITY_INELIGIBLE` | 「インターネットサービスは利用不可」 | Platform Event | 利用資格 → Ineligible |
| `VERIFICATION_VERIFIED` | 「本人確認完了」 | Platform Event | 確認 → Verified |
| `VERIFICATION_REJECTED` | 「本人確認に対応が必要」 | Platform Event | 確認 → Rejected |
| `ORDER_APPROVED` | 「注文承認済み」 | フルフィルメントフロー | Salesforceで注文承認 |
| `ORDER_ACTIVATED` | 「サービス有効化」 | フルフィルメントフロー | WHMCSプロビジョニング完了 |
| `ORDER_FAILED` | 「注文に対応が必要」 | フルフィルメントフロー | フルフィルメントエラー |
| `CANCELLATION_SCHEDULED` | 「解約予定」 | 解約フロー | 顧客が解約リクエスト |
| `INVOICE_DUE` | 「請求書期限」 | ダッシュボードチェック | 7日以内に支払期限 |

### 重複排除

| タイプカテゴリ | 重複排除ウィンドウ | ロジック |
| --- | --- | --- |
| 大部分のタイプ | 1時間 | 同じ `type` + `sourceId` |
| 請求書期限等 | 24時間 | 同じ `type` + `sourceId` |
