【集成示例】微信客服

微信客服集成智能对话机器人大模型问答

重要
  • 确保已经完成了微信企业认证

  • 需要一个域名,用来接收微信客服的回调消息

  • 本示例不支持回复图片或图文消息,如有需要,请自行开发接入。开发文档

效果展示

概览

image

  1. 调用ApplyForStreamAccessToken接口。参考文档:ApplyForStreamAccessToken - 获取流式调用的连接信息

  2. ApplyForStreamAccessToken接口,返回的连接签名信息有效期2小时,必须在到期前重新获取

  3. 监听并接收微信客服的消息事件(用户问客服问题的这个动作):接收消息和事件

  4. 获取上一步的消息事件,从回调参数里获取查询消息明文的Token

  5. 获取微信的AccessToken,每次调用微信的接口都会用到。获取调用凭证access_token

  6. 使用消息Token和微信AccessToken,调用获取消息接口,得到用户提问的内容。

  7. 计算会话接口签名。会话接口签名

  8. SSE流式调用会话接口,监听SSE事件,获取大模型流式输出。参考文档:流式会话接口

  9. 大模型流式接口会多次返回,每次返回都是全量的回复,渲染端应该考虑用新的覆盖旧的。响应参数参考:3 响应参数说明

  10. 等待大模型回复完成,一次性将消息回复给用户。

示例

示例工程代码

wx-kf-example.zip

如何运行

  1. 本示例工程的运行环境要求为JDK 8,参考文档:在Windows安装JDK

  2. 根据智能对话机器人配置操作完成后,获取示例工程参数中智能对话机器人部分的参数

  3. 根据微信客服配置操作完成后,获取示例工程参数中微信客服部分的参数

  4. 将上面提到的参数填写到示例工程的application.properties配置文件中

  5. 运行com.aliyun.chatbot.channel.WebApplication,也可打成jar包,通过java -jar命令运行

  6. 浏览器打开 http://localhost:8091/ ,微信扫描二维码,即可进行大模型客服对话

示例工程参数

名称

描述

ALIYUN_ACCESS_KEY

阿里云账号AK

ALIYUN_SECRET_KEY

阿里云账号SK

CHATBOT_INSTANCE_ID

机器人 ID

CHATBOT_AGENT_KEY

业务空间AgentKey,获取地址:业务空间管理

WX_CORP_ID

企业 ID,选择企业信息菜单,然后复制企业 ID

WX_TOKEN

微信客服回调配置中的Token,Token和EncodingAESKey点击随机获取即可

WX_ENCODING_AES_KEY

微信客服回调配置中的EncodingAESKey,Token和EncodingAESKey点击随机获取即可

WX_SECRET

开发配置中的Secret,上一步点击完成后,再点击开发配置,获取Secret

WX_KF_ID

微信客服ID,客服配置,选择客服账号菜单后,选择对应的客服,获取客服 ID

智能对话机器人配置

  1. 进入智能对话机器人控制台,https://chatbot.console.aliyun.com

  2. 机器人创建,获取机器人id,发布机器人(如无发布按钮则跳过)

    image

  3. 获取业务空间AgentKey,地址:业务空间管理

    image

  4. 阿里云账号AKSK获取,地址:AccessKey

微信客服配置

  1. 登录微信客服平台

  2. 选择企业信息菜单,然后复制企业 ID

  3. image

  4. 选择开发配置菜单再点击开始使用

    image

  5. 配置回调接口信息image

    1. 回调URL:https://{你的域名}/api/wechat/kf/chat

    2. Token和EncodingAESKey点击随机获取即可

    3. 直接点击完成会提示“openapi回调地址请求不通过”。需要把企业 ID、Token 和 EncodingAESKey配置到代码中,并部署本示例,确保回调URL能被外网调用到

  6. 上一步点击完成后,再点击开发配置,获取Secretimage

  7. 客服配置,选择客服账号菜单后,选择对应的客服,获取客服 IDimageimage

FAQ

Q:配置回调接口信息时,直接点击完成会提示“openapi回调地址请求不通过”

A:需要把企业 ID、Token 和 EncodingAESKey配置到代码中,并部署本示例,确保回调URL能被外网调用到

Q:机器人回复图片接收不到

A:不支持回复图片或图文消息,如有需要,请自行开发接入。开发文档

Q:富文本答案展示效果不好

A:微信客服不支持富文本(Markdown、HTML)答案的渲染