评论

【笔记】云开发通过客服消息实现自动回复进群,同时兼容客服小助手

云开发实现客服自动回复二维码,解决小程序无法扫码二维码问题,同时不影响客服小助手的正常使用

小程序不具备小程序内扫描二维码的能力,因此如果要实现关注公众号加用户群功能大家一般都利用微信客服功能的自动回复来实现。
此时如果自己去实现微信客服自动回复,客服小助手就不能用了,很令人纠结。
经过我的研究,借助云开发找到了一个方案,可以实现当用户想获取微信群走自动回复的接口,真正咨询时,直接到客服小助手进行回复。


效果如下

原理解析

云开发在做消息推送配置的时候可以配置消息类型,这个时候如果我们只配置一种类型(小程序卡片),那么就只有卡片才会被云函数接管做自动回复,其他消息类型(图片、文字)则正常走小程序客服的通道。

实现步骤

1.小程序端设置按钮属性open-type="contact",用于用户点击时带上定义的卡片跳到客服消息界面。

申请加入

2.新建云端的函数,设置config.json定义权限,如下config.json

{
  "permissions": {
    "openapi": [
      "customerServiceMessage.send",
      "customerServiceMessage.uploadTempMedia",
      "customerServiceMessage.setTyping"
    ]
  }
}

3.写云函数端代码,如下

if (event.Title == "我要进用户群"||event.Title =="关注公众号"||event) {
    //设置输入状态
    cloud.openapi.customerServiceMessage.setTyping({
      touser: OPENID,
      command: 'Typing'
    })
    //从云储存中拉取图片数据
    const qunimg = await cloud.downloadFile({
      fileID: "cloud://pm-hsfip.706d-pm-hsfip-1259751853/img/qun.png",
    })
    //上传图片素材到媒体库,并获取到图片id
    const qunmedia = await cloud.openapi.customerServiceMessage.uploadTempMedia({
      type: 'image',
      media: {
        contentType: 'image/png',
        value: qunimg.fileContent
      }
    })
    //向用户发送群二维码
    await cloud.openapi.customerServiceMessage.send({
      touser: OPENID,
      msgtype: 'image',
      image: {
        mediaId: qunmedia.mediaId,
      }
    })


    //取消状态设置
    cloud.openapi.customerServiceMessage.setTyping({
      touser: OPENID,
      command: 'CancelTyping'
    })


  }

4.设置消息推送,路径如下 云开发-设置-全局设置-云函数接收消息推送 中添加消息类型为miniprogrampage,绑定云函数为新建的云函数。

5.微信公众平台绑定客服


注意事项

如果按照本教程 客服小助手无法收到消息 或 无法自动回复,可以先将以上消息推送配置删除,然后再微信后台绑定客服后,再重新进行消息推送配置。


最后一次编辑于  2020-07-29  
点赞 6
收藏
评论

3 个评论

  • Qiu (吉²)
    Qiu (吉²)
    03-08

    请问,我按照您的方法,但是推送的图片消息有延迟,我在小程序客服窗口接收不到,要关闭小程序回到微信聊天列表才能在客服消息里收到。延迟问题该如何解决啊

    03-08
    赞同
    回复
  • Dawnset
    Dawnset
    2020-10-28

    也就是:

    特定按钮→特定卡片云函数自动回复

    其他按钮小程序客服

    这样操作?

    2020-10-28
    赞同
    回复
  • 姑苏洛言
    姑苏洛言
    2020-08-20

    云函数接收了消息推送,客服小助手接收不到了。那如何同时把用户消息转发到客服系统上

    2020-08-20
    赞同
    回复 1
    • 驰子
      驰子
      2020-09-01
      按照我教程中的注意事项的步奏配置不行么?绑定客服=>配置消息推送,如果按照这个配置还是不行,就删了配置,解绑客服,反过来试试,配置消息=>绑定客服
      2020-09-01
      回复
登录 后发表内容