﻿# 05B-顧客詳細ページ

## 1. ドキュメントの位置づけ

本書は、顧客詳細ページの全体構造を定義し、`概要`タブと`権限` / `編集`タブのモジュール境界を含む。

本書では、顧客一覧ページと新規顧客ページは定義しない。それぞれ以下を参照すること：

- `05A-顧客一覧ページ.md`
- `05D-新規顧客.md`

`権限` / `編集`タブのタグ権限、コンテンツ権限の選択および保存ルールは`05C-顧客権限ページ.md`を参照。

同期識別、マッチング、連携、VISTA側の新規保存情報リスト、フィールドスナップショット、アクセスフィールドの書き戻し、権限判定とログ分類は、`04-統一顧客連携同期フロー.md`、`07-同期ログと追跡.md`、`09-C端顧客アクセス権限インターフェース.md`に集約される。

## 2. ページ目標

- 既存のHOME VISTA顧客詳細ページの情報構造を可能な限り踏襲し、既存業務とUIへの影響を最小限に抑える。
- `概要`タブでは、顧客共有リンク、基本情報、KASIKA連携ステータス、現在のタグ、アクセス統計を読み取り専用で表示する。
- `権限` / `編集`タブでは、B端ユーザーがVISTAローカルの顧客基本情報、タグ、コンテンツ権限を編集できる。
- KASIKA連携済み顧客については、連携の一貫性を保護するため、メールアドレスはこのページでは変更できない。
- `概要`タブにKASIKA連携モジュールを新設し、関連フィールドと関連ステータスを表示する。今回のリリースでは、KASIKA連携を手動で解除するボタンは提供しない。

## 3. ページ内容

### 3.1 ページタブ

顧客詳細ページには、次の2つのタブのみを保持する：

- `概要`：閲覧状態。共有リンク、基本情報、KASIKA連携モジュール、現在のタグ、アクセス統計を表示する。
- `権限` / `編集`：編集状態。基本情報の編集フォーム、タグ選択、コンテンツ権限の選択を表示する。

左側ナビゲーションやその他の導線から、2つ目の独立した「顧客権限編集ページ」を開くことはできない。顧客一覧で顧客名をクリックすると同じ顧客詳細ページに入り、タブの切り替えで閲覧と編集を行う。

### 3.2 概要タブ：顧客基本情報モジュール

顧客情報モジュールは、現在の本番HOME VISTA顧客詳細ページのUIとフィールド構造を維持し、KASIKA連携によってレイアウト、フィールド順序、表示スタイルを変更しない。概要タブは編集不可の閲覧状態とする。

表示フィールドは既存ページに準拠する：

- 顧客名。
- フリガナ。
- 顧客共有リンク。
- メールアドレス。
- 電話番号。
- 担当スタッフ。
- 登録日時。
- 初回アクセス日時。
- 最終アクセス日時。
- 流入経路。
- 共有有効期限。
- 共有メモ。

表示ルール：

1. 顧客共有リンクは、現在の本番環境の`URL + 共有`の表示方式を踏襲する。
2. 基本情報モジュールには編集用入力欄を配置せず、編集導線は`権限` / `編集`タブに入る。
3. KASIKA情報を表示するために、顧客基本情報モジュール内にKASIKAフィールドを追加することは禁止する。KASIKA情報は独立した連携モジュールに入る。

### 3.3 概要タブ：KASIKA連携モジュール

顧客基本情報モジュールの下部または隣接エリアにKASIKA連携モジュールを新設し、現在の顧客とKASIKAの関連ステータスを表示する。

表示内容：

- KASIKA `customer_id` / `cid`。
- KASIKA メール。
- KASIKA `customer_status`。
- 関連ステータス。
- 最終同期日時 / 最終同期結果。

表示および操作ルール：

1. 未連携の顧客には未関連ステータスを表示する。
2. 連携済みの顧客には現在の関連フィールドとステータスを表示する。
3. 今回のリリースでは、手動での連携解除、再連携、連携先変更、手動同期、フロントエンドでの再試行の導線は提供しない。
4. 有効なKASIKA連携関係を解消する必要がある場合、VISTA顧客の削除によってのみトリガーされる。削除ルールは本書の「顧客の削除」および`04-統一顧客連携同期フロー.md`を参照。

### 3.4 概要タブ：現在のタグモジュール

顧客基本情報とKASIKA連携モジュールの後に、現在のタグモジュールを表示する。概要タブでは現在の顧客タグを表示するのみで、編集機能は担わない。

表示内容：

- 現在の顧客が保有するVISTAタグチップ。

表示ルール：

1. タグモジュールは顧客基本情報モジュール内に挿入しない。
2. 概要タブでは、タグの追加、削除、選択、保存操作は提供しない。
3. タグは由来を区別せず、自動タグ / 手動タグ / KASIKA由来の説明は表示しない。
4. 概要ページでは、「現在の権限合成結果」、テンプレート数、テンプレート由来の数、個人追加数、最終的なアクセス可能なコンテンツ数は表示しない。
5. タグの編集は`権限` / `編集`タブに入る。

### 3.5 既存のアクセス設定

現在のページに以下のVISTAローカルアクセス設定が既にある場合、今回のリリースでは既存の表示方法と操作方法を維持し、KASIKA連携によって位置やスタイルを変更しない：

- 共有リンクの有効期限。
- パスワード設定へのアクセス。

上記の設定はVISTAローカルの顧客アクセス制御機能に属し、KASIKA APIは呼び出さない。

## 4. KASIKA情報の表示・非表示と操作境界

1. 顧客詳細ページの`概要`タブに、独立したKASIKA連携モジュールを表示する。
2. KASIKAフィールドは顧客基本情報モジュール内には配置しない。
3. 顧客詳細ページでは、「手動での連携解除」「再連携」「連携先変更」「KASIKA顧客の同期」「フロントエンドでの再試行」などの導線は提供しない。
4. KASIKA連携モジュールは関連情報とステータスの表示のみを行い、連携関係の編集機能は担わない。
5. KASIKA連携関係、構造化された関連フィールド、フィールドスナップショット、同期ログは、入口ページの検証、権限タグの補完、異常追跡、同期ログの照会のために、引き続きバックエンドで保存する必要がある。
6. KASIKA連携済み顧客のメールアドレスは、`権限` / `編集`タブでは変更できない。
7. KASIKAの関連情報に誤りがある場合、手動修正、連携先変更、復元、再連携の禁止は、バックエンドのデータガバナンス、同期ログの処理、または別途管理復旧要件として扱う。

## 5. 単方向同期の境界

1. KASIKA -> VISTAが唯一の顧客マスターデータ同期方向である。
2. VISTAローカルでの顧客の新規追加、編集、削除は、KASIKAへの顧客の作成、更新、削除を行わない。
3. VISTAローカルで顧客の氏名、電話番号、担当、タグ、権限を変更する場合、VISTAローカルのみを更新する。
4. KASIKA未連携のVISTA顧客がメールアドレスを変更する場合、VISTAローカルのみを更新する。
5. KASIKA連携済みのVISTA顧客はメールアドレスを変更できない。入口ページのメールアドレス一致検証と連携関係が破壊されるのを防ぐためである。
6. VISTAが顧客を削除する際、KASIKAの顧客は削除せず、KASIKA側の該当顧客カスタムフィールドにあるHOMEVISTAアクセスURLとアクセスパスワードも削除またはクリアしない。当該VISTA顧客がKASIKAに連携済みの場合、削除時にVISTA側の有効なKASIKA連携関係を必ずクリアする。
7. 初回連携、または`08-KASIKA入口ページとVISTA初回アクセス口座開設.md`完了後のアクセスフィールドの書き戻しは、アクセス入口情報の書き込みであり、VISTA -> KASIKAの顧客マスターデータ同期とはみなさない。

## 6. 保留中、連携異常とインターフェース異常

KASIKA同期異常の処理は同期ログとバックエンド処理に集約し、顧客詳細ページでは連携ステータスに応じて結果を表示するのみで、同期、再試行、連携先変更の導線は追加しない。

1. メールアドレスが複数の候補にマッチした場合、電話番号が複数の候補にマッチした場合、候補顧客が他のVISTA顧客に連携済みの場合、KASIKA側で削除された疑いがある場合などは、同期ログまたはバックエンドの保留処理に入る。
2. KASIKAの照会失敗、認証失敗、権限不足、ネットワーク到達不能、呼び出し制限は、`07-同期ログと追跡.md`の統一エラー辞書に従って記録する。
3. 現在の顧客詳細ページでは、手動での連携選択、連携先変更、再連携、フロントエンドでの再試行、単一顧客の同期導線は提供しない。
4. 権限ページと基本情報の編集は、KASIKA APIのリアルタイム利用可能性に依存しない。連携異常時でもVISTAローカルのタグと権限を編集できる。

## 7. 顧客の削除

1. VISTA顧客の削除は、現在のページの既存の削除導線、権限制御、再確認方式を踏襲する。
2. 削除はVISTAローカルの顧客レコードのみに影響し、KASIKAの削除インターフェースは呼び出さない。
3. 削除しても、KASIKA側のHOMEVISTAアクセスURLとアクセスパスワードはクリアしない。
4. 削除対象がKASIKAに連携済みの場合、システムは当該VISTA顧客の有効なKASIKA連携関係を必ずクリアし、追跡のために履歴KASIKA `customer_id`、KASIKAメールアドレス、`customer_status`、元の連携関係、削除操作者、削除日時を保持する。
5. 削除後の元VISTA顧客は、以後のKASIKA同期や入口ページの連携において有効な連携対象として扱われない。当該VISTA顧客が後日復元された場合も、元のKASIKA有効連携は自動的に復元されない。
6. 削除操作は、`07-同期ログと追跡.md`に従って、今回のリリースでKASIKAアクセスフィールドをクリアしなかったこと、有効な連携関係のクリア、連携無効ステータスを記録する。

## 8. 受入基準

1. 顧客詳細ページには`概要`と`権限` / `編集`の2つのタブのみがあり、2つ目の独立した顧客権限編集ページは存在しない。
2. 概要タブには、顧客共有リンク、基本情報、KASIKA連携モジュール、現在のタグ、アクセス統計を表示する。
3. KASIKA連携モジュールには、KASIKA `cid` / `customer_id`、KASIKAメールアドレス、`customer_status`、連携ステータス、最終同期結果を表示する。連携関係の操作ボタンは表示しない。
4. KASIKAフィールドは基本情報モジュールに混在させない。
5. `権限` / `編集`タブには基本情報の編集フォームを表示する。KASIKA連携済みの顧客のメールアドレスフィールドは読み取り専用の無効状態とし、保存時にも上書きされない。
6. `権限` / `編集`タブには、システムに既存のタグチップ選択を表示する。営業担当者による自由なタグ新規追加はサポートしない。
7. `権限` / `編集`タブには、タグ権限テンプレート内のコンテンツカード一覧とチェック状態を表示する。
8. ページには「現在の権限合成結果」または権限合成の明細サマリーパネルは表示しない。
9. 基本情報、タグ、権限の変更はVISTAローカルのみを更新し、KASIKA APIは呼び出さない。
10. KASIKA連携異常またはAPI KEYが不完全な場合、基本情報において連携済み顧客のメールアドレスが読み取り専用であることを除き、VISTAローカルの編集、タグ編集、権限編集は影響を受けない。
11. VISTAが顧客を削除しても、KASIKA顧客は削除せず、KASIKA側のアクセスフィールドもクリアしない。連携済み顧客を削除する場合は、VISTA側の有効なKASIKA連携関係をクリアし、ログを記録する。

## 9. ユーザーケース

### ユースケース1：通常のVISTA顧客詳細の閲覧
- 前提条件：顧客がKASIKAに未連携である。
- 操作：ユーザーが顧客詳細ページに入る。
- 期待結果：
  - ページに既存の顧客基本情報モジュールが表示される。
  - メールアドレスは既存のルールに従って編集できる。
  - KASIKA連携モジュールに未関連ステータスが表示される。
  - 顧客情報モジュールの下部に現在のタグモジュールが表示される。
  - ページに権限合成結果のサマリーは表示されない。

### ユースケース2：KASIKA連携済み顧客詳細の閲覧
- 前提条件：顧客がKASIKA customer_idに連携済みである。
- 操作：ユーザーが顧客詳細ページに入る。
- 期待結果：
  - ページは現在の顧客基本情報UIを維持する。
  - メールアドレスフィールドは読み取り専用の無効状態で、変更できない。
  - KASIKA連携モジュールにKASIKA `cid`、KASIKAメールアドレス、`customer_status`、連携ステータス、最終同期結果が表示され、連携関係の操作ボタンは表示されない。
  - 顧客情報モジュールの下部に現在のタグモジュールが表示される。
  - ページに権限合成結果のサマリーは表示されない。

### ユースケース3：KASIKA連携済み顧客の基本情報の編集
- 前提条件：顧客がKASIKA customer_idに連携済みである。
- 操作：ユーザーが顧客名、電話番号、流入経路、共有メモを変更して保存する。
- 期待結果：
  - 編集可能なフィールドは既存のルールに従ってVISTAローカルに保存される。
  - メールアドレスフィールドは編集できず、送信・保存時にも上書きされない。
  - KASIKAへの顧客マスターデータの作成や更新は行われない。

### ユースケース4：権限ページでタグ連携権限を調整
- 前提条件：顧客が1つ以上のVISTAタグを保有している。
- 操作：ユーザーが詳細ページから権限編集の導線をクリックする。
- 期待結果：
  - ページが`権限`タブに入る。
  - ユーザーはタグを追加・削除できる。コンテンツ権限エリアはタグ権限テンプレートに従って選択可能状態が更新され、独立した権限合成サマリーは表示されない。
  - 保存はVISTAローカルのタグと権限のみを更新し、KASIKA APIは呼び出さない。

### ユースケース5：連携異常時にVISTAローカル権限を編集
- 前提条件：プロジェクトのAPI KEYが不完全、またはKASIKA接続に異常がある。
- 操作：ユーザーが顧客詳細ページまたは`権限`タブに入る。
- 期待結果：
  - ページにKASIKAのフロントエンド再試行の導線は表示されない。
  - VISTAローカルの基本情報、タグ、権限は引き続きルールに従って編集できる。
  - KASIKA連携済み顧客のメールアドレスは引き続き読み取り専用を維持する。