﻿# 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 位 |
| 公司 Secret Key | 用于 HOMEVISTA 调用 KASIKA 顾客相关 API | 必填；保存后脱敏展示，仅显示末尾 4 位 |
| 用户访问密钥 | 用于 HOMEVISTA 调用 KASIKA 顾客相关 API | 必填；保存后脱敏展示，仅显示末尾 4 位 |
| 用户 Secret Key | 用于 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 使用当前项目唯一子域名，不包含具体 `kasikacid` |
| VISTA 服务器 IP 地址 | 用于客户在 KASIKA 管理端配置 API 提交元 IP 限制 / 允许列表 | 系统按当前 VISTA 部署环境生成，只读展示；提供复制按钮；不作为管理员输入项，不随保存表单提交 |
| KASIKA 自定义字段名：VISTAURL | 用于客户在 KASIKA 管理端创建自定义字段，承接 VISTA 回写的入口 URL | 系统固定值，只读展示；与 VISTAPWD 同行展示；提供复制按钮；不参与保存表单 |
| KASIKA 自定义字段名：VISTAPWD | 用于客户在 KASIKA 管理端创建自定义字段，承接 VISTA 回写的访问密码相关值 | 系统固定值，只读展示；与 VISTAURL 同行展示；提供复制按钮；不参与保存表单 |

说明：

1. 只有 4 个 API KEY 字段需要脱敏展示：公司访问密钥、公司 Secret Key、用户访问密钥、用户 Secret Key。PID、settingID、自動返信ID 保存成功后按普通配置项只读展示，不做脱敏。
2. 4 个 API KEY 保存成功后均不得明文回填；页面仅显示脱敏值，规则为“除末尾 4 位外全部使用 `*` 替代”。长度不足 4 位时仍只显示脱敏状态，不展示完整值。
3. 4 个 API KEY 的脱敏值禁止复制；页面不得提供复制按钮，前端需拦截输入框复制行为，后端也不得返回可用于还原明文的值。
4. VISTA 侧不提供任何明文查看入口；配置页不显示查看按钮、眼睛按钮或其他可还原明文的操作。
5. 4 个 API KEY 在前后端传输链路中必须加密传输，后端按敏感配置加密存储；页面、Toast、前端接口响应、同步日志和错误摘要中不得明文展示 API KEY、Secret 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、Secret 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入口页可处理 | Host 可识别唯一 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. 只读复制信息交互

配置页需要提供四个只读复制入口，展示顺序为 VISTA 服务器 IP 地址在上，KASIKA 自定义字段名 VISTAURL / VISTAPWD 在中间同一行，VISTA 项目入口 URL 在下：

| 信息 | 展示位置 | 操作 | 成功反馈 | 失败反馈 |
| --- | --- | --- | --- | --- |
| VISTA 服务器 IP 地址 | 配置字段下方的只读信息区第一项 | 点击复制按钮 | Toast 提示“VISTA 服务器 IP 地址已复制” | Toast 提示复制失败，并允许管理员手动选择 IP 地址复制 |
| KASIKA 自定义字段名：VISTAURL | VISTA 服务器 IP 地址下方，与 VISTAPWD 同一行 | 点击复制按钮 | Toast 提示“VISTAURL 已复制” | Toast 提示复制失败，并允许管理员手动选择字段名复制 |
| KASIKA 自定义字段名：VISTAPWD | VISTA 服务器 IP 地址下方，与 VISTAURL 同一行 | 点击复制按钮 | Toast 提示“VISTAPWD 已复制” | Toast 提示复制失败，并允许管理员手动选择字段名复制 |
| VISTA 项目入口 URL | VISTAURL / VISTAPWD 下方 | 点击复制按钮 | Toast 提示“VISTA 项目入口 URL 已复制” | Toast 提示复制失败，并允许管理员手动选择 URL 复制 |

交互要求：

1. 四个只读复制入口不参与保存表单，不受重置按钮影响。
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、Secret Key、settingID、自動返信ID 的业务可用性；参数是否可用以实际调用 KASIKA API 的结果为准。
6. 未修改配置时允许点击保存；重复保存按普通保存处理，但仍需执行总开关权限检查。
7. 点击保存后，保存按钮进入处理中状态，避免重复提交。
8. 保存成功后展示保存成功 Toast，并按本次保存结果更新页面表单状态；输入项进入只读状态，4 个 API KEY 按脱敏规则展示。
9. 保存失败时必须展示可读错误提示，并保持用户本次输入的草稿态，不覆盖已保存配置，不写入同步日志。
10. 后端返回字段级错误时，在对应字段下展示错误文案；返回全局错误时，在表单顶部或保存按钮附近展示错误 Alert。
11. 错误文案不得包含 API KEY、Secret Key、访问密码明文或可反推敏感参数的信息。
12. 复制 VISTA 项目入口 URL 失败时，展示复制失败 Toast，并提示管理员手动选择 URL 复制；不影响已保存配置。
13. 复制 VISTA 服务器 IP 地址失败时，展示复制失败 Toast，并提示管理员手动选择 IP 地址复制；不影响已保存配置。
14. 复制 VISTAURL 或 VISTAPWD 失败时，展示复制失败 Toast，并提示管理员手动选择字段名复制；不影响已保存配置。

## 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、Secret Key、settingID、自動返信ID、两个开关、VISTA 服务器 IP 地址、VISTAURL、VISTAPWD 和 VISTA 项目入口 URL 均显示为空白态，不展示任何历史保存值、脱敏值或系统生成值。
  - 页面不显示顾客信息同步开关和覆盖全部权限流程的权限同步总开关。
  - 页面显示参数获取说明、VISTA 服务器 IP 地址用途说明和帮助链接。
  - 销售角色不可访问；“同步日志”子入口仅管理员可见。

### 用例 10.2 保存设置

- 操作者：B 端管理员
- 操作：填写或编辑必填字段后点击“保存”。
- 预期：
  - 系统提交时检查一期运营后台 KASIKA 联动控制总开关是否已开启。
  - 若总开关未开启，保存被拦截，页面提示联系销售人员开启 KASIKA 功能，表单保持当前草稿态。
  - PID、4 个 API KEY、顾客批量导出 API settingID、顾客批量导入 API settingID、绑定通知自動返信ID 任一为空时，页面阻止提交并提示必填。
  - 如本次操作包含关闭访问密码设置或关闭 `customer_status` 状态权限自动更新，先弹出二次确认。
  - 点击后按钮进入保存中并禁用，避免重复提交。
  - 成功后展示成功 Toast。
  - 配置页使用本次提交结果刷新展示；输入项进入只读状态，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 的复制按钮。
- 预期：
  - 系统将对应固定字段名复制到剪贴板。
  - 复制成功后展示 Toast，提示 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 复制到剪贴板。
  - 复制成功后展示 Toast，提示已复制 VISTA 项目入口 URL。
  - 页面说明该 URL 用于客户填写到 KASIKA 自动回复邮件模板，具体顾客 ID 由 KASIKA 邮件变量追加。
  - 该 URL 为只读信息，不允许在 B 端管理员页面编辑，不参与保存表单提交。
  - 复制失败时展示可读错误提示，并提示管理员手动选择 URL 复制。

### 用例 10.10 复制 VISTA 服务器 IP 地址

- 操作者：B 端管理员
- 操作：点击配置页中“VISTA 服务器 IP 地址”的复制按钮。
- 预期：
  - 系统将当前 VISTA 服务器 IP 地址复制到剪贴板。
  - 复制成功后展示 Toast，提示已复制 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、Secret Key、settingID、自動返信ID 做业务可用性校验；实际可用性以后续 KASIKA API 调用结果为准。
- PID、4 个 API KEY、顾客批量导出 API settingID、顾客批量导入 API settingID、绑定通知自動返信ID 在同一表单内填写并统一保存。
- 保存成功后所有输入项进入只读状态；点击字段旁编辑按钮后，该字段进入编辑状态并清空输入框，点击取消后恢复编辑前展示。
- 只有 4 个 API KEY 保存后脱敏展示，只显示末尾 4 位；不得明文回填、查看、复制、写入日志或出现在错误摘要中。
- PID、settingID、自動返信ID 保存后按普通配置项只读展示，不做脱敏。
- 4 个 API KEY 的脱敏值必须禁止复制；前后端传输链路必须加密，后端按敏感配置加密存储。
- 配置页不得提供查看按钮、眼睛按钮或其他可在 VISTA 侧展示参数明文的操作。
- 页面不展示顾客信息同步开关和覆盖全部权限流程的权限同步总开关。
- VISTA 访问密码设置开关默认开启；关闭时必须二次确认，并提示安全性下降。
- `customer_status` 状态权限自动更新开关默认开启；关闭后不再将首次绑定后的 KASIKA `customer_status` 变化自动同步到 VISTA 标签映射，也不再因后续状态变化主动更新顾客权限。
- `customer_status` 状态权限自动更新开关关闭时，不影响 KASIKA 顾客同步、绑定、首次绑定标签初始化、状态展示和同步日志记录。
- 关闭 `customer_status` 状态权限自动更新开关不会自动撤销既有标签或既有权限；重新开启后不自动追溯补算历史顾客。
- VISTA 项目入口 URL 只读展示且可复制，复制成功后显示 Toast；复制出的 URL 使用当前项目唯一子域名，不包含具体 `kasikacid`。
- VISTA 服务器 IP 地址只读展示且可复制，复制成功后显示 Toast；页面需明确说明该 IP 用于 KASIKA 管理端 API 提交元 IP 限制 / 允许列表配置。
- VISTAURL、VISTAPWD 作为 KASIKA 自定义字段名只读展示在 VISTA 服务器 IP 地址下方同一行，均提供复制按钮，且不作为保存表单字段提交。
- VISTA 服务器 IP 地址不允许管理员编辑，不作为保存表单字段提交；部署环境 IP 变化时由系统配置更新展示值。
- KASIKA入口页不提供独立启用开关；能否完成处理取决于 Host 可识别、API 参数可用、`kasikacid` 合法和 KASIKA 顾客校验结果。
- 一期运营后台 KASIKA 联动控制总开关未开启时，配置页允许访问，但所有字段必须显示为空白态，不展示任何已保存配置、脱敏值、VISTA 服务器 IP 地址、VISTAURL、VISTAPWD 或 VISTA 项目入口 URL。
- 总开关未开启时，保存提交必须被拦截，并提示联系销售人员开启 KASIKA 功能。
- 总开关未开启导致保存失败时，不更新已保存配置、不清空草稿、不写入同步日志。
- 配置表单的保存成功、保存失败、新增、修改、清空不写入同步日志。
- KASIKA 联动配置页及其配置读取、保存、清空、复制和日志跳转接口仅 B 端管理员可用；销售经理和销售人员不得展示入口，也不得通过接口操作。

## 12. 修订记录

| 日期 | 修订内容 |
| --- | --- |
| 2026-07-13 | 明确 KASIKA 联动配置页仅 B 端管理员可访问和操作；销售经理与销售人员均禁止进入、查看、修改、保存、清空、复制配置或跳转日志，服务端必须校验角色。 |
