客户管理
客户管理
客户导入接口
- URI
/wscrm-bus-api/customer/api/batchImport
- 请求方式
POST , Content-Type : application/json
- 请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
tenantId | Long | 是 | 公司 id |
data | List | 是 | 导入数据 |
data 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
agentAccount | String | 是 | 座席账号 |
String | 是 | ||
friendName | String | 后台设置 | 姓名 |
sex | String | 后台设置 | 性别: 未知、男、女 (中文状态) unknown、male、female (英文状态) |
birthday | String | 后台设置 | 生日: 2020/03/08 (目前只支持这种格式) |
address | String | 后台设置 | 地址 |
String | 后台设置 | 邮箱 | |
profession | String | 后台设置 | 职业 |
income | String | 后台设置 | 收入 |
desc | String | 后台设置 | 备注 |
tabName | Stirng | 后台设置 | 标签名称集合: 标签 A,标签 B (两个标签之间使用英文逗号隔开) |
cancelTabName | Stirng | 否 | 取消的标签,没有则不处理 |
stage | String | 后台设置 | 客户阶段 |
source | String | 后台设置 | 客户来源 |
languageTag | String | 后台设置 | 客户语言: 后台下载模板 sheet2 中数据,根据后台中英文识别 例如:简体中文(中) Chinese Simplified (英) |
welcome | String | 否 | 欢迎语 |
扩展字段 | String | 后台配置 | 详细查看下面解释 |
- 请求示例:
{
"tenantId": 82,
"data":[
{
"agentAccount": "kubrick101",
"whatsApp": "8615266667780",
"friendName": "封常清",
"sex": "男",
"birthday": "2020/03/08",
"address": "长安",
"email": "fengchangqing@tang.com",
"profession": "节度使",
"income": "100金",
"desc": "",
"tabName": "军人,经略",
"cancelTabName":"经略"
"stage": "新客户",
"source": "系统分配",
"派系": "关陇集团",
"扩展字段1": "这是扩展字段1的值",
"languageTag": "Auto", // 客户语言 根据当前座席登录客户端的账号确认,可选择不填
"welcome": "这是欢迎语"
}
]
}
- 参数获取方式
agentAccount: 为座席登录账号用来区分 whatsApp 归属座席,联系管理员获取。
- 扩展字段解释
根据后台客户-设置 | 扩展字段传参 key 为 扩展字段名 ,value 为扩展字段值,
例如:
文本:"哈嗨": "哈哈嗨"
数字:"这是数字扩展字段": 123
日期:"这是日期扩展字段": "2022-03-08"
时间:"时间": "12:00:00"
单选:"单选": "单选"
多选: "多选": "A,B"
- 响应参数说明
参数名 | 类型 | 备注 |
---|---|---|
data | String | 数据 (excel) |
msg | String | 错误信息 |
code | String | 返回的状态码 (200、500、-1) -1 代表参数错误 |
data 参数说明
参数名 | 备注 |
---|---|
errExcel | 导入失败手机号,及导入失败的原因 |
errCount | 导入失败条数 |
- 正确示例
{
"code": 200,
"message": "Success",
"data": {
"successExcel": [],
"errExcel": [],
"successCount": 2,
"errCount": 0,
"notFollowSuccessCount": "",
"notFollowSuccessExcels": []
}
}
- 错误示例:
{
"code": 200,
"message": "Success",
"data": {
"successExcel": [],
"errExcel": [
{
"errPhone": "",
"errInfo": "PHONE_ERROR",
"errCode": 28
},
],
"successCount": 0,
"errCount": 2,
"notFollowSuccessCount": "",
"notFollowSuccessExcels": []
}
}
客户导入接口(进导入池)
导入池说明
1、每次接口导入数据都会覆盖原来的数据,不同坐席之间不会影响。
例如: 第一次给坐席王五导入了两个客户(861821733142,861272562622)。第二次又给王五导入了一个客户(861272562622) 此时王五只有(861272562622)这一个客户。
- URI
/wscrm-bus-api/customer/api/batchImportWhatsContact
- 请求方式
POST , Content-Type : application/json
- 请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
tenantId | Long | 是 | 公司 id |
data | List | 是 | 导入数据 |
data 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
agentAccount | String | 是 | 座席账号 |
String | 是 | ||
friendName | String | 后台设置 | 姓名 |
sex | String | 后台设置 | 性别: 未知、男、女 (中文状态) unknown、male、female (英文状态) |
birthday | String | 后台设置 | 生日: 2020/03/08 (目前只支持这种格式) |
address | String | 后台设置 | 地址 |
String | 后台设置 | 邮箱 | |
profession | String | 后台设置 | 职业 |
income | String | 后台设置 | 收入 |
desc | String | 后台设置 | 备注 |
tabName | String | 后台设置 | 标签名称集合: 标签 A,标签 B(两个标签之间使用英文逗号隔开) |
cancelTabName | Stirng | 否 | 取消的标签,没有则不处理 |
stage | String | 后台设置 | 客户阶段 |
source | String | 后台设置 | 客户来源 |
languageTag | String | 后台设置 | 客户语言: 后台下载模板 sheet2 中数据,根据后台中英文识别 例如:简体中文(中) Chinese Simplified (英) |
welcome | String | 否 | 欢迎语 |
扩展字段 | String | 后台配置 | 详细查看下面解释 |
- 请求示例:
{
"tenantId": 82,
"data":[
{
"agentAccount": "kubrick101",
"whatsApp": "8615266667780",
"friendName": "李亨",
"sex": "男",
"birthday": "2020/03/08",
"address": "长安",
"email": "liheng@tang.com",
"profession": "皇帝",
"income": "10000金",
"desc": "唐肃宗",
"tabName": "忠王,收复两京",
"cancelTabName": "忠王",
"stage": "新客户",
"source": "系统分配",
"派系": "皇室",
"扩展字段1": "这是扩展字段1的值",
"languageTag": "Auto", // 客户语言 根据当前座席登录客户端的账号确认,可选择不填
"welcome": "这是欢迎语"
}
]
}
- 参数获取方式
agentAccount: 为座席登录账号用来区分 whatsApp 归属座席,联系管理员获取。
- 扩展字段解释
根据后台客户-设置 | 扩展字段传参 key 为 扩展字段名 ,value 为扩展字段值。 例如:
文本: "哈嗨": "哈哈嗨"
数字: "这是数字扩展字段": 123
日期: "这是日期扩展字段": "2022-03-08"
时间: "时间": "12:00:00"
单选: "单选": "["单选"]"
多选: "多选": "A,B"
- 返回参数说明
参数名 | 类型 | 备注 |
---|---|---|
data | String | 数据 (excel) |
msg | String | 错误信息 |
code | String | 返回的状态码 (200、500、-1) -1 代表参数错误 |
data 参数说明
参数名 | 备注 |
---|---|
errExcel | 导入失败手机号,及导入失败的原因 |
errCount | 导入失败条数 |
- 正确示例
{
"code": 200,
"message": "Success",
"data": {
"successExcel": [],
"errExcel": [],
"successCount": 2,
"errCount": 0,
"notFollowSuccessCount": "",
"notFollowSuccessExcels": []
}
}
- 导入成功,可在 PC 客户端(通讯录-导入池)进行查看。
- 错误示例:
{
"code": 200,
"message": "Success",
"data": {
"successExcel": [],
"errExcel": [
{
"errPhone": "",
"errInfo": "PHONE_ERROR",
"errCode": 28
},
],
"successCount": 0,
"errCount": 2,
"notFollowSuccessCount": "",
"notFollowSuccessExcels": []
}
}
客户导入接口(导入池追加)
导入池说明
1、每次接口导入数据都会覆盖原来的数据,不同坐席之间不会影响。
例如: 第一次给坐席王五导入了两个客户(861821733142,861272562622)。第二次又给王五导入了一个客户(861272562623) 此时王五只有(861821733142,861272562622,861272562623)三个客户。
- URI
/wscrm-bus-api/customer/api/batchImportAppendV2
- 请求方式
POST , Content-Type : application/json
- 请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
tenantId | Long | 是 | 公司 id |
data | List | 是 | 导入数据 |
data 参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
agentAccount | String | 是 | 座席账号 |
String | 是 | ||
friendName | String | 后台设置 | 姓名 |
sex | String | 后台设置 | 性别: 未知、男、女 (中文状态) unknown、male、female (英文状态) |
birthday | String | 后台设置 | 生日: 2020/03/08 (目前只支持这种格式) |
address | String | 后台设置 | 地址 |
String | 后台设置 | 邮箱 | |
profession | String | 后台设置 | 职业 |
income | String | 后台设置 | 收入 |
desc | String | 后台设置 | 备注 |
tabName | String | 后台设置 | 标签名称集合: 标签 A,标签 B(两个标签之间使用英文逗号隔开) |
stage | String | 后台设置 | 客户阶段 |
source | String | 后台设置 | 客户来源 |
languageTag | String | 后台设置 | 客户语言: 后台下载模板 sheet2 中数据,根据后台中英文识别 例如:简体中文(中) Chinese Simplified (英) |
welcome | String | 否 | 欢迎语 |
扩展字段 | String | 后台配置 | 详细查看下面解释 |
- 请求示例:
{
"tenantId": 82,
"data":[
{
"agentAccount": "kubrick101",
"whatsApp": "8615266667780",
"friendName": "李亨",
"sex": "男",
"birthday": "2020/03/08",
"address": "长安",
"email": "liheng@tang.com",
"profession": "皇帝",
"income": "10000金",
"desc": "唐肃宗",
"tabName": "忠王,收复两京",
"stage": "新客户",
"source": "系统分配",
"派系": "皇室",
"扩展字段1": "这是扩展字段1的值",
"languageTag": "Auto", // 客户语言 根据当前座席登录客户端的账号确认,可选择不填
"welcome": "这是欢迎语"
}
]
}
- 参数获取方式
agentAccount: 为座席登录账号用来区分 whatsApp 归属座席,联系管理员获取。
- 扩展字段解释
根据后台客户-设置 | 扩展字段传参 key 为 扩展字段名 ,value 为扩展字段值。 例如:
文本: "哈嗨": "哈哈嗨"
数字: "这是数字扩展字段": 123
日期: "这是日期扩展字段": "2022-03-08"
时间: "时间": "12:00:00"
单选: "单选": "["单选"]"
多选: "多选": "A,B"
- 返回参数说明
参数名 | 类型 | 备注 |
---|---|---|
data | String | 数据 (excel) |
msg | String | 错误信息 |
code | String | 返回的状态码 (200、500、-1) -1 代表参数错误 |
data 参数说明
参数名 | 备注 |
---|---|
errExcel | 导入失败手机号,及导入失败的原因 |
errCount | 导入失败条数 |
- 正确示例
{
"code": 200,
"message": "Success",
"data": {
"successExcel": [],
"errExcel": [],
"successCount": 2,
"errCount": 0,
"notFollowSuccessCount": "",
"notFollowSuccessExcels": []
}
}
- 导入成功,可在 PC 客户端(通讯录-导入池)进行查看。
- 错误示例:
{
"code": 200,
"message": "Success",
"data": {
"successExcel": [],
"errExcel": [
{
"errPhone": "",
"errInfo": "PHONE_ERROR",
"errCode": 28
},
],
"successCount": 0,
"errCount": 2,
"notFollowSuccessCount": "",
"notFollowSuccessExcels": []
}
}
查询好友联系人接口
描述
查询指定客服号好友联系人列表接口
URI
/wscrm-bus-api/open/customer/query
请求方式
POST、Content-Type: application/json
请求参数说明
参数名 | 类型 | 是否必填 | 备注 |
---|---|---|---|
whatsId | String | 是 | 客服号 |
请求示例:
{
"tenantId": 520274,
"whatsId": "86187272722"
}
响应参数说明
参数名 类型 示例值 备注 code int 200 状态码 message String 成功 描述 data String List 数据
- data 参数说明
参数名 | 类型 | 备注 |
---|---|---|
whatsId | String | whatsId |
name | String | 用户姓名 |
sex | String | 性别 |
String | 邮箱 | |
birthday | String | 生日 |
address | String | 地址 |
profession | String | 职业 |
income | String | 收入 |
desc | String | 描述 |
country | String | 国家 |
stage | int | 阶段(根据后台设定) |
source | int | 来源(根据后台设定) |
tabList | List | 标签列表,可能包含字符串数组 |
firstChatTime | String | 首次聊天时间 |
lastChatTime | String | 最后聊天时间 |
extendMap | Object | 扩展字段,包含键值对,具体类型根据内部字段确定 |
- 响应示例
{
"code": 200,
"message": "Success",
"data": [
{
"whatsId": "8615266290625",
"name": "",
"sex": null,
"email": "",
"birthday": null,
"address": "",
"profession": "",
"income": "",
"desc": "",
"country": null,
"stage": 10,
"source": 10,
"tabList": null,
"firstChatTime": null,
"lastChatTime": null,
"extendMap": {
"日期": "2024/07/08"
}
}
]
}
修改客户画像信息异步通知
描述 pc 端客户修改用户画像(基本信息、扩展字段)
WebHook
配置 ID <USER_SYNC_PORTRAIT>
请求参数
参数名 类型 是否必填 备注 accessToken String 是 签名字符串 token tenantId int 是 公司 id timestamp Long 是 毫秒时间戳 data List 是 格式[{},{}],详细如下(数量 0-50 条) - data 详细参数:
参数名 类型 是否必填 备注 id String 是 数据 id 标识(uuid) userName String 是 坐席登录账号 type int 是 类型 1、用户画像修改 2、写跟进 friendWhatsId String 是 修改对象客服号 field String 是 修改字段项,扩展字段为字段名称 如:扩展-附件 fieldType int 是 字段类型 0、基本字段 1、扩展字段 fieldConfig int 是 字段配置 1、单行文本 2、多行文本 3、单选 4、多选 5、数值 6、日期 7、时间 8、附件 sourceValue String 否 修改原值 targetValue String 否 修改结果 updateAt String 是 修改时间 - 示例请求参数:
{ "accessToken": "83293d01dddd628e3b457142f8a48a0cf4dae3b587e7febea7effea6bdcfd344", "tenantId": 500975, "timestamp": 1667293135274, "data": [ { "id": "a0cb1ad15ed24e618b4b12d9cdff1ad4", "type": 1, "userName": "张三", "friendWhatsId": "8615601882491", "field": "Address", "fieldType": 0, "fieldConfig": 1, "sourceValue": "", "targetValue": "123123", "updateAt": "2022-09-29 20:34:58" }, { "id": "81c968134be648e19187db83efa60152", "type": 1, "userName": "张三", "friendWhatsId": "8615601882491", "field": "Gender", "fieldType": 0, "fieldConfig": 3, "sourceValue": "MALE", "targetValue": "FEMALE", "updateAt": "2022-10-02 20:34:58" }, { "id": "4d8ac8a3a5164ab2b066dcf8fac5bd45", "type": 2, "userName": "张三", "friendWhatsId": "33758618170", "field": "Follow up records", "fieldType": 0, "fieldConfig": 1, "sourceValue": "", "targetValue": "{\"data\":{\"text\":\"你好\",\"url\":[]},\"dataTypeMap\":{\"writeFollow\":\"写跟进\"}}", "updateAt": "2022-10-31 17:44:06" } ] }
写跟进(Follow up records):
fieldType、fieldConfig、fieldType 以上都是初始值
写跟进 sourceValue、 targetValue 为固定格式 data: 数据(text:跟进文本,url:上传文件地址) 、dataTypeMap(value 固定格式) 类型
field 说明
fieldConfig:是我方标识的数据 value 类型、可选择不接收、不是必要字段
field | fieldConfig | 说明(sourceValue ->targetValue) |
---|---|---|
Name(姓名) | 单行文本 | 字符串 如:小明 ->小王 |
Gender(性别) | 单选 | 字符串 可选值(MALE、FEMALE、UNKOWNN) 如:MALE -> FEMALE |
DOB(生日) | 日期 | 字符串 格式(yyyy-MM-dd) 如:2022-12-01-> 2022-12-02 |
Address(地址) | 单行文本 | 字符串 如:上海-> 北京 |
Email(邮箱) | 单行文本 | 字符串 如: 123@qq.com-> 123@163.com |
Position(职业) | 单行文本 | 字符串 如: 运营->销售 |
Income(收入) | 单行文本 | 字符串 如: 1 万->2 万 |
Description(备注) | 多行文本 | 字符串 (包含换行符 \n) 如: 1\n2\n3 -> 1\n2\n3\n4 |
From(客户来源) | 单选 | 字符串 根据后台客户管理-设置 如:默认 -> 自挖掘 |
State(阶段) | 单选 | 字符串 根据后台客户管理-设置 如:新客户 -> 需求匹配 |
Language(客户语言) | 单选 | 字符串 根据后台客户管理-设置 如:auto -> am |
Tags(标签) | 多选 | 数组字符串 根据后台客户管理-设置 如:[标签 1] -> [标签 1,标签 2] |
多选(扩展字段以自定义名称为准) | 多选 | 数组字符串 根据后台客户管理-设置 如:[多选 1] -> [多选 1,多选 2] |
时间(扩展字段以自定义名称为准) | 时间 | 字符串 格式(HH:mm:ss) 如:17:26:59-> 17:27:35 |
附件(扩展字段以自定义名称为准) | 附件 | 字符串 格式(,http 分隔) 如:http://123.img,http://456.img |
返回值
参数名 类型 是否必填 备注 code int 是 状态码 message String 是 描述 data String 是 数据 - 举例如下:
{ "code": 200, "message": "", "data": "" }
写跟进同步
注: 接口加密规则使用 header 头的方式!!!
类型:<USER_WRITE_FLOW>
WebHook
请求方式
POST、Content-Type: application/json
请求参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
accessToken | string | 是 | token |
timestamp | long | 是 | 时间戳 |
tenantId | int | 是 | 公司 id |
data | array | 是 | 详细跟进数据 |
- data 参数说明
字段 | 类型 | 是否必填 | 备注 |
---|---|---|---|
friendWhatsId | String | 是 | 目标 whatsapp 手机号 |
userId | int | 是 | 当前坐席 id |
tenantId | int | 是 | 公司 id |
follow | String | 是 | 跟进内容 |
username | int | 是 | 跟进坐席账号 |
- 请求示例
{
"accessToken": "e6e18763d8d5a756d45c01486d7ad6742152ac",
"callBackUrl": "",
"tenantId": 82,
"timestamp": 1667295870936,
"data": [
{
"friendWhatsId": "8617633819542",
"userId": 1221,
"tenantId": 22,
"follow": "{\"data\":{\"text\":\"美丽China\",\"url\":[]}",
"username": "gavin"
},
{
"friendWhatsId": "8617633819542",
"userId": 1221,
"tenantId": 222,
"follow": "{\"data\":{\"text\":\"美丽China\",\"url\":[]}",
"username": "gavin"
}
]
}
- 响应示例
{
"code": 200,
"message": "Success",
"data": ""
}
客户字段信息
要获取客户有哪些基本信息字段、扩展信息字段、标签信息 ,可以登录管理后台进行新增、修改。
- 基本信息&扩展字段
- 标签信息
- 可以登录客户端查看是否生效。
- 错误码
码值 | 说明 | 解释 |
---|---|---|
-1 | token error / TenantId Is Null / Admin Cannot import data / Data Is Null | 公司、账号基本信息 |
10 | 性别字段 sex 不符合格式要求 | sex 字段格式错误 |
14 | 来源字段填写内容不存在 | source 内容不符合要求 |
15 | 阶段字段填写内容不存在 | stage 内容不符合要求 |
16 | 客户语言填写内容不存在 | languageTag 填写内容不存在 |
19 | 超出一万条数据限制 | 超出一万条数据限制 |
21 | 扩展字段内容超出长度 | 扩展字段内容超过指定长度 |
22 | 必填项验证失败 | 必填字段未填写 |
23 | 扩展字段 - 数值类型格式错误 | 不完全是数值类型 |
24 | 扩展字段 - 日期类型格式错误 / 生日字段类型格式错误 | yyyy/MM/dd |
25 | 扩展字段 - 时间类型格式错误 | HH:mm:ss |
26 | 扩展字段 -单选类型格式错误 | 选入多个或选择项已经不存在 |
27 | 扩展字段 -多选类型格式错误 | 选择项已经不存在 |
28 | 手机号错误 | 不是数字 |
29 | 手机号为空 | whatsApp 为空 |
51 | 不存在国家字段 | 国家字段为空 |
56 | friendWhatsId 数据正在处理 | friendWhatsId 正在处理(一分钟间隔) |
58 | 扩展字段 - 附件类型 url 过长 | url 个数超过 10 张 |
59 | 扩展字段 - 附件存在无效地址或者网络波动或文件过大 | 无效地址或者网络波动或文件过大 |
60 | 扩展字段 - 附件类型文件过大 | 存在过大附件信息 |