﻿# 01-KASIKA 連携設定管理

## 1. モジュール位置付け

本文書は、B 向けプロジェクト設定画面における KASIKA 連携設定項目を定義する。本画面では、VISTA が KASIKA API を呼び出すために必要なパラメータ、KASIKA 入口ページで必要となるプロジェクト入口 URL、VISTA サーバー IP アドレスのコピー用表示、初回連携後に KASIKA 自動返信メールを発動するために必要な自動返信 ID、VISTA 顧客権限作成時にアクセスパスワードの設定を必須とするかどうか、および初回連携以降の `customer_status` による VISTA タグ／権限の自動更新を継続するかどうかを管理する。

本フェーズでは、顧客同期の制御スイッチや、全権限フローをカバーする独立した権限同期のマスタースイッチは提供しない。KASIKA 顧客取得・連携は、引き続き `04-統一顧客連携同期フロー.md` に従いシステムフローとして実行される。初回連携時には、`customer_status` に基づき同名 VISTA タグの初期化を必ず実施する。初回連携以降の `customer_status` 変化を引き続き自動的に VISTA タグへマッピングし、権限更新をトリガーするか否かは、本画面の「customer_status ステータス権限自動更新スイッチ」で制御する。

## 2. ページ範囲と権限

| 項目 | 内容 |
| --- | --- |
| ユースケース名 | B 向け管理者による KASIKA 連携設定のメンテナンス |
| 操作者 | B 向け管理者 |
| 前提条件 | 管理者がプロジェクト設定権限を有すること |
| 画面範囲 | 左ナビゲーション「KASIKA 連携設定」／プロジェクト設定画面内 KASIKA エリア |

権限要件：

1. KASIKA 連携設定画面は、B 向け管理者のみがアクセスおよび編集可能とする。
2. 営業担当者および営業マネージャーには、KASIKA 連携設定の入口を表示せず、設定画面への直接アクセスも不可とする。
3. KASIKA 連携管理 - 同期ログ画面は、B 向け管理者のみがアクセス可能とする。営業担当者および営業マネージャーには、同期ログの入口を表示せず、URL による直接アクセスも不可とする。
4. 前一フェーズの運用管理画面に存在する KASIKA 連携制御マスタースイッチは、引き続き機能表示および送信権限の起点とする。本スイッチがオフの場合、B 向け管理者は設定画面へのアクセス自体は許可されるが、画面はブランク表示状態とし、保存済みの設定データを一切表示しない。
5. マスタースイッチがオフであることに起因して保存がブロックされた場合、管理者に対して、営業担当者へ連絡し KASIKA 機能を有効化するよう促すメッセージを表示する。その際、今回のフォーム内容を保存してはならず、同期ログにも書き込まない。
6. 設定画面の読み取り、編集、保存、クリア、設定項目のコピー、ログ画面への遷移は、すべてサーバーサイドで B 向け管理者権限を検証しなければならない。営業マネージャーおよび営業担当者は、直接リクエストを構築した場合でも一切の操作を実行できない。

## 3. 設定フィールド

| フィールド | 用途 | 画面ルール |
| --- | --- | --- |
| PID | 顧客アクセスデータのレポート、閲覧履歴またはコンバージョン関連機能に利用 | 必須。PID の可用性チェックは行わない。保存成功後は読み取り専用で表示 |
| 企業アクセスキー | HOMEVISTA が KASIKA 顧客関連 API を呼び出すために使用 | 必須。他パラメータと同一画面で入力し一括保存。保存後はマスキング表示し、末尾 4 桁のみ表示 |
| 企業シークレットキー | HOMEVISTA が KASIKA 顧客関連 API を呼び出すために使用 | 必須。保存後はマスキング表示し、末尾 4 桁のみ表示 |
| ユーザーアクセスキー | HOMEVISTA が KASIKA 顧客関連 API を呼び出すために使用 | 必須。保存後はマスキング表示し、末尾 4 桁のみ表示 |
| ユーザーシークレットキー | HOMEVISTA が KASIKA 顧客関連 API を呼び出すために使用 | 必須。保存後はマスキング表示し、末尾 4 桁のみ表示 |
| 顧客一括エクスポート API settingID | KASIKA 顧客一括エクスポート API 呼び出し時に、対応する設定を指定するために使用 | 必須。API KEY と同一画面で入力。保存成功後は読み取り専用で表示 |
| 顧客一括インポート API settingID | KASIKA 顧客一括インポート API 呼び出し時に、対応する設定を指定するために使用 | 必須。API KEY と同一画面で入力。保存成功後は読み取り専用で表示 |
| 連携通知自動返信 ID | 初回連携完了後に KASIKA 自動返信メール API を呼び出し、あらかじめ設定された返信テンプレートを発動するために使用 | 必須。API KEY と同一画面で入力。保存成功後は読み取り専用で表示 |
| VISTA アクセスパスワード設定スイッチ | KASIKA 入口ページまたは同期フォールバックによる VISTA 顧客権限作成時に、アクセスパスワードの設定を要求するかどうかを制御 | デフォルトオン。オフにする場合は必ず確認ダイアログを表示し、アクセスパスワード設定の無効化によりアクセスセキュリティが低下する旨を警告する |
| customer_status ステータス権限自動更新スイッチ | 初回連携以降、KASIKA `customer_status` の変化を引き続き自動的に同名 VISTA タグへ同期し、タグ権限テンプレートに従って顧客権限を能動的に更新するかどうかを制御 | デフォルトオン。オフの場合でも KASIKA 顧客ステータスの保存・表示は行うが、以降のステータス変化に伴うタグマッピングおよび顧客権限の更新は行わない。初回連携のタグ初期化には影響しない |
| VISTA プロジェクト入口 URL | KASIKA 自動返信メールに記載される KASIKA 入口ページ用 URL | システムが生成し、読み取り専用で表示。コピーボタンを提供。コピーされる URL は現在のプロジェクト固有のサブドメインを用い、具体的な `kasikacid` は含まない |
| VISTA サーバー IP アドレス | 顧客が KASIKA 管理画面で API リクエスト元 IP 制限／許可リストを設定するために使用 | 現在の VISTA デプロイ環境に応じてシステムが生成し、読み取り専用で表示。コピーボタンを提供。管理者の入力項目とはせず、保存フォームの送信対象外 |
| KASIKA カスタムフィールド名：VISTAURL | 顧客が KASIKA 管理画面でカスタムフィールドを作成し、VISTA が書き戻す入口 URL を受け取るために使用 | システム固定値、読み取り専用表示。VISTAPWD と同一行に表示。コピーボタンを提供。保存フォームには含まれない |
| KASIKA カスタムフィールド名：VISTAPWD | 顧客が KASIKA 管理画面でカスタムフィールドを作成し、VISTA が書き戻すアクセスパスワード関連の値を受け取るために使用 | システム固定値、読み取り専用表示。VISTAURL と同一行に表示。コピーボタンを提供。保存フォームには含まれない |

補足説明：

1. マスキング表示が必要なのは 4 つの API KEY フィールド（企業アクセスキー、企業シークレットキー、ユーザーアクセスキー、ユーザーシークレットキー）のみである。PID、settingID、自動返信 ID は保存成功後、通常の設定項目として読み取り専用表示し、マスキングは行わない。
2. 4 つの API KEY は保存成功後、平文で再表示してはならない。画面にはマスキング値のみを表示し、ルールは「末尾 4 桁を除き、すべて `*` に置換する」とする。4 桁に満たない場合もマスキング状態のみを表示し、完全な値は表示しない。
3. 4 つの API KEY のマスキング値はコピーを禁止する。画面にコピーボタンを設けず、フロントエンドで入力欄のコピー操作を阻止し、バックエンドも平文復元可能な値を返却してはならない。
4. VISTA 側では平文を確認できる手段を一切提供しない。設定画面には表示ボタン、目のアイコン、その他平文を復元可能な操作を設けない。
5. 4 つの API KEY は、フロントエンド - バックエンド間の通信経路で必ず暗号化して転送し、バックエンドでは機密設定値として暗号化保存する。画面、トースト、フロントエンドのインターフェース応答、同期ログ、エラー要約に API KEY、シークレットキー、HOMEVISTA アクセスパスワードの平文を表示してはならない。
6. 管理者が保存済みの入力パラメータを変更する場合は、該当入力欄の横にある「編集」ボタンをクリックする。クリック後、そのフィールドは編集状態となり、入力欄はクリアされる。管理者は完全な新しい値を再入力した後でのみ保存可能となる。
7. フィールドが編集状態にあるとき、「編集」ボタンは「キャンセル」に切り替わる。編集とキャンセルのボタン状態は排他である。キャンセルをクリックすると、今回の編集を破棄し、保存前の表示状態に復帰する。4 つの API KEY はマスキング表示に、その他のフィールドは読み取り専用の平文表示に戻る。
8. 編集状態でない保存済みパラメータについては、完全な値の再入力を要求しない。フロントエンドはマスキング用のプレースホルダーを新しい値として送信してはならない。
9. 設定画面下部には、「PID / API KEY / settingID / 自動返信 ID の取得方法」に関するヘルプ説明を設け、KASIKA ヘルプページへのリンクを表示する。
10. VISTA サーバー IP アドレスは、顧客が KASIKA 管理画面で API リクエスト元 IP 制限を設定するために用いる。顧客が KASIKA 側の API IP 制限を有効化する場合、画面に表示された VISTA サーバー IP アドレスをコピーし、許可された送信元として登録する必要がある。登録がない場合、VISTA からの KASIKA API 呼び出しが KASIKA によって拒否される可能性がある。
11. VISTA サーバー IP アドレスは管理者による編集を許可しない。デプロイ環境、送信元 IP、ネットワーク構成の変更により IP アドレスが変わった場合は、システム設定を更新し、画面に最新値を表示する。
12. `application_id` は B 向け設定画面に表示・編集しない。システムは既存ルールに従い、ビルトインのデフォルト値 `homevista_action` を使用する。将来、KASIKA が HOMEVISTA 向けに新しい `application_id` を指定した場合、開発チームがシステム設定またはコード設定により調整する。
13. 前一フェーズの運用管理画面における KASIKA 連携制御マスタースイッチがオフの場合、本画面のすべてのフィールドはブランク表示とする。保存済みの PID、API KEY、シークレットキー、settingID、自動返信 ID は平文・マスキング値を問わず表示しない。VISTA アクセスパスワード設定スイッチ、`customer_status` ステータス権限自動更新スイッチは、過去の保存状態を表示しない。VISTA サーバー IP アドレス、VISTA プロジェクト入口 URL、VISTAURL、VISTAPWD も空欄とし、実際の値をコピー可能にしてはならない。

## 4. 連携ステータス定義

| ステータス | 判定条件 | 影響範囲 |
| --- | --- | --- |
| PID 基本アクセスレポート利用可 | PID が保存済み | 顧客のアクセス行動データレポート、閲覧履歴、コンバージョン関連機能のみに影響。KASIKA 顧客 API の呼び出し可否とは無関係 |
| KASIKA API 接続済み | 4 つの API KEY がすべて保存済み | VISTA が KASIKA 顧客関連 API を呼び出すための基本条件を満たす。KASIKA 入口ページでの顧客照会、初回連携、同期フローが可能 |
| 顧客一括 API パラメータ完全 | 顧客一括エクスポート API settingID および顧客一括インポート API settingID が保存済み | 後続の一括エクスポート／インポート API 呼び出しが可能。実際の成否は KASIKA API の応答に準ずる |
| 連携通知自動返信利用可 | 連携通知自動返信 ID が保存済み、かつ 4 つの API KEY がすべて保存済み | 初回連携完了後、KASIKA 自動返信メール API を呼び出し、顧客が事前設定した返信テンプレートを発動可能 |
| KASIKA 入口ページ処理可能 | ホストから一意の VISTA プロジェクトが識別でき、かつ 4 つの API KEY がすべて保存済み | 顧客が KASIKA メールの入口をクリックした際、リアルタイムに KASIKA 顧客情報を取得し、`08` に定義された連携／口座開設フローに進める |
| KASIKA API 利用不可 | 4 つの API KEY のいずれかが未設定、または認証失敗 | KASIKA 顧客 API を呼び出さない。KASIKA 入口ページへの実際のアクセス時は、システム 404 ページへ遷移するか、統一的な利用不可処理に移行 |

補足説明：

1. 本フェーズでは、「顧客情報同期スイッチ」によって同期の実行可否を判定しない。API パラメータが揃っていれば、システムフローは `04` に従い実行される。個別の失敗、認証エラー、呼び出し制限は同期ログに記録する。
2. KASIKA 入口ページは独立したスイッチ機能ではない。顧客がこの入口を利用するかどうかは、VISTA プロジェクト入口 URL を KASIKA 自動返信メールテンプレートに設定するかどうかによって決まる。
3. settingID パラメータは KASIKA 一括 API の呼び出しに用いられ、4 つの API KEY による認証の代わりにはならない。
4. `customer_status` ステータス権限自動更新スイッチは、初回連携以降のステータス変化を継続的にタグ／権限へ自動適用するかどうかのみを制御し、KASIKA 顧客の取得、連携、入口ページの識別、初回連携タグ初期化、同期ログ記録には影響しない。
5. 連携通知自動返信 ID は、初回連携後のメール通知のみに使用され、顧客照会、一括同期、入口ページ識別、権限判定には関与しない。

## 5. VISTA アクセスパスワード設定スイッチ

### 5.1 スイッチの意味

VISTA アクセスパスワード設定スイッチは、VISTA 顧客アクセス権限を作成する際に、アクセスパスワードを設定するかどうかを制御する。

| スイッチ状態 | 処理ルール |
| --- | --- |
| オン（デフォルト） | KASIKA 入口ページでの初回口座開設時、顧客はメールアドレス検証通過後、VISTA アクセスパスワードを設定する必要がある。同期フォールバックでアカウントを作成する場合、システムが初期アクセスパスワードを生成する |
| オフ | VISTA 顧客権限作成時にアクセスパスワードを設定しない。以降、顧客のアクセスセキュリティは低下するため、顧客がリスクを確認したうえで使用する必要がある |

### 5.2 インタラクションルール

1. デフォルト状態はオンとする。
2. 管理者がオフに切り替える際は、必ず確認ダイアログを表示する。
3. 確認ダイアログの文言は、アクセスパスワード設定を無効にすると、顧客アクセス時にパスワード設定が要求されなくなり、アクセスセキュリティが低下することを明示し、続行するか確認を求めるものとする。
4. 管理者が確認をキャンセルした場合、スイッチはオンに維持される。
5. 管理者がオフを確認し、保存に成功した場合、スイッチ状態が有効になる。
6. 再びオンにする場合、強制的な確認ダイアログは不要だが、保存は通常の保存フローに従って処理する。

### 5.3 KASIKA 入口ページとの関係

1. スイッチがオンの場合、`08-KASIKA入口ページとVISTA初回アクセス口座開設.md` の初回口座開設フローは、メールアドレス検証とパスワード設定を含む。
2. スイッチがオフの場合、初回口座開設フローでもメールアドレス検証は必須とする。メールアドレス検証通過後はパスワード設定をスキップし、直接 VISTA 顧客を作成／有効化し、VISTA トップページへのログインまたはアクセスフローに進む。
3. スイッチのオン／オフにかかわらず、メールアドレスの正当性チェックおよび一致チェックを省略してはならない。

## 6. customer_status ステータス権限自動更新スイッチ

### 6.1 スイッチの意味

本スイッチは、初回連携以降、KASIKA `customer_status` フィールドの変化を引き続き自動的に VISTA タグおよび顧客権限の更新に結びつけるかどうかを制御する。初回連携時の `customer_status` に基づく同名タグの初期化は、本スイッチの影響を受けず、必ず一度実行される。

| スイッチ状態 | 処理ルール |
| --- | --- |
| オン（デフォルト） | 初回連携完了後、後続の同期または入口ページフローで新しい KASIKA `customer_status` を取得した場合、システムは同名の VISTA タグにマッピングする。同名タグおよびその権限テンプレートが存在する場合、顧客タグと権限を能動的に更新する |
| オフ | 初回連携完了後、後続で取得した KASIKA `customer_status` の保存・表示は行うが、以降のステータス変化に伴う VISTA タグマッピングは行わず、当該ステータスを理由とした顧客権限の能動的更新も行わない |

### 6.2 インタラクションルール

1. デフォルト状態はオンとする。これは現在の `customer_status` によるタグ／権限の自動化機能を維持するためである。
2. 管理者は KASIKA 連携設定画面で、本スイッチをオン／オフできる。
3. 管理者が本スイッチをオフにする際は、影響範囲を通知する必要がある。すなわち、オフにすると、初回連携以降の KASIKA `customer_status` の変化に応じた VISTA タグおよび顧客権限の自動更新が行われなくなる。
4. 本スイッチをオフにしても、KASIKA 顧客の取得、顧客連携、入口ページでの口座開設、初回連携タグ初期化、同期ログ記録、`customer_status` フィールドの表示には影響しない。
5. オフにした後、後続の同期で取得される新しい `customer_status` は、顧客連携情報として表示されるだけであり、VISTA タグの新規追加・変更・削除を能動的に行わず、タグ権限テンプレートの再計算もトリガーしない。
6. 再びオンにした場合、後続の同期または後続の入口ページでのトリガーにより取得された `customer_status` にのみ適用される。過去の顧客に対する一括再計算の要否は、別途手動同期／権限再計算フローに属し、本スイッチが自動的に遡及実行することはない。
7. 本スイッチの保存時も、前一フェーズの運用管理画面 KASIKA 連携制御マスタースイッチの権限チェックを実施する。

### 6.3 権限画面およびタグテンプレートとの関係

1. 初回連携時、`customer_status` と同名 VISTA タグの初期化マッピングは、引き続き `04-統一顧客連携同期フロー.md` および `08-KASIKA入口ページとVISTA初回アクセス口座開設.md` に従って実行され、本スイッチの影響を受けない。
2. スイッチがオンの場合、初回連携以降の `customer_status` 変化は、引き続き同名 VISTA タグおよび顧客権限の更新を自動的に駆動できる。
3. スイッチがオフの場合、タグ権限テンプレートは管理者が手動メンテナンス可能である。本スイッチは、初回連携以降の KASIKA `customer_status` 変化が自動的にタグ／権限を変化させることのみを阻止する。
4. 仮に顧客が初回連携や過去の `customer_status` によってタグや権限を既に獲得している場合、スイッチをオフにしても既存のタグや権限が自動的に剥奪されることはない。

## 7. 読み取り専用コピー情報のインタラクション

設定画面には、4 つの読み取り専用コピー用情報を提供する。表示順序は、上から VISTA サーバー IP アドレス、中央に KASIKA カスタムフィールド名 VISTAURL と VISTAPWD を同一行に配置し、その下に VISTA プロジェクト入口 URL とする。

| 情報 | 表示位置 | 操作 | 成功フィードバック | 失敗フィードバック |
| --- | --- | --- | --- | --- |
| VISTA サーバー IP アドレス | 設定フィールド下部の読み取り専用情報エリアの第一項目 | コピーボタンクリック | トーストで「VISTA サーバー IP アドレスをコピーしました」と表示 | トーストでコピー失敗を通知し、管理者が手動で IP アドレスを選択してコピーすることを許容 |
| KASIKA カスタムフィールド名：VISTAURL | VISTA サーバー IP アドレスの下、VISTAPWD と同一行 | コピーボタンクリック | トーストで「VISTAURL をコピーしました」と表示 | トーストでコピー失敗を通知し、管理者が手動でフィールド名を選択してコピーすることを許容 |
| KASIKA カスタムフィールド名：VISTAPWD | VISTA サーバー IP アドレスの下、VISTAURL と同一行 | コピーボタンクリック | トーストで「VISTAPWD をコピーしました」と表示 | トーストでコピー失敗を通知し、管理者が手動でフィールド名を選択してコピーすることを許容 |
| VISTA プロジェクト入口 URL | VISTAURL / VISTAPWD の下 | コピーボタンクリック | トーストで「VISTA プロジェクト入口 URL をコピーしました」と表示 | トーストでコピー失敗を通知し、管理者が手動で URL を選択してコピーすることを許容 |

インタラクション要件：

1. 4 つの読み取り専用コピー情報は、保存フォームの送信対象外とし、リセットボタンの影響を受けない。
2. VISTA プロジェクト入口 URL、VISTA サーバー IP アドレス、VISTAURL、VISTAPWD は、いずれも管理者による編集を許可しない。
3. VISTA サーバー IP アドレスのそばには、用途説明を必ず表示する。すなわち、顧客が KASIKA 管理画面で API リクエスト元 IP 制限を有効にする場合、本 IP を許可された送信元として登録する必要がある旨。
4. VISTAURL および VISTAPWD は、顧客が KASIKA 管理画面でカスタムフィールドを作成する際のフィールド名であり、現在のプロジェクトの実際の入口 URL やアクセスパスワードの値ではない。
5. システムが複数の VISTA API 送信元 IP を持つ場合、画面には全 IP を完全に表示し、コピー時には完全なリストを一度にコピーすること。本フェーズのプロトタイプでは、単一 IP の表示とする。
6. コピー操作は同期ログに記録しない。監査が必要な場合は、設定操作監査に属し、顧客同期ログには属さない。

## 8. 保存失敗とステータス処理

1. 画面で設定を読み込む際、バックエンドは前一フェーズの運用管理画面 KASIKA 連携制御マスタースイッチの状態を必ず返却する。マスタースイッチがオフの場合、フロントエンドは保存済みの設定値やシステム生成値を一切表示してはならない。
2. 保存ボタンクリック時、フロントエンドは保存リクエストを発行し、バックエンドは必ず再度、前一フェーズの運用管理画面における KASIKA 連携制御マスタースイッチがオンであることをチェックする。
3. マスタースイッチがオフの場合、バックエンドは送信権限なしエラーを返却する。フロントエンドは可読性のあるメッセージ「現在のプロジェクトでは KASIKA 機能が有効化されていません。営業担当者に連絡して有効化した後に保存してください。」を表示する。今回のフォームは保存されず、画面はブランク状態またはユーザーの現在の下書き状態を維持し、保存済み設定を上書きせず、同期ログにも書き込まない。
4. マスタースイッチがオンの場合、PID、4 つの API KEY、顧客一括エクスポート API settingID、顧客一括インポート API settingID、連携通知自動返信 ID はすべて必須項目とする。いずれかの必須項目が空の場合、フロントエンドで送信を阻止し、該当フィールドに必須エラーを表示する。
5. 本画面では、PID、API KEY、シークレットキー、settingID、自動返信 ID の業務的可用性をチェックしない。パラメータが利用可能かどうかは、実際の KASIKA API 呼び出しの結果を以て判断する。
6. 設定が未変更の場合でも保存ボタンのクリックを許可する。重複保存は通常の保存として扱うが、マスタースイッチの権限チェックは必須とする。
7. 保存ボタン押下後、ボタンは処理中状態となり、重複送信を防止する。
8. 保存成功時は、保存成功トーストを表示し、今回の保存結果に基づき画面フォームの状態を更新する。入力項目は読み取り専用状態になり、4 つの API KEY はマスキングルールに従って表示する。
9. 保存失敗時は、可読性のあるエラーメッセージを表示し、ユーザーが今回入力した下書き状態を維持する。保存済み設定を上書きせず、同期ログにも書き込まない。
10. バックエンドがフィールド単位のエラーを返した場合、該当フィールドの下にエラーメッセージを表示する。グローバルエラーを返した場合は、フォーム上部または保存ボタン付近にエラーアラートを表示する。
11. エラーメッセージには、API KEY、シークレットキー、アクセスパスワードの平文、またはそれらを推測可能な機密情報を含めてはならない。
12. VISTA プロジェクト入口 URL のコピーに失敗した場合、コピー失敗トーストを表示し、管理者が手動で URL を選択してコピーするよう促す。保存済み設定には影響しない。
13. VISTA サーバー IP アドレスのコピーに失敗した場合、コピー失敗トーストを表示し、管理者が手動で IP アドレスを選択してコピーするよう促す。保存済み設定には影響しない。
14. VISTAURL または VISTAPWD のコピーに失敗した場合、コピー失敗トーストを表示し、管理者が手動でフィールド名を選択してコピーするよう促す。保存済み設定には影響しない。

## 9. 有効化と無効化のルール

有効化の方法：

1. 管理者が PID、4 つの API KEY、顧客一括エクスポート API settingID、顧客一括インポート API settingID、連携通知自動返信 ID を入力する。
2. 管理者が VISTA アクセスパスワード設定スイッチの状態を確認する（デフォルトはオンを維持）。
3. 管理者が `customer_status` ステータス権限自動更新スイッチの状態を確認する（デフォルトはオンを維持）。
4. 管理者が保存をクリックすると、システムが現在のフォーム設定を保存する。
5. 保存成功後、KASIKA 入口ページ URL をコピーし、顧客が KASIKA 自動返信メールテンプレートに記入するために提供可能となる。
6. 顧客が KASIKA 管理画面で API リクエスト元 IP 制限を有効にする場合、管理者は VISTA サーバー IP アドレスをコピーし、顧客に渡して KASIKA の API リクエスト元 IP 許可リストへ登録してもらう必要がある。

無効化または制限の方法：

1. 本画面には「連携停止」モジュールを設けない。すべての入力項目が必須であるため、PID、API KEY、settingID、自動返信 ID をクリアして対応する機能を制限する方式は取らない。
2. 顧客が KASIKA 連携機能の停止を希望する場合は、前一フェーズの運用管理画面で KASIKA 連携制御マスタースイッチをオフにする。オフにすると、B 向け設定画面へのアクセスは継続できるが、保存済みの値およびシステム生成値はすべてブランク表示となる。
3. 管理者はアクセスパスワード設定スイッチをオフにして、後続のアクセスパスワード設定機能を制限できる。オフにする際は、セキュリティリスクに関する確認が必須である。
4. 管理者は `customer_status` ステータス権限自動更新スイッチをオフにできる。初回連携以降、KASIKA `customer_status` の変化に伴う VISTA タグおよび顧客権限の自動更新は行われなくなる。顧客同期、連携、初回連携タグ初期化、ステータス表示には影響しない。

確認ダイアログの案内方針：

| 操作 | 確認要否 | 確認時の主な注意点 |
| --- | --- | --- |
| VISTA アクセスパスワード設定スイッチをオフ | 要 | アクセスパスワード設定をオフにすると、顧客アクセス時にパスワード設定が要求されなくなり、アクセスセキュリティが低下します |
| customer_status ステータス権限自動更新スイッチをオフ | 要 | 初回連携時のタグ初期化は引き続き実行されます。初回連携以降、KASIKA `customer_status` の変化に応じた VISTA タグおよび顧客権限の自動更新は行われなくなります |

## 10. ユースケース

### ユースケース 10.1 設定画面へのアクセス

- 操作者：B 向け管理者
- 操作：左ナビゲーションの「KASIKA 連携設定」画面を開く。
- 期待値：
  - 前一フェーズの運用管理画面 KASIKA 連携制御マスタースイッチがオンの場合、PID、4 つの API KEY、顧客一括エクスポート API settingID、顧客一括インポート API settingID、連携通知自動返信 ID、VISTA アクセスパスワード設定スイッチ、`customer_status` ステータス権限自動更新スイッチ、VISTA サーバー IP アドレス、VISTAURL、VISTAPWD、VISTA プロジェクト入口 URL、リセットボタン、保存ボタンを表示する。
  - マスタースイッチがオンで、保存済みの 4 つの API KEY は、デフォルトでマスキング表示され、末尾 4 桁のみ表示する。PID、settingID、自動返信 ID は、デフォルトで読み取り専用表示する。
  - マスタースイッチがオフの場合、画面アクセスは許可するが、PID、4 つの API KEY、シークレットキー、settingID、自動返信 ID、2 つのスイッチ、VISTA サーバー IP アドレス、VISTAURL、VISTAPWD、VISTA プロジェクト入口 URL は、すべてブランク状態で表示し、過去の保存値、マスキング値、システム生成値を一切表示しない。
  - 画面には、顧客情報同期スイッチおよび全権限フローをカバーする権限同期マスタースイッチを表示しない。
  - 画面には、パラメータ取得方法の説明、VISTA サーバー IP アドレスの用途説明、ヘルプリンクを表示する。
  - 営業ロールはアクセス不可。「同期ログ」サブメニューは管理者のみ表示する。

### ユースケース 10.2 設定の保存

- 操作者：B 向け管理者
- 操作：必須フィールドを入力または編集後、「保存」をクリックする。
- 期待値：
  - システムは送信時に、前一フェーズの運用管理画面 KASIKA 連携制御マスタースイッチがオンであることをチェックする。
  - マスタースイッチがオフの場合、保存はブロックされ、営業担当者に連絡して KASIKA 機能を有効化するよう促すメッセージを表示し、フォームは現在の下書き状態を維持する。
  - PID、4 つの API KEY、顧客一括エクスポート API settingID、顧客一括インポート API settingID、連携通知自動返信 ID のいずれかが空の場合、画面は送信を阻止し、必須エラーを表示する。
  - 今回の操作に、アクセスパスワード設定のオフ、または `customer_status` ステータス権限自動更新のオフが含まれる場合、先に確認ダイアログを表示する。
  - クリック後、ボタンは「保存中」となり無効化され、重複送信を防止する。
  - 成功時は、成功トーストを表示する。
  - 設定画面は今回の送信結果で再描画され、入力項目は読み取り専用状態、4 つの API KEY はマスキング表示、その他の入力項目は保存値を読み取り専用で表示する。

### ユースケース 10.3 マスタースイッチオフ時の設定送信

- 操作者：B 向け管理者
- 前提条件：前一フェーズの運用管理画面 KASIKA 連携制御マスタースイッチがオフ。
- 操作：KASIKA 連携設定画面を開き、設定を入力または変更後、「保存」をクリックする。
- 期待値：
  - 画面は設定フォームへのアクセスを許可するが、全フィールドの初期表示はブランク状態であり、保存済みの値、マスキング値、VISTA サーバー IP アドレス、VISTAURL、VISTAPWD、VISTA プロジェクト入口 URL を一切表示しない。
  - 保存クリック後、システムはマスタースイッチの権限チェックを実行する。
  - 保存はブロックされ、保存済み設定を更新せず、現在の下書きをクリアせず、同期ログにも書き込まない。
  - 画面には「現在のプロジェクトでは KASIKA 機能が有効化されていません。営業担当者に連絡して有効化した後に保存してください。」と表示する。
  - 管理者がプロンプトを閉じた後も設定画面に留まる。VISTA サーバー IP アドレス、VISTAURL、VISTAPWD、VISTA プロジェクト入口 URL は引き続き空欄であり、実際の値をコピーできない。

### ユースケース 10.4 保存済みパラメータの編集

- 操作者：B 向け管理者
- 操作：保存済みの入力項目の横にある「編集」ボタンをクリックする。
- 期待値：
  - 当該フィールドが編集状態になり、入力欄は即座にクリアされる。管理者は完全な新しい値を再入力しなければならない。
  - 当該フィールドの「編集」ボタンは「キャンセル」に切り替わり、両者は排他的に表示される。
  - キャンセルをクリックすると編集状態を抜け、編集前の表示に復帰する。4 つの API KEY はマスキング表示に、PID、settingID、自動返信 ID は読み取り専用表示に戻る。
  - 画面には、表示ボタンや目のアイコンを設けず、VISTA 側で保存済みパラメータの平文を確認できないようにする。
  - 編集していないフィールドは、完全な値の再入力を要求されない。
  - 保存時には、実際に追加または変更されたフィールドの値のみを送信し、マスキング用プレースホルダーを送信しない。

### ユースケース 10.5 KASIKA カスタムフィールド名のコピー

- 操作者：B 向け管理者
- 操作：設定画面で VISTAURL または VISTAPWD のコピーボタンをクリックする。
- 期待値：
  - システムは対応する固定のフィールド名をクリップボードにコピーする。
  - コピー成功時、VISTAURL または VISTAPWD をコピーした旨のトーストを表示する。
  - 画面上で、これらの値は顧客が KASIKA 管理画面でカスタムフィールドを作成するためのものであり、プロジェクトの実際の URL やパスワード値ではないことを説明表示する。
  - 二つのフィールド名は、VISTA サーバー IP アドレスの下に同一行で表示する。
  - マスタースイッチがオフの場合、二つとも空欄表示とし、実際のフィールド名をコピーさせない。

### ユースケース 10.6 アクセスパスワード設定のオフ

- 操作者：B 向け管理者
- 操作：VISTA アクセスパスワード設定スイッチをオンからオフに切り替える。
- 期待値：
  - 確認ダイアログが表示され、アクセスパスワード設定をオフにするとアクセスセキュリティが低下する旨を通知する。
  - キャンセルすると、スイッチはオンに維持される。
  - 確認して保存に成功した後、続いて作成される VISTA 顧客権限ではアクセスパスワードが設定されない。

### ユースケース 10.7 customer_status ステータス権限自動更新のオフ

- 操作者：B 向け管理者
- 操作：`customer_status` ステータス権限自動更新スイッチをオンからオフに切り替えて保存する。
- 期待値：
  - 保存時に、前一フェーズの運用管理画面 KASIKA 連携制御マスタースイッチの権限チェックを実行する。
  - 保存成功後も、初回連携時には `customer_status` に基づく同名タグの初期化が一度実行される。
  - 初回連携完了後、後続の KASIKA 同期または入口ページフローで取得した `customer_status` は、VISTA タグマッピングへ自動同期されない。
  - システムは、後続の `customer_status` 変化を理由に顧客権限を能動的に更新しない。
  - KASIKA 顧客連携、顧客ステータス表示、同期ログ記録は通常通り実行される。
  - スイッチをオフにしても、顧客の既存タグや既存権限が自動的に剥奪されることはない。

### ユースケース 10.8 customer_status ステータス権限自動更新の再オン

- 操作者：B 向け管理者
- 操作：`customer_status` ステータス権限自動更新スイッチをオフからオンに切り替えて保存する。
- 期待値：
  - 保存成功後、後続で取得される `customer_status` は、再び同名 VISTA タグにマッピングされ、タグ権限テンプレートに従って顧客権限が能動的に更新される。
  - 再オンにより、過去の顧客を自動的に遡及再計算することはない。過去分の一括再計算は、別途手動同期／権限再計算フローで対応する。

### ユースケース 10.9 VISTA プロジェクト入口 URL のコピー

- 操作者：B 向け管理者
- 操作：設定画面の「VISTA プロジェクト入口 URL」のコピーボタンをクリックする。
- 期待値：
  - システムは現在の VISTA プロジェクト入口 URL をクリップボードにコピーする。
  - コピー成功時、VISTA プロジェクト入口 URL をコピーした旨のトーストを表示する。
  - 画面上で、この URL は顧客が KASIKA 自動返信メールテンプレートに記入するためのものであり、具体的な顧客 ID は KASIKA メール変数で追記されることを説明する。
  - この URL は読み取り専用情報であり、B 向け管理者画面での編集を許可せず、保存フォームの送信対象外とする。
  - コピー失敗時は可読性のあるエラーメッセージを表示し、管理者が手動で URL を選択してコピーするよう促す。

### ユースケース 10.10 VISTA サーバー IP アドレスのコピー

- 操作者：B 向け管理者
- 操作：設定画面の「VISTA サーバー IP アドレス」のコピーボタンをクリックする。
- 期待値：
  - システムは現在の VISTA サーバー IP アドレスをクリップボードにコピーする。
  - コピー成功時、VISTA サーバー IP アドレスをコピーした旨のトーストを表示する。
  - 画面上で、この IP アドレスは顧客が KASIKA 管理画面で API リクエスト元 IP 制限／許可リストを設定するために使用することを説明する。
  - この IP アドレスは読み取り専用情報であり、B 向け管理者画面での編集を許可せず、保存フォームの送信対象外とする。
  - コピー失敗時は可読性のあるエラーメッセージを表示し、管理者が手動で IP アドレスを選択してコピーするよう促す。

### ユースケース 10.11 ログエントリ

- 操作者：B 向け管理者
- 操作：設定画面の「同期ログを開く／ログ照会」をクリックする。
- 期待値：
  - KASIKA 連携管理の同期ログ画面へ遷移する。

## 11. 検証基準

- PID、4 つの API KEY、顧客一括エクスポート API settingID、顧客一括インポート API settingID、連携通知自動返信 ID はすべて必須項目であり、いずれかが空の場合は保存できない。
- 本画面では、PID、API KEY、シークレットキー、settingID、自動返信 ID の業務的可用性を検証しない。実際の可用性は、後続の KASIKA API 呼び出し結果を以て判断する。
- PID、4 つの API KEY、顧客一括エクスポート API settingID、顧客一括インポート API settingID、連携通知自動返信 ID は、同一フォーム内で入力し、一括保存する。
- 保存成功後、すべての入力項目は読み取り専用状態となる。フィールド横の編集ボタンをクリックすると、そのフィールドは編集状態となり入力欄がクリアされ、キャンセルをクリックすると編集前の表示に復帰する。
- 保存後、4 つの API KEY のみマスキング表示し、末尾 4 桁のみ表示する。平文での再表示、閲覧、コピー、ログへの書き込み、エラー要約への表示を一切行ってはならない。
- PID、settingID、自動返信