DAP 可视化操作手册

登记、复制、刷新,三步完成接入。

现在可以全程自助接入,不需要先联系管理员。先登记业务系统,系统会自动生成所需信息,再按照教程完成代码接入和验收。

1登记系统2复制代码3刷新验收

第 1 步:登记要接入的业务系统

点击下面的登记入口,登录或注册 DAP 帐号,然后填写业务系统名称和访问域名。提交后系统会自动生成 siteId 和接入信息;一个帐号可以登记并管理多个业务系统。

完成标准:登记成功,并已安全保存系统生成的 siteId 和接入信息。

第 2 步:把这段代码放到页面底部

找到页面末尾的 </body>,把下面代码放在它前面。只替换 YOUR_SITE_ID 和 YOUR_APP_ID。

<script
  src="https://dap.cnyu.net/sdk/loader/v1.js"
  data-api-base="https://dap.cnyu.net"
  data-site-id="YOUR_SITE_ID"
  data-app-id="YOUR_APP_ID"
  data-fallback-url="https://dap.cnyu.net/support?siteId=YOUR_SITE_ID">
</script>

data-app-id 填一个能看懂的英文名称,例如 mall-pc 或 order-h5。

第 3 步:刷新页面并检查

  1. 页面右下角出现客服气泡。
  2. 点击气泡,直接展开在线客服对话窗口。
  3. 发送一条消息,能在窗口内看到回复;页面不会跳到工单。
  4. 需要人工或异步处理时,再点击对话窗口中的“转人工客服”或“提交工单”。
  5. 用手机打开,对话窗口完整可用,输入框不会被键盘或气泡遮挡。

做到这里,最小接入就完成了。在线客服与工单是连续流程:先对话,需要时再转人工或升级工单。

第 4 步:按需要增加能力

下面都不是首次接入的必填项。建议先上线客服入口,再逐项增加。

const dap = await window.OCSLoader.ready;

// 用户登录后再调用;没有账号可以不调用
await dap.identify({
  userId: "YOUR_INTERNAL_USER_ID",
  userName: "Alice"
});

// 记录一个必要的业务行为
await dap.track("order_submitted", {
  page: location.pathname
});

不要把手机号、身份证、密码或完整订单内容直接放进行为记录。

演示对应说明

首次接入建议先完成在线客服和工单,再按业务需要增加其他能力。

01

在线客服:气泡直接打开对话

加入加载代码后默认展示右下角气泡。点击后应直接展开对话;转人工和提交工单放在对话窗口内部。

返回演示 →
02

工单:作为对话后的升级方式

工单页面由 fallback-url 提供。用户只需邮箱、主题和问题即可提交,不要求先注册业务账号。

返回演示 →
03

帮助中心:先让用户自己找到答案

帮助中心地址使用 /help?siteId=YOUR_SITE_ID,只展示已经发布并允许该站点访问的内容。

返回演示 →
04

版本识别:读取实际接入版本

const dap = await window.OCSLoader.ready;
const info = await dap.getCapabilities();
console.log(info.sdkVersion);
返回演示 →
05

安全回退:DAP 失败时不阻断业务

DAP 加载或请求失败时,只隐藏或降级 DAP 能力,不能遮挡页面、阻止按钮或中断原业务流程。

返回演示 →
06

自动验证:发布后检查线上结果

每次发布都应检查页面、H5、HTTPS、在线客服、工单和安全回退,并公开当前接入版本与检查结果。

返回演示 →

常见问题

没有出现气泡

先检查 siteId 是否正确,再确认当前域名已经登记。

发送消息失败

窗口会保留原问题供重试;用户也可以选择提交工单,不会丢失原业务页面。

DAP 加载失败

原业务页面应该继续可用;请把浏览器报错和发生时间发给管理员。