小程序

小程序自定义传参方案文档说明

概述

因为小程序自身限制,暂时无法通过API获取用户信息,所有Udesk采用小程序支持的 session-from 参数实现该功能 session-from 小程序最多支持1000字符串,为了正常使用,该字段的长度尽量<=1000字节 支持客户的系统信息、客户自定义字段、业务标题、业务自定义字段

支持字段

字段说明

客户字段参考

业务记录字段参考

参数名称 说明
nick_name 昵称
avatar 头像
email 邮箱
customer_token 客户外部唯一标识 等同于open_api_token
ip ip
description 客户描述
organization_id 所属公司ID
tags 标签
owner_id 客户负责人ID
owner_group_id 客户负责组ID
level 等级
cellphones 电话 eg:[[电话ID,号码]] 电话ID 为空时表示为添加客户电话, 非空时表示更新客户电话 电话ID获取方式
other_emails 其他邮箱 eg:[[邮箱ID,邮箱]]邮箱 为空时表示为添加客户邮箱, 非空时表示更新客户邮箱 邮箱ID获取方式
custom_fields 自定义字段

使用说明

参数配置

var customer_info = {
    "email": "test@udesk.cn", //邮箱
    "customer_token": 'test_token', //客户外部ID
    "ip": "192.168.1.1", //IP
    "description": "描述",
    "organization_id": 1, //所属公司ID
    "tags": "标签1,标签2", //标签 已英文号分割
    "owner_id": 1, //客户负责人ID
    "owner_group_id": 1, //客户负责组ID
    "level": "normal", // 等级
    "cellphones": [["", "13100000002"]], //数组 [[电话ID, 电话文本]]
    "other_emails": [["", "13100000002@udesk.cn"]], //数组 [[邮箱ID, 邮箱]]
    "custom_fields": {
        "TextField_1": "普通文本内容",
    }
}

var nick_name = "张三" // 客户昵称
var avatar = "https://www.udesk.cn/images/index/logo1124.png" // 客户头像

var note_info = {
    "title": "业务记录标题",
    "custom_fields": {
        "TextField_1": "普通文本内容",
    }
}

//转换成字符串
customer_info_str = JSON.stringify(customer_info)
note_info_str = JSON.stringify(note_info)

内嵌示例


<!-- session-from = "udesk|客户昵称|头像|customer^客户信息|note^业务记录信息" -->

<button open-type="contact" size="mini" session-from="udesk|{{nick_name}}|{{avatar}}|customer^{{customer_info_str}}|note^{{note_info_str}}">进入客服会话</button>

帮助中心接入说明

http://udesk.udesk.cn/hc/articles/54089

参考示例代码

https://github.com/wangmingle/weixin_mini_test.git

行为轨迹SDK

Udesk小程序SDK,用来收集客户的商品浏览轨迹、订单事件等,并在 IM控制台>会话>访客轨迹中显示。 如果没有在Udesk客服系统设置小程序,需要在【管理中心>渠道管理>小程序 - 接入微信小程序】

获取与使用SDK

下载SDK成功后,把该文件放到小程序根目录utils目录下,在app.js引入 import UdeskSdk from './utils/ud-sdk';

// 在app.js 第一行引入sdk
import UdeskSdk from './utils/ud-sdk';

UdeskSdk.init({
  appId: 'xxxxxxxx',
  companyToken: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  companyDomain: 'xxx.udeskdemo.cn',
  onPageShow: function(){
    //do something
  }
});

域名设置

登录 小程序后台, 我们可以在菜单 “开发”-“开发设置” 可以看到小程序的 AppID和服务器域名

初始化

方法说明

UdeskSdk.init({ appId, companyToken, companyDomain, onPageShow, onPageHide });

参数说明

参数名称 类型 是否必选 说明
appId String 小程序appId
companyToken String 公司小程序鉴权Token,获取位置【管理中心-渠道管理-小程序-管理/小程序SDK鉴权Token】
companyDomain String 公司域名,如:xxx.udesk.cn
onPageShow Function 接受页面显示事件
onPageHide Function 接受页面隐藏事件

> 商品浏览轨迹上传

方法说明

调用该功能请先初始化

UdeskSdk.trace(type, data);

参数说明

参数名称 类型 是否必选 说明
type String product 跟踪类型
data Object 跟踪数据
data.name String 商品名称
data.url String 商品跳转链接(新页显示),如果值为空,则不能点击
data.imgUrl String 如果值为空,则不显示
data.params Object 参数列表
data.params.text String 参数文本
data.params.color String 参数颜色值,规定为十六进制值的颜色(比如 #ff0000)
data.params.fold Boolean 是否粗体
data.params.break Boolean 是否换行
data.params.size Number 默认12 字体大小

示例

import UdeskSdk from './utils/ud-sdk';

UdeskSdk.trace('product', {
  name: " Apple iPhone X (A1903) 64GB 深空灰色 移动联通4G手机",
  url: "https://item.jd.com/6748052.html",
  imgUrl: "http://img12.360buyimg.com/n1/s450x450_jfs/t10675/253/1344769770/66891/92d54ca4/59df2e7fN86c99a27.jpg",
  params: [{
      "text": "¥6999.00",
      "color": "#FF0000",
      "fold": false,
      "break": false,
      "size": 12
  }]
});

> 订单事件上传

方法说明

调用该功能请先初始化

UdeskSdk.trace(type, data);

参数说明

参数名称 类型 是否必选 说明
type String order 跟踪类型
data Object 跟踪数据
data.order_no String 订单编号
data.name String 订单名称
data.url String 订单跳转链接
data.price Number 订单价格
data.order_at Date 下单时间
data.pay_at Date 付款时间
data.status String 订单状态: wait_pay(待付款)、paid(已付款)、closed(已关闭)
data.remark String 备注, 最大长度为1000字节(中文2个字节)

示例

import UdeskSdk from './utils/ud-sdk';

UdeskSdk.trace('order', {
  order_no: "1000",
  name: "第一个订单",
  url: "https://xxx.xxxx.com/订单链接",
  price: 16.8,
  order_at: new Date(),
  pay_at: new Date(),
  status: "wait_pay",
  remark: "备注最多1000字节"
});