You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IBM Watson Assistant聊天机器人中向客户发送聊天记录邮件

IBM Watson Assistant Lite 计划聊天记录导出及邮件发送实操方案

首先明确Lite计划的核心限制:平台内置的会话日志仅保留7天,且不开放全量日志拉取API,因此所有会话数据的采集、存储、发送逻辑都需要在你自己的业务侧实现,具体步骤如下:

1. 实时捕获会话消息

如果你使用官方Web Chat组件嵌入前端页面,可通过组件自带的事件钩子实时捕获双向消息:

  • 初始化Web Chat时注册send和receive事件监听,分别捕获用户发送的消息和助手返回的回复,按会话维度存储到临时变量中
  • 示例代码如下:
window.watsonAssistantChatOptions = {
  integrationID: "你的集成ID",
  region: "你的服务部署区域",
  serviceInstanceID: "你的服务实例ID",
  onLoad: async (instance) => {
    // 初始化当前会话的消息存储数组
    const sessionHistory = [];
    // 监听用户发送消息
    instance.on({
      type: "send",
      handler: (event) => {
        sessionHistory.push({
          sender: "用户",
          content: event.data.input.text,
          time: new Date().toLocaleString()
        });
      }
    });
    // 监听助手返回消息
    instance.on({
      type: "receive",
      handler: (event) => {
        sessionHistory.push({
          sender: "助手",
          content: event.data.output.generic[0]?.text || "非文本消息",
          time: new Date().toLocaleString()
        });
      }
    });
    await instance.render();
  }
};
setTimeout(function(){const t=document.createElement('script');t.src="https://web-chat.global.assistant.watson.appdomain.cloud/versions/latest/WatsonAssistantChatEntry.js";document.head.appendChild(t);});

2. 持久化存储会话记录

  • 会话结束触发时机(用户主动点击结束会话按钮、页面卸载前、超过15分钟无消息交互),将当前sessionHistory数组连同唯一会话ID、用户关联信息一起提交到你的后端服务,存入业务数据库
  • 不要依赖Watson Assistant平台的内置日志存储,Lite计划无权限通过API调取该数据

3. 实现邮件发送逻辑

在你的后端服务中集成邮件发送能力:

  • 当用户提交需要发送聊天记录的邮箱地址时,后端从数据库查询对应会话ID的完整聊天记录,整理为纯文本或HTML格式
  • 将整理后的内容作为邮件正文或附件,调用邮件服务接口发送到指定邮箱即可

注意:如果使用自定义的API接入Watson Assistant,可直接在请求/响应的中转环节捕获所有会话消息,逻辑和上述方案一致,不需要依赖前端事件。

内容的提问来源于stack exchange,提问作者Suman Sapkota

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 05:06:06