可视化分步手册

sem.chat 文档

根据真实的 sem.chat 仪表板流程构建的屏幕截图支持的 SEMJAT 手册。每个指南都会告诉您要单击什么、单击后会发生什么、如何测试、如何排除故障以及下一步要做什么。

未找到匹配的指南。尝试使用较短的关键字,例如小部件、API、语音、计费、webhook、WordPress、SendPulse 或调度。
截图说明:本手册中的每张图片都来自真实的 sem.chat 应用,并使用演示工作区捕获。发布前会遮盖敏感账户信息、客户数据、API 密钥、付款详情和私人对话内容。
01

开始使用

创建帐户、完成入职、了解仪表板、创建第一个机器人、私下测试、安装并选择正确的计划。

/授权注册、试用和第一个机器人
sem.chat 演示工作区的真实截图
1首先从公共网站或应用程序注册或登录。
2在依赖通知或帐单消息之前验证电子邮件地址。
3在打开仪表板之前使用入职创建第一个机器人。
/概述登录后概览
sem.chat 演示工作区的真实截图
1使用快速操作来创建机器人、查看机器人、打开分析或管理计费。
2在进行更改之前查看活动机器人、conversations、语音分钟数和满意度。
3每次设置测试后检查最近的活动。
首次推出

注册、开始试用并了解仪表板

这是做什么用的: 将此工作流程用于全新的工作空间或在培训从未使用过 sem.chat 的团队成员时使用。

开始之前
  • 使用可以接收验证和计费电子邮件的企业电子邮件。
  • 在邀请团队其他成员之前决定谁应该拥有该工作区。
  • 准备好安全的测试网站或暂存页面以安装小部件。
1

打开应用程序注册页面

从网站“登录/注册”按钮转到 app.sem.chat/auth。

预期结果: 身份验证页面显示登录和帐户创建选项。
2

创建帐户

输入企业电子邮件,创建密码,然后提交注册表单。

预期结果: 该应用程序要求验证或在帐户被接受后进入登录阶段。
3

验证电子邮件

打开验证电子邮件并单击确认链接。

预期结果: 该帐户可以接收计费、邀请、报告和警报消息。
4

完成入职

输入公司名称,描述助理目标,选择起始颜色,然后创建第一个机器人。

预期结果: 工作区将打开,并显示机器人草稿和活动试用状态。
5

打开概述

单击左侧边栏中的概述。

预期结果: 仪表板显示 usage 卡、快速操作和最近的活动。
6

选择下一步行动

使用“创建新机器人”进行设置,使用“查看所有机器人”进行管理,使用“分析”进行性能,或使用“计费”进行计划限制。

预期结果: 您可以根据工作区的状态知道从哪里继续。
如何测试: 创建一个私人测试机器人并在邀请队友之前发送一条测试消息。确认测试后概览活动发生变化。
问题修复
验证电子邮件未到达检查垃圾邮件,确认电子邮件拼写,然后请求另一封验证电子邮件。
仪表板在账单上打开工作空间可能需要积极的试验或计划。在设置之前开始试用或选择正确的计划。
队友无法访问工作区从“设置”、“团队”邀请他们,而不是共享所有者登录信息。

接下来做什么: 创建第一个机器人,私下测试它,然后在临时页面上安装小部件。

私人发射测试

在上线前创建第一个私人机器人测试

这是做什么用的: 在客户看到助理之前,使用它来验证帐户、机器人、小部件和历史记录跟踪。

开始之前
  • 准备好一个客户问题样本。
  • 准备好暂存页面或本地 HTML 测试页面。
  • 不要在第一次测试中使用真实的客户数据。
1

打开My Bots

单击侧栏中的 My Bots 或使用“概述”中的“查看所有机器人”。

预期结果: 您可以通过“新建机器人”按钮查看在入职期间创建的机器人或空状态。
2

打开机器人构建器

单击“新建机器人”或在现有机器人上单击“编辑”。

预期结果: Bot Builder 打开时包含基础知识、小部件、知识、语音和集成控件。
3

保存机器人一次

填写所需的机器人名称和第一条消息,然后单击“保存”。

预期结果: 机器人收到有效 ID 并可以生成嵌入代码。
4

私人预览

使用预览面板并提出您的示例问题。

预期结果: 答案应该符合您的指示或揭示缺少哪些知识。
5

在暂存上安装

打开嵌入,复制 HTML 代码段,并将其粘贴到暂存页面上的结束正文标记之前。

预期结果: 该小部件出现在桌面和移动设备上配置的角落中。
6

确认追踪

测试对话后打开收件箱或 Chat History。

预期结果: 测试对话将显示正确的机器人、频道和消息历史记录。
如何测试: 如果启用了语音,请发送一条短信和一条语音测试。确认两者均出现在 Chat History 中。
问题修复
嵌入代码不可用首先保存机器人。如果语音同步仍待处理,请等待同步或在完成必填字段后再次保存。
小部件显示错误的机器人确认代码片段中的 data-bot-id 与嵌入模式中的机器人 ID 匹配。
历史记录中没有出现任何对话刷新 Chat History,确认机器人处于活动状态,并确保测试发生在已安装的小部件上,而不是过时的页面上。

接下来做什么: 继续进行 Bot Builder 设置和知识培训。

02

创建并配置机器人

从 My Bots 和 Bot Builder 构建、编辑、预览、激活、传输或删除机器人。

/仪表板My Bots 控制中心
sem.chat 演示工作区的真实截图
1单击“新建机器人”以启动新助手。
2在每个机器人卡上使用“编辑”、“嵌入”、“传输”、“激活”或“删除”。
3测试前检查活动状态和上次更新时间。
/bots/:id/编辑Bot Builder 基础选项卡
sem.chat 演示工作区的真实截图
1填写机器人名称、头像、第一条消息和系统说明。
2在发布之前使用预览进行测试。
3在复制嵌入代码之前保存并同步。
创建机器人

从 My Bots 创建一个新机器人

这是做什么用的: 当新品牌、网站、支持队列或活动需要自己的助手时,请使用此工作流程。

开始之前
  • 准备机器人名称、目标、第一条消息和两个或三个示例问题。
  • 如果您计划导入内容,请收集公共网站 URL。
  • 确认计划允许您需要的机器人数量和语音/头像功能。
1

打开My Bots

单击侧栏中的 My Bots。

预期结果: 现有机器人和新机器人按钮可见。
2

单击“新建机器人”

从 My Bots 页面启动一个新机器人。

预期结果: Bot Builder 以草稿助理打开。
3

设置机器人身份

输入机器人名称,上传或选择头像,然后编写访客将看到的第一条消息。

预期结果: 预览面板显示助手姓名、头像和问候语。
4

编写系统指令

描述机器人应该做什么、应该如何说话、应该避免什么以及何时应该寻求人类帮助。

预期结果: 助手在添加知识之前就有了明确的行为规则。
5

添加基础知识

将重要的公司、产品、支持、定价和联系信息粘贴到知识区域。

预期结果: 该机器人可以回答常见问题,而无需导入网站。
6

拯救机器人

单击“保存”并等待保存或同步确认。

预期结果: 该机器人具有稳定的 ID,可以测试预览,并且可以使用嵌入选项。
7

预览结果

在预览中询问准备好的示例问题。

预期结果: 答案应遵循说明并使用您输入的知识。
8

仅在准备就绪时激活

私人测试通过后将机器人激活。

预期结果: 机器人已准备好处理小部件或频道流量。
如何测试: 至少提出五个现实问题。检查答案是否正确,是否保持品牌形象,以及是否在需要时寻求人工帮助。
问题修复
答案太笼统添加更多具体知识并用好的答案示例重写说明。
机器人拒绝它应该回答的问题删除过于严格的说明并添加该主题的可信知识。
保存不生成嵌入代码检查必填字段,并在语音提供商同步完成后再次保存。

接下来做什么: 配置小部件设置,添加网站知识,然后安装机器人。

管理机器人

编辑、克隆工作流程、传输、停用或删除机器人

这是做什么用的: 当机器人需要更新、所有权更改、临时暂停或永久删除时,请使用此工作流程。

开始之前
  • 导出删除机器人之前必须保留的任何对话或联系数据。
  • 在删除或转移之前,请确认机器人未嵌入实时网站。
  • 在停用生产机器人之前告诉队友。
1

打开My Bots

按名称或状态查找机器人卡。

预期结果: 该卡显示当前状态和可用操作。
2

单击编辑

打开机器人构建器并进行所需的更改。

预期结果: 编辑器加载当前配置。
3

保存并重新测试

每次材料更改后单击“保存”,然后运行预览问题。

预期结果: 保存的配置由预览和安装的小部件使用。
4

暂时停用

如果机器人应暂时停止处理访客,请使用活动开关。

预期结果: 该机器人停止提供实时流量,同时保留配置。
5

转让所有权

使用转接,输入收件人电子邮件并确认。

预期结果: 所选帐户根据应用程序转让流程接收所有权。
6

检查后才删除

仅当不再需要机器人时才使用删除、阅读警告并确认。

预期结果: 根据警告删除该机器人及相关配置。
如何测试: 编辑后,打开已安装的小部件并询问引发更改的确切问题。确认实时答案已更改。
问题修复
旧答案仍然出现刷新网站页面,确认您保存了正确的机器人,并检查导入的知识是否需要同步。
转账失败确认收件人电子邮件有效并且目标帐户可以接受机器人。
误点击删除在最终确认之前停止。存在删除警告,因为该操作可能会永久删除机器人数据。

接下来做什么: 实时更改后查看分析和历史记录,以确保改善访客体验。

03

安装小部件

复制正确的嵌入代码,将其安装在 HTML、WordPress、React 或高级 SDK 上下文中,然后验证桌面和移动设备行为。

嵌入模态复制网站安装片段
sem.chat 演示工作区的真实截图
1根据站点堆栈选择 HTML、WordPress、React 或 NPM/SDK。
2保存并同步机器人后复制代码。
3将代码片段粘贴到结束正文标记之前或框架布局中。
HTML 安装

在标准 HTML 网站上安装小部件

这是做什么用的: 当您可以编辑页面模板、主题页脚或全局 HTML 布局时,请使用此选项。

开始之前
  • 首先保存机器人,以便嵌入模式具有真实的机器人 ID。
  • 在生产前使用临时站点。
  • 保留模式中的确切脚本版本和 data-bot-id。
1

打开My Bots

找到您要安装的机器人并单击嵌入。

预期结果: 嵌入模式将打开并带有安装选项卡。
2

选择HTML

选择 HTML 选项卡并单击复制代码。

预期结果: 复制小部件脚本并附加机器人 ID。
3

打开网站模板

编辑在小部件应出现的每个页面上呈现的全局页脚或布局文件。

预期结果: 您正在编辑共享站点外壳,而不是单个独立页面,除非是故意的。
4

关闭主体之前粘贴

将代码片段粘贴到紧邻结束正文标记之前。

预期结果: 该脚本在页面内容之后加载,并且可以挂载小部件容器。
5

发布或部署

保存模板并部署站点。

预期结果: 小部件脚本已在目标页面上运行。
6

测试桌面和移动设备

在新的浏览器窗口和移动视口中打开该网站。

预期结果: 该小部件出现在配置的位置并打开,没有控制台错误。
如何测试: 从实时页面发送消息,然后打开收件箱和 Chat History 以确认对话属于正确的机器人。
问题修复
小部件丢失确认代码位于结束正文标记之前,脚本未被站点构建器阻止,并且机器人处于活动状态。
出现错误的机器人再次复制该片段并将 data-bot-id 与所需的机器人进行比较。
小部件与页面控件重叠在“小部件设置”中更改位置或大小,然后在移动设备上再次测试。

接下来做什么: 安装后调整小部件设置和潜在客户捕获。

HTML 嵌入
<!-- sem.chat Voice & Text Widget -->
<script
  src="https://app.sem.chat/widget-v2.js?v=16"
  data-bot-id="YOUR_BOT_ID"
></script>
平台安装

安装在 WordPress、React 或高级语音 SDK 流中

这是做什么用的: 当网站由 CMS、React 应用程序或自定义语音集成管理时使用此选项。

开始之前
  • 了解哪个堆栈拥有共享布局。
  • 对所选机器人使用 sem.chat 中显示的确切代码段。
  • 对于高级 SDK 使用,请确认您拥有所需的 Vapi 公钥和助理 ID。
1

WordPress 选项

使用外观、主题编辑器、footer.php 或可信的页眉和页脚插件。

预期结果: 该代码段加载到公共 WordPress 页面上。
2

React 选项

创建一个小的 ChatWidget 组件,将脚本附加到 useEffect 中,并将其渲染在根布局中。

预期结果: 该小部件加载一次并在布局卸载时进行清理。
3

高级 SDK 选项

仅当您需要默认小部件之外的自定义语音通话控件时,才使用 NPM/SDK 选项卡。

预期结果: 您的应用程序控制语音会话,而 sem.chat 仍然是配置的助手源。
4

验证机器人 ID

确认已安装的代码引用嵌入模式中的机器人 ID。

预期结果: 实时小部件连接到目标助手。
5

检查控制台

打开浏览器开发者工具并重新加载。

预期结果: 不存在阻塞脚本、重复容器或网络错误。
如何测试: 从已安装的站点完成一条测试消息,然后确认它出现在收件箱中,并带有预期页面 URL。
问题修复
React 加载重复的小部件使用 ref 保护脚本插入或仅在根布局中渲染组件。
WordPress 删除脚本标签使用允许脚本的页脚注入插件或主题文件。
SDK 通话无法启动检查公钥、助理 ID、浏览器权限并规划语音访问。

接下来做什么: 转到“小部件设置”以控制行为、品牌和潜在客户捕获。

WordPress 页脚片段
<!-- sem.chat Widget (WordPress Compatible) -->
<script>
window.SEMCHAT_CONFIG = { botId: "YOUR_BOT_ID" };
</script>
<script src="https://app.sem.chat/widget-v2.js?v=16"></script>
React 组件
import { useEffect, useRef } from 'react';

export function ChatWidget() {
  const loaded = useRef(false);

  useEffect(() => {
    if (loaded.current) return;
    loaded.current = true;

    const script = document.createElement('script');
    script.src = 'https://app.sem.chat/widget-v2.js?v=16';
    script.setAttribute('data-bot-id', 'YOUR_BOT_ID');
    script.async = true;
    document.body.appendChild(script);

    return () => {
      const container = document.getElementById('semchat-widget-container');
      if (container) container.remove();
      script.remove();
    };
  }, []);

  return null;
}
高级语音SDK
npm install @vapi-ai/web

import Vapi from '@vapi-ai/web';

const vapi = new Vapi('YOUR_VAPI_PUBLIC_KEY');
await vapi.start('YOUR_ASSISTANT_ID');

vapi.on('call-start', () => console.log('Call started'));
vapi.on('call-end', () => console.log('Call ended'));
04

小部件设置

配置模式、主题、大小、位置、颜色、品牌、反应、声音、同意、潜在客户捕获、评级、后续电子邮件和激活状态。

Bot Builder / 小部件小部件外观和访客行为
sem.chat 演示工作区的真实截图
1选择chat、语音或混合模式。
2设置主题、颜色、位置、大小、品牌、同意和声音。
3配置潜在客户捕获、评级、反应和后续行为。
小部件行为

配置面向访问者的小部件行为

这是做什么用的: 在首次安装后或小部件需要匹配网站并捕获更好的潜在客户时使用此功能。

开始之前
  • 在暂存页面上安装小部件。
  • 了解访问者是否应以 chat、语音或两者开头。
  • 如果该地区需要,请准备同意书和潜在客户捕获副本。
1

打开机器人构建器

打开 My Bots,单击“编辑”,然后选择“小组件”选项卡。

预期结果: 将为所选机器人显示小部件控件。
2

选择模式

根据您想要的访客体验选择聊天、语音或混合。

预期结果: 预览将更改以显示所选模式。
3

设置外观

选择主题、颜色、尺寸、按钮位置和品牌选项。

预期结果: 小部件与站点匹配,但不覆盖重要内容。
4

启用访客控制

打开或关闭反应、声音、评级和同意提示。

预期结果: 访问者只能看到您希望他们使用的控件。
5

配置潜在客户捕获

选择必填字段、可选描述字段以及表单何时出现。

预期结果: 根据您的设置,在 conversations 之前或期间收集联系人。
6

设置后续电子邮件

如果您的计划包含后续电子邮件行为,请配置它。

预期结果: 解决conversations后,访问者可以收到后续消息。
7

保存并测试

单击“保存”,重新加载暂存页面,然后打开小部件。

预期结果: 实时小部件与保存的设置相匹配。
如何测试: 在桌面和移动设备上打开小部件,提交潜在客户表单,留下评分,并确认联系和对话已记录。
问题修复
颜色没有更新保存机器人,硬刷新网站,并确认安装的小部件使用相同的机器人 ID。
缺少潜在客户字段确认已启用引线捕获并且满足所选的触发条件。
访客无法使用语音检查语音设置、浏览器麦克风权限、计划访问权限和语音分钟数限制。

接下来做什么: 在生产启动之前添加语音/头像设置和知识源。

05

声音和头像

选择库存语音、配置语音模式和限制、读取文字记录、克隆语音、分配克隆语音以及管理库存或自定义头像。

Bot Builder / 语音声音、限制、文字记录和头像
sem.chat 演示工作区的真实截图
1选择库存声音或保存的克隆声音。
2设置语音分钟数限制和文字记录保存。
3选择库存头像或上传自定义头像(如果计划允许)。
语音设置

设置语音通话和文字记录

这是做什么用的: 当访问者需要与机器人交谈而不仅仅是打字时,请使用此选项。

开始之前
  • 确认计划包括语音分钟数和所需的语音/头像选项。
  • 使用安静的浏览器环境进行测试。
  • 准备一个现实的支持或销售问题以通过语音进行测试。
1

打开语音设置

打开机器人构建器并选择“语音”或“语音和头像”区域。

预期结果: 语音控制和当前语音选择可见。
2

选择库存声音

预览可用的声音,选择最合适的,然后保存选择。

预期结果: 机器人使用所选的语音进行通话。
3

配置语音模式

当访问者可以使用语音时,使用小部件设置选择语音或混合。

预期结果: 访问者会在小部件中看到语音选项。
4

设置语音限制

定义每个用户或工作区限制(如果可用)。

预期结果: 长时间或重复的通话所消耗的分钟数不得超过预期。
5

启用转录本

如果您需要历史记录中的通话审核,请打开通话记录保存功能。

预期结果: 语音通话在会话结束后创建可读的文字记录。
6

测试通话

打开小部件,允许访问麦克风,开始通话,然后提出准备好的问题。

预期结果: 机器人通过语音进行响应,通话干净地结束。
7

阅读文字记录

打开Chat History并找到语音对话。

预期结果: 文字记录显示了访客和机器人所说的话。
如何测试: 完成一通简短的通话并确认已记录语音分钟数、文字记录和对话模式。
问题修复
浏览器屏蔽麦克风在浏览器中允许麦克风权限并重新加载页面。
语音选项已锁定打开 Billing 并确认工作区计划包含语音功能。
文字记录为空确认已启用记录保存并且通话正常结束。

接下来做什么: 添加或完善知识,使语音答案准确。

声音克隆和头像

克隆声音并分配自定义头像

这是做什么用的: 当助理需要品牌语音或会说话的化身体验时,请使用此功能。

开始之前
  • 仅使用您有权使用的音频和图像。
  • 录制低背景噪音的干净语音样本。
  • 确认克隆声音和自定义头像的计划限制。
1

打开语音克隆

单击“语音”区域中的“克隆语音”。

预期结果: 上传对话框显示已接受的示例要求。
2

上传样本

上传一到五个清晰录音并提交克隆请求。

预期结果: 处理后会出现克隆的语音,或者对话框显示下一个要求。
3

分配克隆的声音

在语音选择器中选择克隆的语音并保存。

预期结果: 未来的通话将使用克隆的语音。
4

选择股票头像

如果不需要上传自定义头像,请选择包含的头像。

预期结果: 语音体验具有视觉识别性。
5

上传自定义头像

如果您的计划支持,请上传清晰的人脸图像或短视频。

预期结果: 化身经过处理并可供选择。
6

运行完整预览

启动语音通话并一起确认语音、头像和转录行为。

预期结果: 访客体验与配置的品牌相匹配。
如何测试: 使用所选的克隆语音提出一个简短的问题,并确认呼叫使用预期的语音/头像。
问题修复
克隆质量较差用一个扬声器录制更干净的样本,音量稳定,没有音乐。
无法上传自定义头像检查计费以了解计划控制的头像限制。
古老的声音仍在响起选择新语音后保存机器人并重新加载小部件页面。

接下来做什么: 继续了解知识和数据,以便语音体验获得准确的答案。

06

知识与数据

添加手动知识、导入网站内容、应用抓取结果、同步导入的内容、添加产品 Feed URLs、刷新或删除 Feed,并使用测试问题验证答案。

Bot Builder / 知识知识来源和答案测试
sem.chat 演示工作区的真实截图
1添加有关政策、定价和品牌规则的手动知识。
2导入网站页面并应用抓取结果。
3添加产品 Feed 并在库存变化时同步它们。
知识来源

使用手动知识、网站导入和产品源来训练机器人

这是做什么用的: 每当助理给出不完整的答案或需要新的产品、政策或网站信息时,请使用此功能。

开始之前
  • 准备源 URL 和产品 Feed URL。
  • 决定不应导入哪些页面,例如管理页面或私人页面。
  • 为您添加的每个主题创建测试问题。
1

开放知识

打开 Bot Builder 并选择“知识”或“数据”选项卡。

预期结果: 手动知识、网站导入和产品提要工具都是可见的。
2

添加手工知识

粘贴简明的事实、政策、定价、联系方式和答案风格注释。

预期结果: 该机器人有一个直接可信的高优先级答案来源。
3

导入网站内容

粘贴公共网站 URL 并开始抓取/导入。

预期结果: 抓取结果显示发现的页面或导入状态。
4

审查并应用结果

保留有用的页面,删除不相关的页面,然后应用所选内容。

预期结果: 只有经过批准的网站内容才会进入知识库。
5

添加产品 Feed URLs

粘贴 Google Merchant Center 或支持的 Feed URL 并导入。

预期结果: 产品、价格、可用性和属性可供机器人使用。
6

刷新或删除 Feed

当目录数据更改时使用刷新并删除不再使用的提要。

预期结果: 该机器人可以避免过时或重复的产品数据。
7

保存并同步

保存机器人并等待同步完成。

预期结果: 预览和实时小部件答案使用最新的知识。
8

提出验证问题

针对您添加的每个来源提出一个测试问题。

预期结果: 答案准确地引用或反映了更新的内容。
如何测试: 询问有关定价、退货、可用性、公司信息和不受支持的主题的问题。确认机器人回答已知主题并且不会发明未知细节。
问题修复
爬虫导入不相关页面从所选结果中删除这些页面并添加更清晰的手动说明。
产品价格陈旧刷新提要并确认提要 URL 本身包含当前值。
机器人编造答案添加一条规则,即机器人应该说它不确定,并在知识缺失时提供人类支持。

接下来做什么: 返回预览,再次测试,然后安装或更新小部件。

07

收件箱、Live Support、历史记录、联系人

处理日常 conversations、提出实时支持请求、将控制权交还给 AI、导出历史记录、管理联系人并将联系人同步到 SendPulse。

/收件箱收件箱对话工作流程
sem.chat 演示工作区的真实截图
1按机器人或渠道过滤。
2打开对话并在需要时以人类身份进行回复。
3小心使用翻译、解析和切换控件。
/实时支持实时支持切换控制
sem.chat 演示工作区的真实截图
1快速要求等待交接。
2作为客服人员回复或将对话交还给 AI。
3当访客不再需要人工帮助时进行解决。
/chat-历史对话历史记录和导出
sem.chat 演示工作区的真实截图
1按访客、机器人、渠道或日期搜索。
2打开文本和语音会话的完整记录。
3需要时导出 CSV 或 JSON。
/联系人联系人和 SendPulse 导出
sem.chat 演示工作区的真实截图
1按机器人或来源过滤联系人。
2打开联系方式和对话上下文。
3将选定的联系人导出或同步到 SendPulse。
收件箱回复

打开对话并发送人工回复

这是做什么用的: 当操作员需要从 sem.chat 响应客户而不是让 AI 单独继续时,请使用此选项。

开始之前
  • 确认操作员有权访问机器人或工作区。
  • 回复前请先阅读对话内容。
  • 了解访客是否期望使用相同的语言。
1

打开收件箱

单击边栏中的收件箱。

预期结果: 最近的 conversations 显示有机器人、频道、访客、状态和时间。
2

如果需要过滤

使用频道、机器人、未读或状态过滤器来查找对话。

预期结果: 该列表缩小到您需要的对话集。
3

打开对话

单击访客行。

预期结果: 完整的线程、访客信息和回复控件都是可见的。
4

如果需要的话翻译

当访问者语言与代理语言不同时,使用翻译控件。

预期结果: 代理人能够理解并做出适当答复。
5

发送回复

写下人工回复并发送。

预期结果: 该消息将作为代理/人工回复添加到线程中。
6

解决或保持开放

如果对话已完成,请解决该对话,或者将其保留以进行后续处理。

预期结果: 收件箱状态与真实客户状态相符。
如何测试: 向测试对话发送安全测试回复,并确认其显示在访客小部件和 Chat History 中。
问题修复
回复发送失败检查网络状态、对话状态以及是否已申请实时支持。
访客语言错误在回复之前使用翻译或更新机器人语言设置。
对话不在收件箱中搜索 Chat History 并确认小部件测试使用了正确的机器人。

接下来做什么: 使用 Live Support 进行活动切换队列,使用 Chat History 进行审核。

现场支持

声明、回复、交回 AI 并解决交接问题

这是做什么用的: 当人工智能请求人类或访客明确需要代理时,请使用此选项。

开始之前
  • 在启用实时支持之前请有可用的代理。
  • 定义人工智能何时应在机器人指令中请求切换。
  • 保持启用切换警报的通知设置。
1

打开Live Support

单击侧栏中的 Live Support。

预期结果: 等待和主动切换 conversations 可见。
2

认领请求

单击等待对话中的“声明”。

预期结果: 其他代理可以看到对话正在积极处理。
3

阅读上下文

在回复之前打开消息和访客详细信息。

预期结果: 代理了解发生切换的原因。
4

发送人工回复

明确回应并保持帖子更新。

预期结果: 访客收到人类的回应。
5

如果合适的话交还给人工智能

当问题得到解答并且人工智能可以继续时,请用手回来。

预期结果: AI 继续处理对话。
6

完成后解决

当访客不再需要帮助后,单击“解决”。

预期结果: 切换被关闭并从活动队列中删除。
如何测试: 创建测试移交,认领它,回复一次,交还,并确认 Live Support 和 Chat History 中的状态更改。
问题修复
代理错过请求启用浏览器/电子邮件/推送通知并添加队列所有权进程。
人工智能的接管速度太快了调整指令和交接规则,使人类控制保持活动状态,直到解决或交还。
外部 CRM 不同步使用 Webhook 或从“开发人员食谱”部分进行轮询。

接下来做什么: 如果支持团队在 sem.chat 之外工作,请连接 CRM/webhooks。

历史和联系方式

搜索、导出和使用对话/联系人记录

这是做什么用的: 将其用于审核、潜在客户审核、CSV 导出和 SendPulse 同步。

开始之前
  • 决定您是否需要 conversations、联系人或两者都需要。
  • 导出前应用正确的日期范围。
  • 请勿导出超出需要的个人数据。
1

打开Chat History

单击侧栏中的 Chat History。

预期结果: 对话过滤器、统计数据和记录列表都是可见的。
2

搜索和过滤

按机器人、渠道、模式、访客或日期范围过滤。

预期结果: 仅匹配的 conversations 保持可见。
3

打开成绩单

单击对话以阅读完整的消息线程。

预期结果: 完整的上下文、联系方式和对话元数据都是可见的。
4

导出conversations

单击“导出”并选择所需的格式(如果可用)。

预期结果: 导出包含过滤后的对话数据。
5

打开联系人

单击侧栏中的“联系人”。

预期结果: 潜在客户/联系人记录会显示来源、机器人和状态。
6

过滤和导出联系人

搜索联系人,选择所需记录,然后导出或同步到SendPulse。

预期结果: 根据所选操作,所选联系人在 sem.chat 外部可用。
如何测试: 导出一个小的过滤后的 CSV 并在本地打开它以确认列和日期范围是否正确。
问题修复
通讯录中缺少联系人确认潜在客户捕获已启用并且访客提交了表单。
出口量过大导出前缩小日期范围或机器人过滤器。
SendPulse 同步不可用首先在“集成”中连接 SendPulse,然后返回到“联系人”。

接下来做什么: 查看分析以了解操作运行后的性能趋势。

08

渠道与整合

通过 BotFather、手动凭据、备用 chat 链接、SendPulse 和 CRM 集成连接 Slack、Facebook、Instagram、WhatsApp、Telegram。

/集成渠道、CRM 和电子邮件连接
sem.chat 演示工作区的真实截图
1选择频道或CRM集成卡。
2遵循每个提供商的 OAuth 或凭据步骤。
3从同一页面断开或重新测试集成。
连接渠道

连接消息通道或 CRM 集成

这是做什么用的: 当 sem.chat 应在网站小部件之外接收 conversations 或将联系人发送到其他工具时,请使用此选项。

开始之前
  • 拥有外部平台的管理员访问权限。
  • 知道哪个机器人应该接收频道消息。
  • 在连接生产帐户之前使用测试通道。
1

开放式集成

单击侧栏中的集成。

预期结果: 可用频道、CRM 工具、SendPulse 和网站小部件选项均可见。
2

选择集成

单击 Slack、元渠道、Telegram、SendPulse、CRM 或手动凭据上的“连接”。

预期结果: 设置对话框或 OAuth 流程打开。
3

完整的提供商设置

对于 OAuth 通道,批准请求的权限。对于手动渠道,请粘贴所需的令牌、密码、帐户 ID 或 Webhook URL。

预期结果: sem.chat 存储连接并将集成显示为已连接。
4

分配机器人

当对话框询问时,选择哪个机器人应该处理来自该通道的消息。

预期结果: 传入消息路由至正确的助手。
5

测试通道

从外部通道发送测试消息。

预期结果: 该消息将显示在收件箱或 Chat History 中的正确渠道下。
6

如果需要断开连接

当通道应停止时,使用断开与集成卡的连接。

预期结果: sem.chat 停止通过该集成接收或发送。
如何测试: 通过连接的通道发送一条测试消息并确认机器人回复、收件箱行和历史记录。
问题修复
Telegram 令牌失败在 BotFather 中创建或重置令牌并再次粘贴。
Slack 消息未到达检查应用程序范围、事件订阅 URL、机器人令牌、签名密钥和频道成员资格。
元通道连接失败确认 Facebook/Instagram/WhatsApp 帐户具有管理员权限和所需的业务访问权限。
SendPulse 同步失败重新连接 SendPulse 并确认联系人字段已映射。

接下来做什么: 记录团队的渠道所有权并在启动后监控收件箱。

09

调度

创建活动类型、配置可用性、连接日历、管理预订、创建一次性链接、配置预订电子邮件、审查分析、设置付费活动以及测试公共预订链接。

/调度安排工作空间
sem.chat 演示工作区的真实截图
1使用事件类型、预订、分析、一次性链接、日历、电子邮件和设置选项卡。
2编辑、复制、嵌入、激活或暂停事件类型。
3复制公共链接并运行私人预订测试。
活动编辑事件类型配置
sem.chat 演示工作区的真实截图
1输入名称、描述、持续时间、位置和缓冲区。
2设置可用性、预订窗口、问题、付费活动选项和取消规则。
3在共享链接之前保存活动。
/book/:用户名/:eventSlug公开预约页面
sem.chat 演示工作区的真实截图
1访客从公共预订页面选择日期。
2访客选择可用的时间段。
3访客确认预订并收到确认电子邮件。
事件类型

创建活动类型并发布预订链接

这是做什么用的: 当访客需要预订演示、咨询、销售电话、入职培训或支持会议时,请使用此功能。

开始之前
  • 选择活动名称、持续时间、会议类型和所有者。
  • 在共享链接之前设置时区和可用性。
  • 如果重复预订很重要,请连接日历。
1

开放式调度

单击侧栏中的“计划”。

预期结果: 日程安排工作区显示事件类型、预订、分析、一次性链接、日历、电子邮件和设置的选项卡。
2

创建事件类型

单击“创建”,然后添加名称、描述、持续时间、位置、缓冲区和预订规则。

预期结果: 该活动有足够的公共信息供参观者了解。
3

设置可用性

配置每周时间、日期覆盖、通知窗口和预订窗口。

预期结果: 访客只能看到您愿意提供的时间。
4

添加问题

添加必填问题,例如电话、公司、网站或会议目标。

预期结果: 预订会在通话前收集您的团队所需的背景信息。
5

连接日历

打开日历并连接 Google、Outlook 或 iCal(如果可用)。

预期结果: 可以阻止繁忙时间并将确认的预订写入日历。
6

设置电子邮件和提醒

打开电子邮件并配置确认、提醒、取消和重新安排消息。

预期结果: 访客收到正确的预订信息。
7

共享并测试公共链接

复制活动链接,在私人窗口中打开它,选择一个时段,然后完成测试预订。

预期结果: 预订将显示在“预订”选项卡中,并会发送确认消息。
如何测试: 完成一项测试预订、一项重新安排和一项取消。确认每个事件都出现在“日程安排”和连接的日历中。
问题修复
公共页面上没有出现任何时间检查时区、每周可用性、日期覆盖、通知窗口和连接的日历冲突。
预订电子邮件丢失检查电子邮件设置和垃圾邮件文件夹,然后发送另一个测试预订。
付费事件付款失败发布前确认计费/付款集成设置和货币有效。

接下来做什么: 在机器人、网站或后续电子邮件中嵌入预订链接。

高级调度

使用一次性链接、分析、嵌入和付费活动

这是做什么用的: 当安排需要临时可用性、报告、嵌入式预订或付款时,请使用此功能。

开始之前
  • 首先创建至少一种事件类型。
  • 在大量使用一次性链接之前先连接日历。
  • 在启用付费活动之前定义退款/取消政策。
1

创建一次性链接

打开一次性链接,选择提供的插槽或规则,然后生成链接。

预期结果: 接收者只能从选定的可用性中进行预订。
2

嵌入调度

如果预订流程应显示在您的网站上,请使用活动卡嵌入选项。

预期结果: 预订UI可以放置在访客转化的页面中。
3

查看调度分析

打开“调度”内的“分析”。

预期结果: 您可以查看预订、完成趋势和活动类型绩效。
4

启用付费活动

打开事件编辑器,设置价格、货币和支付行为。

预期结果: 访客必须根据活动设置完成付款步骤。
5

审核预约

打开预订并查看即将到来的、已完成的、已取消的和重新安排的条目。

预期结果: 团队可以管理出勤和跟进。
如何测试: 通过公共页面和嵌入页面(如果使用)进行预订。确认两者创建相同类型的预订记录。
问题修复
一次性链接暴露错误的插槽使用较小的槽集或更严格的日期范围重新生成链接。
嵌入式预订范围太窄将嵌入内容放置在更宽的内容容器中并检查移动布局。
分析看起来很空洞创建或等待真实预订;分析取决于预订记录。

接下来做什么: 将调度结果连接到报告和分析。

10

分析和报告

选择日期范围、使用自定义日期、读取核心指标、导出 CSV、查看满意度和对话趋势、配置电子邮件报告并验证交付。

/分析分析仪表板
sem.chat 演示工作区的真实截图
1选择日期范围或自定义日期。
2阅读对话、满意度、语言、渠道和转化指标。
3导出 CSV 以进行离线分析。
设置/报告电子邮件报告设置
sem.chat 演示工作区的真实截图
1选择每日、每周或每月报告节奏。
2添加报告收件人。
3发送即时报告以测试交付。
分析审查

读取分析并导出性能数据

这是做什么用的: 使用它进行每周审查、启动检查、支持质量审查和转化分析。

开始之前
  • 在读取指标之前选择日期范围。
  • 了解您正在评估哪个机器人或渠道。
  • 报告生产性能时排除私人测试日期。
1

开放分析

单击侧栏中的“分析”。

预期结果: 仪表板指标和图表面板可见。
2

选择日期范围

选择今天、7 天、30 天或自定义日期。

预期结果: 所有图表都会更新到选定的时间段。
3

读取核心指标

查看 conversations、语音分钟数、满意度、转化率和渠道组合。

预期结果: 您了解客户互动的数量和质量。
4

回顾趋势

查看对话趋势、满意度变化、热门问题和语言/渠道模式。

预期结果: 您可以确定在哪里改进机器人指令或人员配置。
5

导出CSV

当团队需要电子表格分析时,请使用导出 CSV。

预期结果: CSV 包含选定的日期范围和指标。
6

将发现转化为改变

根据数据更新机器人指令、知识、小部件设置或支持范围。

预期结果: 分析可以带来具体的产品改进。
如何测试: 导出一个小的自定义日期 CSV 并验证日期范围和指标与仪表板显示的内容是否匹配。
问题修复
指标似乎太高检查暂存/测试 conversations 是否包含在所选日期范围内。
满足感是空的在小部件设置中启用评分并等待访问者留下评分。
语音分钟数与预期不符确认仅在目标机器人上启用语音模式。

接下来做什么: 安排电子邮件报告以实现重复可见性。

报告

配置定期电子邮件报告并测试发送

这是做什么用的: 当所有者、经理或客户需要自动绩效摘要时使用此功能。

开始之前
  • 决定谁应该接收报告。
  • 使用经过验证的电子邮件地址。
  • 选择与业务审查节奏相匹配的节奏。
1

打开“设置”,然后打开“报告”

转至“设置”并选择“报告”选项卡,或使用“报告”重定向(如果可用)。

预期结果: 报告节奏、收件人和历史记录都是可见的。
2

选择节奏

启用每日、每周或每月报告。

预期结果: 为工作区存储报告计划。
3

添加收件人

输入应接收报告的电子邮件地址。

预期结果: 报告被发送给正确的利益相关者。
4

发送即时报告

单击立即发送或等效的即时报告操作。

预期结果: 立即发送报告电子邮件以供验证。
5

查看报告历史记录

发送报告后检查历史记录面板。

预期结果: 您可以确认交货状态和时间。
如何测试: 向测试收件人发送即时报告并确认接收和格式化。
问题修复
报告电子邮件未到达检查收件人拼写、垃圾邮件文件夹和报告历史记录状态。
错误的人收到举报更新收件人并在下次计划的发送之前保存。
报告内容感觉嘈杂调整日期范围预期并使用 Analytics 进行更深入的手动审核。

接下来做什么: 使用报告节奏作为机器人改进的操作节奏。

11

计费、团队、安全、设置、附属机构

启动或升级计划、管理计费门户、邀请队友、设置角色、编辑个人资料/语言、配置通知、启用 2FA、使用危险区域操作以及运行联属网络营销工作流程。

/计费计划和计费控制
sem.chat 演示工作区的真实截图
1查看当前计划、试用状态和 usage 限制。
2升级前比较计划功能。
3打开账单门户以获取发票、付款方式、取消或重新激活。
/设置设置、团队和安全
sem.chat 演示工作区的真实截图
1使用常规作为配置文件和语言。
2使用 Team 进行邀请和角色。
3使用 2FA、API 密钥和危险区域操作的安全性。
/附属机构联盟计划控制
sem.chat 演示工作区的真实截图
1加入该计划以创建推荐链接。
2复制活动的推荐链接。
3设置付款电子邮件并请求符合条件的付款。
计费

启动、升级、取消或重新激活计划

这是做什么用的: 当工作区需要试用激活、更多限制、发票、付款更新或订阅更改时,请使用此功能。

开始之前
  • 帐户所有者或计费管理员应执行计费操作。
  • 确认哪些功能受到计划控制:语音、克隆语音、自定义头像、API、团队、CRM 和频道。
  • 使用安全计费门户更改付款方式和发票。
1

开放式账单

单击侧栏中的“帐单”。

预期结果: 当前计划、试用状态、usage 限制和计划卡均可见。
2

比较计划

查看 chat、语音、团队、API、头像、集成、调度和支持限制。

预期结果: 您知道哪个计划可以解锁所需的功能。
3

选择计费间隔

如果切换可用,请选择每月或每年。

预期结果: 定价和节省会在选定的时间间隔内更新。
4

升级或开始结账

选择所需的计划并完成结账。

预期结果: 付款确认后订阅生效。
5

打开客户门户

使用计费门户了解付款方式、发票、取消或重新激活。

预期结果: 敏感的计费操作发生在安全提供商门户中。
6

验证功能访问

返回到锁定的功能并重新加载应用程序。

预期结果: 如果计划包含解锁的功能,则现在可以使用该功能。
如何测试: 升级后,打开之前锁定的功能,例如语音克隆或API键,并确认锁定已消失。
问题修复
升级后功能保持锁定状态刷新应用程序,等待订阅同步,然后再次检查计费。
结帐已取消返回账单并再次开始结账;取消结帐后不会发生计划更改。
需要发票或换卡打开客户门户,而不是在应用程序内编辑付款详细信息。

接下来做什么: 邀请队友并保护所有者帐户。

团队和安全

邀请队友、设置角色、编辑个人资料、启用 2FA 以及管理设置

这是做什么用的: 当工作空间从单独设置转变为团队操作时使用此功能。

开始之前
  • 在发送邀请之前了解每个队友的角色。
  • 使用最低权限访问:所有者、管理员、编辑者、查看者。
  • 准备好用于 2FA 的身份验证器应用程序。
1

打开设置

单击侧栏中的“设置”。

预期结果: 常规、通知、团队、报告、开发人员、安全和相关选项卡均可见。
2

编辑个人资料和语言

更新常规中的显示名称、个人资料信息和首选语言。

预期结果: 该应用程序可以正确识别用户并使用所选语言(如果可用)。
3

邀请团队成员

打开团队,输入电子邮件,选择角色,然后发送邀请。

预期结果: 队友收到邀请链接并显示为待处理状态,直至被接受。
4

设置角色权限

使用所有者进行完全控制,使用管理员进行管理,使用编辑者进行内容更改,使用查看者进行只读访问。

预期结果: 每个用户都拥有与其职责相适应的访问权限。
5

配置通知

选择电子邮件、浏览器、推送、实时支持、计费和报告通知。

预期结果: 合适的人会收到警报,而不会产生不必要的噪音。
6

启用 2FA

打开安全性,启用双因素身份验证,扫描代码并存储恢复详细信息。

预期结果: 密码登录后,该帐户需要第二个因素。
7

谨慎使用危险区域行动

在破坏性帐户操作之前导出所需的数据并确认活动的小部件/集成。

预期结果: 工作区可避免意外数据丢失。
如何测试: 邀请测试团队成员,在单独的浏览器中接受邀请,并确认该角色仅公开预期的功能。
问题修复
邀请电子邮件丢失检查垃圾邮件,重新发送邀请并验证地址。
队友看得太多了降低他们的角色并检查机器人访问设置。
2FA 设置失败检查设备时间、重新扫描二维码并在依赖之前存储恢复详细信息。

接下来做什么: 仅为需要的用户和服务配置 API 密钥。

附属机构

加入会员、复制推荐链接、设置付款电子邮件并请求付款

这是做什么用的: 当合作伙伴或客户想要推荐新的 sem.chat 用户并跟踪佣金活动时,请使用此选项。

开始之前
  • 使用应该拥有推荐归因的帐户。
  • 在请求付款之前准备好付款电子邮件。
  • 在发布推荐活动之前检查计划规则。
1

开放联盟

单击侧边栏中的联属营销或从“设置”中打开联属营销选项卡(如果有链接)。

预期结果: 联盟计划页面显示加入、推荐、支付和历史记录区域。
2

加入该计划

如果帐户尚未加入,请单击“加入”。

预期结果: 创建推荐代码和推荐链接。
3

复制推荐链接

复制唯一链接并将其用于内容、营销活动或合作伙伴消息中。

预期结果: 通过该链接进行的注册可归因于联属帐户。
4

设置付款电子邮件

输入付款电子邮件并保存。

预期结果: 符合条件的付款可以正确传送。
5

审查推荐和佣金

检查推荐列表、佣金状态和付款历史记录。

预期结果: 您知道什么是待处理的、符合条件的或已支付的。
6

请求付款

当满足计划规则和最低限额时,单击“请求付款”。

预期结果: 记录支付请求以供处理。
如何测试: 在私人浏览器中打开推荐链接,并通过推荐跟踪确认其位于预期的注册流程中。
问题修复
推荐链接丢失首先加入该计划或加入后刷新联属页面。
付款请求不可用检查最低付款阈值、合格佣金状态和付款电子邮件。
未归因推荐确认访问者使用了准确的推荐链接并且没有删除跟踪参数。

接下来做什么: 使用分析和报告来监控推荐的客户影响(如果适用)。

12

通知和 App Updates

查看警报、将通知标记为已读、过滤重要事件以及使用应用程序更新来了解新产品更改。

/通知通知中心
sem.chat 演示工作区的真实截图
1查看未读警报后使用“标记为全部已读”。
2按未读、计费、实时支持或系统事件进行过滤。
3阅读警报后打开相关功能。
/应用程序更新应用程序更新源
sem.chat 演示工作区的真实截图
1阅读发行说明以了解新功能和修复。
2在工作流程发生变化之前,使用详细信息来培训团队成员。
3注意到 UI 或行为更改后检查更新。
通知

查看通知并根据警报采取行动

这是做什么用的: 当应用程序报告交接、计费状态、系统事件、报告传送或重要的工作区活动时,请使用此功能。

开始之前
  • 确保在“设置”中设置通知首选项。
  • 如果启用了切换警报,则拥有实时支持覆盖。
  • 在将未读警报标记为已读之前先查看它们。
1

打开通知

单击侧边栏或应用程序标题通知条目中的通知。

预期结果: 通知中心列出了最近的警报。
2

过滤警报

使用未读或类别过滤器来关注计费、实时支持、机器人、报告或系统事件。

预期结果: 只有匹配的警报仍然可见。
3

打开相关页面

单击警报或使用其上下文打开账单、Live Support、报告或相关机器人。

预期结果: 您根据通知采取行动,而不仅仅是阅读它。
4

标记已读

将单个警报标记为已读或使用“审阅后标记所有已读”。

预期结果: 未读计数下降,已审阅的项目不再突出显示。
5

调整偏好

如果收到的警报过多或过少,请打开“设置”、“通知”。

预期结果: 通知流符合团队需求。
如何测试: 创建安全测试事件,例如实时支持请求或即时报告,然后确认通知出现并可以标记为已读。
问题修复
没有通知到达检查设置通知首选项、浏览器权限以及事件是否实际发生。
警报太多禁用嘈杂的类别或仅将其发送给负责的团队成员。
未读计数似乎卡住了标记所有已读后刷新应用程序并确认过滤器未隐藏未读项目。

接下来做什么: 当行为发生变化或出现新控件时,查看 App Updates。

应用程序更新

使用应用程序更新来了解产品变化

这是做什么用的: 当队友需要在使用新功能之前了解发生了什么变化时,请使用此功能。

开始之前
  • 在主要版本后或 UI 更改时打开更新。
  • 与支持和销售用户分享相关更新说明。
  • 重大变更后重新测试关键工作流程。
1

打开App Updates

单击侧栏中的 App Updates。

预期结果: 更新源显示新功能、修复和发行说明。
2

阅读最新更新

打开最新的更新卡或详细信息视图。

预期结果: 您会看到发生了什么变化以及它影响了哪些工作流程。
3

将更改映射到您的工作流程

确定更新是否影响机器人、小部件、支持、计划、计费或开发人员。

预期结果: 合适的团队成员知道要检查什么。
4

重新测试关键路径

如果更新影响生产工作流程,请重复本文档中的相关手动步骤。

预期结果: 团队确认更改后的工作流程仍然有效。
5

内部分享

将更新摘要发送给拥有受影响区域的用户。

预期结果: 团队采用更加顺利,支持问题也减少了。
如何测试: 相关更新后,重复受影响功能的指南,并确认屏幕截图或步骤名称仍然匹配。
问题修复
更新提到了锁定功能打开账单确认当前计划是否包含它。
团队错过了一次改变将 App Updates 审核添加到发布或每周操作例程中。
更新后文档看起来陈旧使用工程师指南更新屏幕截图和步骤。

接下来做什么: 随着功能的发展,保持公共文档的最新状态。

13

开发者食谱

生成 API 密钥、使用 x-api-key 身份验证、调用基于操作的端点、桥接对 CRM 的实时支持、注册 Webhooks、验证签名并将小部件嵌入代码中。

设置/开发者API 键、快速启动和 usage 选项卡
sem.chat 演示工作区的真实截图
1从 API 密钥选项卡生成和撤销 API 密钥。
2对于第一个卷曲示例,请使用 Quick Start。
3在启用大批量自动化之前检查使用情况。
API 快速入门

生成 API 密钥并进行第一个 API 调用

这是做什么用的: 将此用于报告脚本、自定义应用程序、CRM 桥、外部实时支持或自动化。

开始之前
  • 使用服务器端环境。不要在浏览器 JavaScript 中公开 API 密钥。
  • 为每个集成生成单独的密钥。
  • 立即复制密钥,因为秘密会显示一次。
1

开放开发者

打开“设置”并选择“开发人员”,或使用“开发人员”重定向(如果可用)。

预期结果: API 键、Quick Start、文档和使用选项卡可见。
2

生成密钥

单击“生成密钥”,给它一个清晰的标签,然后立即复制。

预期结果: 该密钥以 sk_live_ 开头,可用于服务器端请求。
3

发送 x-api-key 标头

在每个公共 API 请求中包含 x-api-key。

预期结果: 公共 API 可以验证请求并将其范围限定为所有者。
4

列出机器人

调用 action=list-bots 查找您需要的机器人 ID。

预期结果: 响应返回机器人 ID、名称、活动状态和配置摘要。
5

发送 chat 消息

POST 操作 chat 以及 botId 和消息。

预期结果: 响应返回回复、型号和 usage 信息。
6

检查usage

在运行大批量作业之前调用 action=usage。

预期结果: 在自动化运行之前,您知道当前计划和 usage 状态。
7

需要时轮换钥匙

撤销未使用的密钥并为更改的供应商或服务生成新密钥。

预期结果: 旧服务无法继续使用过时的凭据。
如何测试: 从本地终端或服务器环境运行 list-bots 和 chat,然后确认对话出现在 Chat History 中(如果已发送 chat)。
问题修复
401 或未经授权的响应检查 x-api-key 拼写,复制完整密钥,并确认其未被撤销。
未找到机器人再次使用 list-bots 并确认机器人属于 API 密钥所有者。
浏览器CORS问题将 API 调用移至您的后端; API 密钥供服务器端使用。

接下来做什么: 使用 /api-docs 作为重点端点参考,并将此页面保留为工作流程指南。

列出机器人
curl -X GET "https://akhsrklbijflesmcqxur.supabase.co/functions/v1/public-api?action=list-bots" \
  -H "x-api-key: sk_live_your_key_here"
发送 chat 消息
curl -X POST "https://akhsrklbijflesmcqxur.supabase.co/functions/v1/public-api" \
  -H "x-api-key: sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "chat",
    "botId": "YOUR_BOT_ID",
    "message": "What can you help me with?"
  }'
实时支持 CRM 桥

轮询或推送实时支持请求到 CRM

这是做什么用的: 当客服人员在另一个系统中工作但 sem.chat 接收访客对话时,请使用此选项。

开始之前
  • 创建一个名为 CRM 桥的专用 API 密钥。
  • 确定轮询或 Webhook 是否适合您的基础设施。
  • 确保 CRM 存储对话 ID 以供将来回复/解决。
1

列出等待交接的情况

GET 操作=live-support-list 且状态=已请求或状态=全部。

预期结果: CRM 接收需要人工关注的开放 conversations。
2

获取消息

GET 操作=live-support-messages 与 conversationId。

预期结果: CRM 具有完整的线程上下文和访问者详细信息。
3

先声明再回复

POST 操作=live-support-claim。

预期结果: sem.chat 将对话标记为正在处理。
4

发送代理回复

POST action=live-support-reply 与 conversationId、消息和代理名称。

预期结果: 访问者收到人工回复并且线程更新。
5

解决或收回

POST action=live-support-resolve 具有决议解决或交还。

预期结果: 对话离开等待队列或人工智能恢复控制。
6

CRM 中的日志状态

存储最新的切换状态、消息 ID 和时间戳。

预期结果: CRM 和 sem.chat 仍然可审核。
如何测试: 创建安全切换,将其镜像到 CRM,从桥回复,并确认访问者线程更新。
问题修复
CRM 门票重复使用 conversationId 作为 CRM 桥中的幂等键。
回复未按顺序到达存储消息时间戳并避免来自多个系统的并发回复。
座席工作时 AI 回复首先要求交接,并在客服人员完成工作后才交回。

接下来做什么: 如果轮询太慢或太昂贵,请注册 Webhooks。

网络钩子

注册 webhook 并验证 X-SemChat-Signature

这是做什么用的: 当您的系统需要实时事件来进行切换、消息和解决方案更新时,请使用此功能。

开始之前
  • Webhook URL 必须是 HTTPS 并且可通过公共 Internet 访问。
  • 立即存储 webhook 机密;它显示一次。
  • 在处理事件之前验证签名。
1

注册网络钩子

POST 操作 webhook-register 以及 url 和事件。

预期结果: 响应包括 Webhook 详细信息和一次性签名密钥。
2

储存秘密

将机密保存在您的服务器环境或机密管理器中。

预期结果: 可以验证未来的交付。
3

验证签名

读取 X-SemChat-Signature 并将其与原始请求正文上的 HMAC SHA-256 进行比较。

预期结果: 仅接受正品 sem.chat 交付。
4

幂等地处理重试

使用事件 ID 或对话/消息 ID 以避免重复处理。

预期结果: 重试不会创建重复的 CRM 记录。
5

列出网络钩子

GET 操作 webhook-list 用于审核配置的端点。

预期结果: 您可以查看 URLs、事件、启用状态和最近的交付状态。
6

删除过时的 webhook

POST 操作 webhook-delete 与 Webhook ID。

预期结果: 旧端点停止接收事件。
如何测试: 注册测试端点,触发实时支持事件,验证签名,并确认您的处理程序返回 2xx。
问题修复
签名不符使用原始正文(未解析的 JSON),并确认正确的 Webhook 密钥。
Webhook 未收到任何事件确认事件列表包含您正在测试的事件并且端点为 HTTPS。
Webhook 超时快速确认并异步处理长时间的工作。

接下来做什么: 将工程师链接到 /api-docs 以获取端点详细信息和示例。

注册网络钩子
curl -X POST "https://akhsrklbijflesmcqxur.supabase.co/functions/v1/public-api" \
  -H "x-api-key: sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "action": "webhook-register",
    "url": "https://your-crm.example.com/semchat/webhook",
    "events": ["handoff.requested", "message.user", "handoff.resolved"]
  }'
验证 Webhook 签名
import crypto from 'node:crypto';

function verifySemChatSignature(rawBody, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(rawBody)
    .digest('hex');

  return crypto.timingSafeEqual(
    Buffer.from(signature || ''),
    Buffer.from(expected)
  );
}
端点图

正确使用基于行动的公共 API

这是做什么用的: 为功能选择正确的操作时使用此选项。

开始之前
  • 每个请求都使用相同的公共 api 函数 URL。
  • GET 操作使用查询参数。 POST 操作使用 JSON 主体。
  • 针对所有请求发送 x-api-key。
如何测试: 在任何 API 键或端点更改后,调用 usage 和 list-bots 作为冒烟测试。
问题修复
方法不匹配使用端点表中显示的方法。某些操作仅限 GET 或仅限 POST。
缺少所需值检查 botId、conversationId、webhook ID 和操作拼写。

接下来做什么: 对于第一个请求,请使用 Quick Start,然后使用 /api-docs 作为完整参考。

方法行动目的
GETlist-bots列出 API 密钥所有者可用的所有机器人。
GETget-bot通过机器人 ID 获取一个机器人配置。
POSTchat向机器人发送访客消息并返回 AI 回复。
GETconversations列出机器人最近的 conversations,最多 100 条记录。
GETusage返回计划、积分、机器人计数、conversations 和 API 密钥 usage。
GETlive-support-list列出等待人工代理或由人工代理处理的 conversations。
GETlive-support-messages获取包含消息和访客信息的切换线程。
POSTlive-support-reply从外部系统发送人工代理回复。
POSTlive-support-claim要求等待切换对话。
POSTlive-support-resolve解决交接问题或将控制权返回给AI。
POSTwebhook-register注册 HTTPS webhook 端点。
GETwebhook-list列出 Webhook 注册而不返回机密。
POSTwebhook-delete通过 ID 删除 Webhook 注册。
14

工程师指南:添加功能

添加路线、仪表板导航、机器人构建器设置、Supabase 表/函数/迁移、API 文档、公共文档、SEO 检查和本地验证。

应用程序功能工作流程

添加应用程序路线、页面、导航项和文档条目

这是做什么用的: 添加新的面向客户的仪表板功能时使用此功能。

开始之前
  • 编辑之前创建一个分支。
  • 确定该功能是否属于应用程序存储库或公共 sem.chat 前端存储库。
  • 在添加新结构之前检查现有的路线、侧边栏、i18n 和设置模式。
1

添加路线

使用客户页面的受保护路由更新 src/App.tsx,或者仅在页面必须公开时使用公共路由。

预期结果: URL 在应用程序中解析,而不会点击 NotFound。
2

创建或更新页面组件

使用现有的页面模式、数据加载、空状态、加载状态和权限。

预期结果: 该功能的行为与仪表板一致。
3

添加仪表板导航

如果需要,使用标签、图标、路线和计划门更新侧边栏/导航源。

预期结果: 用户可以从应用程序外壳发现新页面。
4

添加机器人构建器选项卡或设置

如果该功能属于机器人,请将其添加到 Bot Builder 选项卡中,并通过现有的保存流程保留它。

预期结果: 机器人特定的配置与机器人一起保存,而不是滞留在本地状态。
5

添加 Supabase 架构/函数更改

为服务器端工作的表/策略和边缘功能创建迁移。

预期结果: 数据库和服务器行为可以重复部署。
6

更新 API 形状(如果公开)

在supabase/functions/public-api/index.ts 中添加或扩展操作处理并记录 x-api-key 行为。

预期结果: 集成可以安全地使用该功能。
7

更新应用文档和公共文档

使用屏幕截图和点击步骤更新应用内开发人员文档和此/文档页面。

预期结果: 用户和工程师在两个地方都可以看到该功能。
8

运行检查

运行应用程序测试/构建、公共站点中的 SEO 优化器、站点地图检查和浏览器验证。

预期结果: 该功能在本地运行,并且公共站点仍然可爬行。
如何测试: 打开新路线,端到端使用该功能,检查控制台/网络错误,并从 UI 验证任何数据库更改。
问题修复
路线有效,但导航不突出显示检查侧边栏路由匹配和重定向路径。
数据在本地工作但未部署确认迁移、RLS 策略和边缘功能环境变量。
站点地图中缺少公共文档运行 SEO 优化器并检查 sitemap.xml 中的规范 URL。

接下来做什么: 每当 UI 发生更改时,捕获或重新生成文档屏幕截图。

文档维护工作流程

产品更改后更新此公共文档页面

这是做什么用的: 当屏幕截图、工作流程、API 行为或导航发生更改时使用此选项。

开始之前
  • 仅使用安全的演示数据。
  • 切勿泄露真实客户、电子邮件、付款详细信息、API 密钥或私人 conversations。
  • 先更新英文手册,然后在进行 SEO 检查之前刷新每个本地化文档页面。
1

审核变更后的路线

打开应用程序路线并确定视觉上和程序上发生了什么变化。

预期结果: 您知道哪些指南、屏幕截图和故障排除行需要编辑。
2

捕获或生成安全屏幕截图

在将 WebP 资源保存到资产/文档下之前,请使用演示工作区并掩盖秘密。

预期结果: 屏幕截图准确且可以安全发布。
3

更新指南

编辑相关的“用途”、开始之前、步骤、预期结果、测试、故障排除和下一步部分。

预期结果: 该指南告诉用户要单击什么以及每次单击后会发生什么。
4

如果需要更新导航

将部分添加到粘性目录、移动部分选择器和视觉索引(如果它是主要页面)。

预期结果: 读者可以快速找到新内容。
5

运行 SEO 工具

运行节点tools/seo-optimize-static-pages.js和节点tools/seo-optimize-static-pages.js --check。

预期结果: 规范、元数据、站点地图和机器人输出保持正确。
6

运行清理和差异检查

运行 node tools/static-translation-cleanup.js --audit 和 git diff --check。

预期结果: 静态翻译和空白是干净的。
7

浏览器验证

在本地提供站点服务并在桌面和移动设备上测试/文档。

预期结果: 图像加载、搜索有效、复制按钮有效、目录突出显示,并且布局不与 cookie 横幅重叠。
如何测试: 在 /documentation 上搜索更改后的功能名称,并确认出现正确的引导块。
问题修复
屏幕截图标记在移动设备上漂移将标记保留在屏幕截图图像内或使用响应式标记坐标。
搜索错过了新指南将有用的关键字添加到数据标题,并包含用户搜索的确切产品术语。
本地化文档变得过时编辑英文手册后,刷新每个本地化文档页面,重新运行 SEO 优化器,并确认 sitemap.xml 包含每个文档 URL。

接下来做什么: 将文档页面、资产、页眉/页脚链接、.htaccess 和站点地图更改一起提交。

需要重点 API 参考吗?

旧的 /api-docs 页面仍然可用于端点级别 API 详细信息。

打开 API 文档