芝麻小客服客服聊天插件,是专门为了电商、多商铺等领域打造的一款使用简单,功能强大的插件。使用本插件,你可以使用较少的开发量实现接近传统电商客服的功能;特点概述: ## **适用于**:**微信小程序** * **自动回复功能丰富**:打开客服回复、收到消息回复、关键词回复、排队中、离线后等等各种类型的自动回复,每个店铺均可独立设置。 * **回复类型丰富**:文字、图片、智能菜单等类型的自动回复。 * **专为电商及多商户设计**:快捷发送商品、快捷提示、打开提示菜单、客服对话独立、商铺之间会话独立等。 * **提醒推送**:即时推送提醒给客服,不遗漏消息。 * **回复消息**:支持客服在网页端及小程序内回复消息。 Demo下载:https://ossxkf.oss-cn-beijing.aliyuncs.com/pluginDemo-12.rar Demo内容: 1. 跳转插件 2. 传递头像昵称 3. 传递openid 4. 传递场景值 5. 传递快捷方式 6. 传递客户资料 7. 传递图文模板 8. 代替C端传递一段文本 9. 同时传递openid+客户资料 注意事项: 1. 请注意引用最新版本; 2. 如果插件后台设定了跳转小程序,路径需要以/开头,比如/pages/index/index 3. 为了保证用户唯一,建议全部用户均传递openid 4. **插件会受到全局样式设置的影响。** 如果出现样式异常,请检查全局样式设置。 * * * ------ >使用流程视频演示 <video style="width: 100%; height: 100%; object-fit: fill" controls="controls" poster="https://box.kancloud.cn/67b3e862f9930f84f9b9629c8aa1dba5_1911x1072.jpg" > <source src="https://ossxkf.oss-cn-beijing.aliyuncs.com/chajianxin.mp4" type="video/mp4" /> </video> >多商铺实现流程说明 <video style="width: 100%; height: 100%; object-fit: fill" controls="controls" poster="https://box.kancloud.cn/67b3e862f9930f84f9b9629c8aa1dba5_1911x1072.jpg" > <source src="https://ossxkf.oss-cn-beijing.aliyuncs.com/duoshangpuchajian.mp4" type="video/mp4" /> </video> ### 使用插件 #### 第一步:申请使用插件 在使用插件前,首先要在小程序管理后台([https://mp.weixin.qq.com](https://mp.weixin.qq.com/))的“**设置-第三方设置-插件管理**”中添加插件。开发者可登录小程序管理后台,通过 wx1fdc8c9f3a3a05e4 查找插件并添加。 #### 第二步:引入插件 对于插件的使用者,使用插件前要在 app.json 中声明 ~~~ { "plugins": { "ykfchat": { "version": "2.0.28", "provider": "wx1fdc8c9f3a3a05e4" } } } ~~~ #### 第三步:跳转至插件 使用者可以在自身小程序内调用插件页面(插件为单独页面,不支持使用者修改) 调用方法如下: ~~~ wx.navigateTo({ url: 'plugin://ykfchat/chat-page?wechatapp_id=103863&channel_id=5303&scene=p21865wbpl', }); ~~~ 其中plugin://ykfchat/chat-page?wechatapp_id=103863&channel_id=5303&scene=p21865wbpl为开发者在芝麻小客服后台获取的自己的场景路径。 ![](https://img.kancloud.cn/77/40/7740c8b9cf7361df1ac803674dd5008e_1224x794.png) 跳转具体路径请在第四步中获取。 #### 第四步:注册小客服账号 进入芝麻小客服官网:[https://xiaokefu.com.cn](https://xiaokefu.com.cn/),右上角注册账号;注册成功后,开始接入; ![](https://img.kancloud.cn/b1/14/b1145d22c12eca77d9fbacd87534c405_1476x694.png) 选择客服插件: ![](https://img.kancloud.cn/82/23/822311f6cfed773558cb2c6b83503e49_862x574.png) 创建场景: ![](https://img.kancloud.cn/bb/00/bb004478e1b96f5d80aae29f76b74e23_1146x472.png) 接入成功: ![](https://img.kancloud.cn/68/0e/680ecfd2f5d3e0014b6a9df32c89b742_1897x860.png) 接入成功后,即可看到这个场景的路径: ![](https://img.kancloud.cn/94/39/94394abd5df7bf077db0842c054e6029_1177x714.png) 新增场景,如果你需要为多个场景(商铺、来源或渠道等)创建不同的路径,有以下两个方法: 1:新增场景 ![](https://img.kancloud.cn/99/29/992980f9fd9755f99e6a10ec545a79b5_1886x881.png) 2:添加场景客服,场景客服是指负责这个场景的客服,所有场景客服将共同负责这个场景; 要添加场景客服,需要先在后台-多客服管理内添加客服。 每个客服,在这个场景下都有自己的客服路径,使用客服路径时,客户咨询将直接指定给该客服。 ![](https://img.kancloud.cn/eb/94/eb9479075d9a89a33306f99d21b7e3bd_1889x725.png) #### 第五步:使用 1. 填写场景信息![](https://img.kancloud.cn/4a/87/4a879d88e358faa9f8cb2e562a538664_931x831.png) 2. 添加场景客服![](https://img.kancloud.cn/de/57/de5712c794f6de9cea54b64662a30426_1836x374.png) 3. 增加快捷方式![](https://img.kancloud.cn/f6/0d/f60d2be0c62d11a7b11aec461a2ee213_1328x445.png) 4. 设置自动回复;注意:自动回复仅对当前场景或渠道有效,每个渠道或场景均需要单独设置;![](https://img.kancloud.cn/8f/13/8f1341477d05b5719de86122191bc333_1456x706.png) 5. 添加客服;在添加场景客服前,需要先添加客服;![](https://img.kancloud.cn/4a/f4/4af429aa57449b912b0f8647b1bf7b08_1820x832.png) ---- ## 开发者文档 一、客服聊天助手支持将指定的数据由小程序传入,例如进入聊天访客的头像昵称,当前跳转聊天页的场景信息,当前场景的快捷方式等。 1、首先在跳转插件的js中最顶部,引入插件方法,例: `var plugin = requirePlugin("ykfchat")` 2、在跳转插件的代码之前注册事件,例: ~~~ // 传参 jump() { plugin.callback.on("getSessionFrom", this.session, this); // 事件名称, 事件函数,this作用域 wx.navigateTo({ url: 'plugin://ykfchat/chat-page?scene=p1618ycpl' }) }, session(callback) { // 組裝数据 let data = { sessionFrom: { avatarUrl: 'http:xxxx.png',//需为网络资源 nickName: '刘小二', city: '武汉', province: '湖北', weixin: 'weixinhao123', age: '22', sex: '1', source: '来自商品ID:123', note: '注意,这是一个VIP用户', mobile:'13397121301', tag_id: '11' } } callback(data) }, ~~~ ``` 头像:avatarUrl 昵称:nickName 城市:city 省会:province 微信:weixin 电话:mobile 数字 年龄:age 数字 性别:sex 1或2 1是男 2是女 来源:source 地址:address 备注:note 标签ID:tag_id ``` 传入客户资料后,客服端可以看到对应的数据: ![](https://img.kancloud.cn/a3/84/a384d8be3f00632ff704f2030dea612b_1547x890.png) ##### 插接函数对接列表: | 事件类型 | 函数名 | 参数 | 备注 | | --- | --- | --- | --- | | 传入头像昵称 | getSessionFrom | {sessionFrom: {avatarUrl: 'http:xxxx.png', nickName:'李二' }} | | | 传入场景信息 | get\_channel\_info | {channel\_info: {scene\_title: '传来的标题',scene\_descr: '传来的描述',mini\_url: '传来的小程序跳转路径',scene\_type: '1',phone\_no: '传来的拨打电话号码',scene\_logo: 'http:xxxx.png',}} | scene\_type,标题可以执行的操作, 1、跳转小程序。2拨打电话 | | 传入快捷方式 | get\_shortcut | {short\_cut\_info: \[{content\_json: '{"miniprogram\_path":"/pages/index/index"}',rule\_status: '1',short\_cut\_name: '传来跳转小程序',short\_cut\_type: '1'}, {content\_json: '{"copy\_content":"传来的复制内容","toast\_type":"1","toast\_content":"传来的复制弹窗内容"}',rule\_status: '1',short\_cut\_name: '传来复制功能1',short\_cut\_type: '2'}, {content\_json: '{"phone\_num":"13275261798"}',rule\_status: '1',short\_cut\_name: '传来打电话功能1',short\_cut\_type: '3'}, {content\_json: '{"keyword":"619448572"}',rule\_status: '1',short\_cut\_name: '传来关键词回复',short\_cut\_type: '4'}\],short\_cut\_document: {content: '传来的文案'}} | short\_cut\_info,快捷方式的信息,short\_cut\_type,1、跳转小程序页面2、复制文本(content\_json中的toast\_type为复制成功的弹窗形式,1,toast模式2,弹窗模式)3、拨打电话。4、触发关键字。rule\_status是否在聊天页显示,short\_cut\_document,提示文案 | | 传入openid | getOpenId | {openid:'openid'} | openid为小程序获取的openid 需要在跳转的url中的getOpenIdType参数为2 | | 动态传入图文模板 | get\_pic\_templates | {\_id: 4,title: '测试标题',description: '测试description,thumb: 'https://wx.qlogo.cn/mmopen/vi\_32/Q0j4TwGTfTKTMMUqibuotkoE5G5nTibVonoAC3A0vc7cUxt9tooSt8EJApnrJChvRqicYiarbPnOjH2lX7DwDUfEBA/132',value: '$654',url: '/pages/index/index?id=1'} | title是传入的标题,description描述,thumb图片(不能传相对路径),value价格,url点击图文模板的跳转到小程序路径(可带参数),_id是后台建立的图文模板的id数字 | 二、插件获取openid的方法 传入方法请参考demo ~~~ wx.navigateTo({ url: 'plugin://ykfchat/chat-page?scene=p1618ycpl&getOpenIdType=1' //getOpenIdType为1时在第一次跳进小程序插件时会由客服聊天助手申请授权,然后从微信获取openid。如果不传则生成的不是微信获取的openid }) ~~~ ----- ## 场景链接跟专属链接的区别 场景链接:场景设置内的场景路径 专属链接:场景客服内的客服路径 1:隔离 * 场景链接跟场景链接之间对话隔离;比如一个客户咨询了两个场景,对话是相互隔离的; * 场景链接跟专属链接之间对话隔离;比如一个客户咨询了渠道链接,又咨询了场景内的专属链接,这两个对话也是相互隔离的,互不影响; * 专属链接之间对话隔离;比如一个客户咨询了A专属链接,又去咨询了B专属链接,这两个对话也是相互隔离的,互不影响。 2:消息互通 * 从一个场景链接内咨询的客户,只能同时被一个客服接待,且无论被哪个客服接待,聊天记录都是互通的;比如客户1通过场景链接咨询,第一天被客服A接待了,结束接待后,第二天被客服B接待了,那么B是可以看到之前跟客服A的对话的。 * 从一个专属链接内咨询的客户,只能同时被一个客服接待,且无论被哪个客服接待,聊天记录都是互通的;比如客户咨询了客服A的专属链接,被客服A接待了,然后客服A转接给了客服B,或者又自动转接给了客服C,那么整个过程中的聊天记录是互通的。 所以,如果希望对话有延续性,请使用同一个场景链接,这样,无论客户被哪个客服接待,通过同一个场景链接进行的咨询,内部消息都是互通的。 如果你希望对话相互隔离,可以使用多个场景链接,或者专属链接。 **在什么场景下要使用专属链接呢?** 如果你有这样的需求,可以使用专属链接: * 要求对话隔离 * 要求客服之间可以转接,假如专属链接同属一个场景,场景内的客服是可以相互转接的。 **什么场景下使用场景链接呢?** 如果你有这样的需求,可以使用场景链接; * 一个店铺需要有多个客服负责 * 店铺内的客服可以相互转接,但是不能转接给店铺外的客服 * 店铺与店铺之间的对话隔离 ## 常见问题 1:为什么插件样式显示异常? 请查看全局样式设置,插件会受到小程序全局样式的影响。 2:为什么在添加场景客服时,显示已经添加全部客服? 如果没有其他客服,可以先去多客服管理内添加客服,然后再添加到场景客服内。 如果已经有客服,可以在多客服管理内编辑客服,使用其负责插件或某个渠道。 3:客户咨询:可以做到“多个店铺,每个店铺有多个客服,每个客服负责自己的那一块。”,比如,用户进了A商铺,客服a负责基本信息的回答,但是此时用户要进行售后,于是客服a转接到了负责售后的客服b; 这位客户的需求可以这样实现: 原理:场景客服之间可以相互转接 * 把需要互相转接的客服1和2,加到同一个场景A下做场景客服; * 商铺A入口,需要先给客服1,就填写客服1的客服路径,这样就会指定给他。但是他又可以转接给客服2。 4:客户咨询:我们希望能够在自己的服务号内做通知,该如何处理? 可以在开放接口内使用客服消息推送接口。这样,我们会把需要提醒的信息推送到相关接口内,方便调用自己服务号的模板消息服务进行提醒。[https://www.kancloud.cn/wikizhima/wikixkf/1709436](https://www.kancloud.cn/wikizhima/wikixkf/1709436) 如果要使用这个接口,需要自行建立客服跟自己服务号的openid之间的对应关系,方便我们推送时及时提醒。 5:使用插件时,遇到一个问题:客户离开后,没办法通知呢,该怎么解决? 可以使用开放接口内的离线消息推送接口:在客户离开咨询页时,我们会把客服回复的内容向填写的接口推送,这样就可以使用自己的手段进行提醒,比如模板消息、订阅消息等。 6:我想传递其他参数怎么办? 可以在后台--客户中心--自定义客户字段内创建自定义字段后,传递方法跟上面传递客户字段的方法保持一致。