微信小程序
# 微信小程序
# 授权方式
参考:微信小程序接入指南 (opens new window)
# 咨询按钮配置
# ● 小程序获取用户昵称和头像代码
注:请一定要嵌入这段代码,否则无法获取到用户的昵称和头像!
将这一段代码嵌入小程序的代码中即可(咨询按钮的样式可以通过代码自定义)。
<button
type="primary"
size="40"
session-from="sobot|{{userInfo.nickName}}|{{userInfo.avatarUrl}}|{{params}}"
open-type="contact"
>联系客服</button>
2
3
4
5
6
注:
1)获取昵称和头像,需要首先获取小程序 userInfo;
2)定义 params 字段,类型为字符串,格式为:{"key":"value",……}。
# ● 小程序指定接待对接代码
参数定义:
params: '{"name":"sobot","age":18}',
transfer_action: '[{"actionType":"to_group","deciId":"xxx","optionId":"3","spillId":"4"},{"actionType":"to_group","deciId":"xxx","optionId":"4"}]',
platform_action: '{"customerCode":"xxx","flowGroupId":"xxx"}',
partnerid:"xxx", //对接id
robotid:1, // 机器人id
unionid:"oJw8S1S0ZheoM2PnKbka3zJO-QyE", // 微信用户身份id
customer_fields:'{"ddb35f065d4b44ec870f58b87c1a52db":"xx"}' // 客户自定义字段
2
3
4
5
6
7
参数说明:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
params | String | 否 | 用户自定义字段 |
transfer_action | String | 否 | 转人工指定技能组设置(支持传入三级溢出策略,即第四级默认为不溢出) |
platform_action | String | 否 | 电商平台版小程序对接参数信息 |
partnerid | String | 否 | 客户系统中用户唯一标识,限制 100 字符 |
robotid | String | 否 | 机器人 id |
unionid | String | 否 | 微信用户身份id |
customer_fields | String | 否 | 客户自定义字段 |
transfer_action 参数值说明:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
actionType | String | 是 | 执行动作类型: to_group:指定技能组; to_service:指定客服。 |
deciId | String | 是 | 指定技能组或客服id |
optionId | String | 是 | 溢出标记: 指定客服时: 1:溢出; 2:不溢出。 指定技能组时: 3:溢出; 4:不溢出。 |
spillId | String | 是 | 溢出条件: 指定客服时: 1:客服不在线; 2:客服忙碌, 3:智能判断。 指定客服组时: 4:技能组无客服在线; 5:技能组所有客服忙碌; 6:技能组不上班; 7:智能判断。 |
platform_action 参数值说明:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
customerCode | String | 是 | 商户在平台里面的唯一 id |
flowGroupId | String | 否 | 指定主账号下的技能组 id |
接入客服按钮定义:
<button
session-from="sobot|{{userInfo.nickName}}|{{userInfo.avatarUrl}}|{{params}}|transfer_action={{transfer_action}}|platform_action={{platform_action}}|partnerid={{partnerid}}|robotid={{robotid}}|unionid={{unionid}}|customer_fields={{customer_fields}}"
open-type="contact"
>客服会话</button>
2
3
4
注:1.session-from 设置长度限制 1000 字符
2.各字段以"|"隔开,会对应不同的参数值;"sobot|昵称|头像|自定义字段" 为固定字段,即使不传入也需要留出字段空间,例如:sobot||||;transfer_action、platform_action、partnerid、robotid、unionid、customer_fields 为选填字段,不受顺序、空间限制,用户可根据自己的业务需要选择性传入。
# 小程序卡片对接
# ● 客户发送卡片
支持客户在小程序原生对话中发送小程序卡片。需要在客服会话消息 button 中增加几个字段: show-message-card 显示会话内消息卡片, send-message-title 会话内消息卡片标题,send-message-path 会话内消息卡片点击跳转小程序路径,send-message-img 会话内消息卡片图片。添加后,访客接入会话时,会出现会话页的小程序卡片的提示。 具体信息参考官方文档
<button type="primary" size="40"
<!-- 使用小程序卡片功能时原有配置不变,需要添加以下配置项 -->
show-message-card="true"
send-message-title="{{miniprogrampage_title}}"
send-message-path="{{miniprogrampage_path}}"
send-message-img="{{miniprogrampage_img}}"
open-type="contact">
点我给客服发送消息
</button>
2
3
4
5
6
7
8
9
# ● 客服发送卡片接口
需在智齿新版工作台的 iframe 页面发送 postMessage 消息,智齿新版工作台进行接收发送
消息格式如下:
{
cid:xxx, //对接页面地址中获取的 cid
uid:xxx,//对接页面地址中获取的 uid
msgType: 26, //固定值 26
miniPage: {
headimg: "https://img.sobot.com/console/common/face/admin.png", //小程序头像,用于工作台展示
name: "小程序名字", // 小程序名字,用于工作台展示
thumbUrl:"https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1667994205,255365672&fm=5", // 小程序封面图片,用于工作台展示
title: "小程序标题",
pagepath: "pages/index/index", //跳转地址
thumbMediaId:"nI3DlJZsXd7h0JVZ-LklyzjWtZY4Q-lNAacBe50Chl0k9Zs5PR_p2_jV2na2o3_P" // 小程序的 media_id
}
}
2
3
4
5
6
7
8
9
10
11
12
13
发送示例:
window.parent.postMessage({
cid: xxx,
uid: xxx,
msgType: 26,
miniPage: {
headimg: "https://img.sobot.com/console/common/face/admin.png",
name: "小程序名字",
title: "小程序标题",
pagepath: "pages/index/index",
thumbMediaId:"nI3DlJZsXd7h0JVZ-LklyzjWtZY4Q-lNAacBe50Chl0k9Zs5PR_p2_jV2na2o3_P" , // 小程序的 media_id
thumbUrl:"https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1667994205,255365672&fm=5",
}
}, '*');
2
3
4
5
6
7
8
9
10
11
12
13
# ● UnionID加密
基于在线对接小程序与公众号,同一个微信开放平台帐号下的公众号和小程序,可以根据用户唯一的 UnionID,将用户识别为同一客户,小程序需要将 UnionID 传输给智齿,为防止信息泄漏,可对 UnionID 进行加密,智齿提供解密功能
加密条件:
需要在对接渠道设置-渠道密钥设置,开启 UnionID 加密设置,生成密钥,并在小程序中根据密钥对 UnionID 进行加密
加密方式:
采用 AES / ECB / PKCS5Padding 加密
加密范围:
开启加密设置项后,加密范围目前为:小程序用户
← iOS SDK V6 微信公众号→