# 客户中心
# 1、接口声明
在调用接口时必须在https请求的header中携带"token"参数。
token是智齿客服接口开放平台全局唯一的接口调用凭据。
开发者在调用各业务接口时都需使用token,开发者需要进行妥善保存。token的存储至少要保留32个字符空间。token的有效期目前为24个小时,需定时刷新,或根据接口返回的token失效提示,进行重新获取。请求token接口,无论token是否存在,都会返回新的token,并重置token的过期时间(目前24小时)。
token使用方式说明:
1、开发者需要统一获取和管理token,在调用智齿客服各个业务开放接
口时都应该使用同一个的token,不应该每个业务都刷新获取新的
token,否则容易导致token失效,影响接口的正常调用;
2、目前token的有效期通过返回的expire_in来传达,目前是86400
秒之内的值。开发者需要根据这个有效时间提前去刷新新token。
3、开发者需要根据接口返回的token失效提示,进行重新获取token。
# 2、接口调用
# 2.1、获取访问token编码
接口说明:
获取API开放接口token,此token仅适用于智齿开放平台 5.0版本全部API接口 。API接口中的参数 appid, app_key 请联系智齿售后人员获取。
请求方式:
GET
请求地址:
https://www.sobot.com/api/get_token
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
appid | String | 是 | 接口凭证Id | 第三方用户接口调用唯一凭证id |
create_time | String | 是 | 时间戳 | 时间戳,秒,例如 2019-09-25 15:49:33 的时间戳1569397773 |
sign | String | 是 | 签名 | md5(appid+create_time+app_key) sign签名,app_key为密钥 |
返回参数:
参数 | 类型 | 必填 | 名称 |
---|---|---|---|
ret_code | String | 是 | 返回编码 |
ret_msg | String | 是 | 返回信息 |
item | Object | 否 | 返回对象 |
item对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
token | String | 是 | token编码 | |
expires_in | String | 是 | 凭证有效时间 | 单位:秒 |
时间戳转换参考工具:
http://tool.chinaz.com/Tools/unixtime.aspx
sign签名生成示例:
例如,appid = "1"; create_time="1569397773"; app_key="2"
sign = Md5("115693977732") 为 258eec3118705112b2c53dc8043d4d34。
请求示例:
curl https://www.sobot.com/api/get_token?appid=1&create_time=1569397773&sign=258eec3118705112b2c53dc8043d4d34
返回示例:
{
"item": {
"token": "4ac37cb2e9c740dba4b75a34d5358802",
"expires_in": "86400"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.2、创建客户信息
接口说明:
创建客户信息,根据优先级:对接ID>邮箱>手机查找,查询到客户已存在则直接返回,否则新建。
备注:
1、如果企业设置了客户自定义字段,那么在创建客户信息时可以选择查询相对应的自定义字段配置信息进行扩展信息的添加。
请求方式:
POST
请求地址:
/api/crm/5/user/save_user
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
user_nick | String | 是 | 客户昵称 | |
user_name | String | 否 | 客户名称 | |
user_tels | String | 否 | 手机号码 | 如多号码请采用英文分号";"隔开 |
user_emails | String | 否 | 邮箱 | 如多邮箱请采用英文分号";"隔开 |
user_level | String | 否 | 客户等级 | 0普通,1VIP |
vip_level | String | 否 | VIP级别 | 选项id,通过接口查询客户固定字段信息获取 |
user_label | String | 否 | 客户标签 | 如多标签用英文分号";"隔开 |
user_status | String | 否 | 客户状态 | 0 普通,1 永久拉黑,默认0 |
enterprise_name | String | 否 | 企业名称 | 企业名称请填写全称,非简称 |
partnerid | String | 否 | 对接ID | |
extend_field_params | List | 否 | 扩展字段信息 | |
remark | String | 否 | 备注 |
extend_field_params对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
fieldid | String | 是 | 扩展字段ID | |
field_value | String | 是 | 扩展字段值 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
userid | String | 是 | 客户ID | |
user_nick | String | 是 | 客户昵称 | |
companyid | String | 是 | 公司ID |
请求示例:
curl https://www.sobot.com/api/crm/5/user/save_user
-X POST
-H 'content-type: application/json'
-H 'token: 4ac37cb2e9c740dba4b75a34d5358802'
-d '{"user_nick":"客户09104",
"user_emails":"test09104@163.com",
"extend_field_params":[{
"fieldid":"df72cdd10a7b4c8da40cd2fd14fed7b6",
"field_value":"文本框值value4"
}]
}'
返回示例:
{
"item": {
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"user_nick": "客户09104",
"userid": "b2e959ff879a492b8ec5ca9b503a7414"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.3、编辑客户信息
接口说明:
编辑客户信息
备注:
1、如果企业设置了客户自定义字段,那么在更新客户信息时可以选择查询相对应的自定义字段配置信息进行扩展信息的添加。
请求方式:
POST
请求地址:
/api/crm/5/user/update_user
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
userid | String | 是 | 客户ID | |
user_nick | String | 是 | 客户昵称 | |
user_name | String | 否 | 客户名称 | |
user_emails | String | 否 | 邮箱 | 如多邮箱请采用英文分号";"隔开 |
user_tels | String | 否 | 手机号码 | 如多号码请采用英文分号";"隔开 |
user_level | String | 否 | 客户等级 | 0普通,1VIP |
vip_level | String | 否 | VIP级别 | 选项客户自定义,参照接口2.10 |
user_label | String | 否 | 客户标签 | 如多标签用英文分号";"隔开 |
user_status | String | 否 | 客户状态 | 0 普通,1 永久拉黑,默认0 |
extend_field_params | List | 否 | 扩展字段信息 | |
remark | String | 否 | 备注 |
extend_field_params对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
fieldid | String | 是 | 扩展字段ID | |
field_value | String | 是 | 扩展字段值 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
userid | String | 是 | 客户ID | |
user_nick | String | 是 | 客户昵称 | |
companyid | String | 是 | 公司ID |
请求示例:
curl https://www.sobot.com/api/crm/5/user/update_user -X POST -H 'content-type: application/json' -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' -d '{"user_nick":"客户-09102","userid ":"4fcf2a15b47f4e56a474a96fb53923af"}'
返回示例:
{
"item": {
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"user_nick": "客户-09102",
"userid": "4fcf2a15b47f4e56a474a96fb53923af"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.4、根据邮箱查询客户信息
接口说明:
根据邮箱查询客户信息
请求方式:
GET
请求地址:
/api/crm/5/user/get_user_by_email
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
user_emails | String | 是 | 客户邮箱 | 此参数只允许单一值 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
item | Object | 否 | 返回对象 |
item对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
userid | String | 是 | 客户ID | |
user_nick | String | 是 | 客户昵称 | |
companyid | String | 是 | 公司ID | |
user_emails | String | 是 | 客户邮箱 | 此参数可能会采用英文分号";"隔开 |
user_name | String | 否 | 客户名称 | |
user_tels | String | 否 | 手机号码 | 此参数可能会采用英文分号";"隔开 |
user_level | String | 否 | 客户等级 | 0普通,1VIP |
vip_level | String | 否 | VIP级别 | 选项客户自定义 |
user_status | String | 否 | 客户状态 | 0 普通,1 永久拉黑,默认0 |
partnerid | String | 否 | 对接ID | |
visitorids | String | 否 | 访客ID | 此参数可能会采用英文逗号","隔开 |
enterpriseid | String | 否 | 企业ID | |
enterprise_name | String | 否 | 企业名称 | |
create_agentid | String | 否 | 创建者坐席ID | |
update_agentid | String | 否 | 更新者者坐席ID | |
remark | String | 否 | 备注 | |
extend_field_values | List | 否 | 扩展字段值 | |
create_datetime | String | 是 | 创建时间 | 2018-07-10 00:00:00 |
user_label | String | 否 | 客户标签 | 选项客户自定义 |
extend_field_values对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
fieldid | String | 是 | 扩展字段ID | |
field_value | String | 是 | 扩展字段值 | |
field_text | String | 否 | 扩展字段文本值 | 针对选项类型的字段 |
field_type | String | 是 | 字段类型 | 1、单行文本2、多行文本3、日期4、时间5、数值6、下拉列表(选项)7、复选框(选项)8、单选框(选项) |
请求示例:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/crm/5/user/get_user_by_email?user_emails=test@sobot.com
返回示例:
{
"item": {
"create_agentid": "b23134ejk727618ec5ca9b50327s4",
"update_agentid": "b23134ejk727618ec5ca9b50327s4",
"create_datetime": "2019-10-08 16:37:50",
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"extend_field_values": [
{
"field_type": "1",
"field_value": "test",
"fieldid": "df72cdd10a7b4c8da40cd2fd14fed7b6"
},
{
"field_type": "3",
"field_value": "20190807",
"fieldid": "2ac6731170c14feeb77f61ff0b84f399"
}
],
"user_emails": "test@sobot.com",
"user_level": "1",
"user_nick": "我是VIP",
"user_status": "0",
"user_tels": "13241089563",
"userid": "ebe6a8b6bcf840418b8e58d123262945",
"vip_level": "a87394d63a16488fbbe0b58479586404"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.5、根据手机号查询客户信息
接口说明:
根据手机号查询客户信息
请求方式:
GET
请求地址:
/api/crm/5/user/get_user_by_tel
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
user_tels | String | 是 | 手机号 | 此参数只允许单一值 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
item | Object | 否 | 返回对象 |
item对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
userid | String | 是 | 客户ID | |
user_nick | String | 是 | 客户昵称 | |
companyid | String | 是 | 公司ID | |
user_emails | String | 否 | 客户邮箱 | 此参数可能会采用英文分号";"隔开 |
user_name | String | 否 | 客户名称 | |
user_tels | String | 是 | 手机号码 | 此参数可能会采用英文分号";"隔开 |
user_level | String | 否 | 客户等级 | 0普通,1VIP |
vip_level | String | 否 | VIP级别 | 选项客户自定义 |
user_status | String | 否 | 客户状态 | 0 普通,1 永久拉黑,默认0 |
partnerid | String | 否 | 对接ID | |
visitorids | String | 否 | 访客ID | 此参数可能会采用英文逗号","隔开 |
enterpriseid | String | 否 | 企业ID | |
enterprise_name | String | 否 | 企业名称 | |
create_agentid | String | 否 | 创建者坐席ID | |
update_agentid | String | 否 | 更新者坐席ID | |
remark | String | 否 | 备注 | |
extend_field_values | List | 否 | 扩展字段值 | |
create_datetime | String | 是 | 创建时间 | 2018-07-10 00:00:00 |
user_label | String | 否 | 客户标签 | 选项客户自定义 |
extend_field_values对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
fieldid | String | 是 | 扩展字段ID | |
field_value | String | 是 | 扩展字段值 | |
field_text | String | 否 | 扩展字段文本值 | 针对选项类型的字段 |
field_type | String | 是 | 字段类型 | 1、单行文本2、多行文本3、日期4、时间5、数值6、下拉列表(选项)7、复选框(选项)8、单选框(选项) |
请求示例:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/crm/5/user/get_user_by_tel?user_tels=13241089563
返回示例:
{
"item": {
"create_agentid": "b23134ejk727618ec5ca9b50327s4",
"update_agentid": "b23134ejk727618ec5ca9b50327s4",
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"create_datetime": "2019-10-08 16:37:50",
"extend_field_values": [
{
"field_type": "1",
"field_value": "test",
"fieldid": "df72cdd10a7b4c8da40cd2fd14fed7b6"
},
{
"field_type": "3",
"field_value": "20190807",
"fieldid": "2ac6731170c14feeb77f61ff0b84f399"
}
],
"user_emails": "test@sobot.com",
"user_level": "1",
"user_nick": "我是VIP",
"user_status": "0",
"user_tels": "13241089563",
"userid": "ebe6a8b6bcf840418b8e58d123262945",
"vip_level": "a87394d63a16488fbbe0b58479586404"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.6、根据客户ID查询客户信息
接口说明:
根据客户ID查询客户信息
请求方式:
GET
请求地址:
/api/crm/5/user/get_user_by_id
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
userid | String | 是 | 客户ID | 此参数只允许单一值 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
item | Object | 否 | 返回对象 |
item对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
userid | String | 是 | 客户ID | |
user_nick | String | 是 | 客户昵称 | |
companyid | String | 是 | 公司ID | |
user_emails | String | 否 | 客户邮箱 | 此参数可能会采用英文分号";"隔开 |
user_name | String | 否 | 客户名称 | |
user_tels | String | 否 | 手机号码 | 此参数可能会采用英文分号";"隔开 |
user_level | String | 否 | 客户等级 | 0普通,1VIP |
vip_level | String | 否 | VIP级别 | 选项客户自定义 |
user_status | String | 否 | 客户状态 | 0 普通,1 永久拉黑,默认0 |
partnerid | String | 否 | 对接ID | |
visitorids | String | 否 | 访客ID | 此参数可能会采用英文逗号","隔开 |
enterpriseid | String | 否 | 企业ID | |
enterprisename | String | 否 | 企业名称 | |
create_agentid | String | 否 | 创建者坐席ID | |
update_agentid | String | 否 | 更新者坐席ID | |
remark | String | 否 | 备注 | |
extend_field_values | List | 否 | 扩展字段值 | |
create_datetime | String | 是 | 创建时间 | 2018-07-10 00:00:00 |
update_datetime | String | 是 | 更新时间 | 2018-07-10 00:00:00 |
user_label | String | 否 | 客户标签 | 选项客户自定义 |
province_name | String | 否 | 省份名称 | |
city_name | String | 否 | 城市名称 | |
create_name | String | 否 | 创建者名称 | |
update_name | String | 否 | 更新者名称 | |
wx | String | 否 | 微信号 | |
String | 否 | |||
source | String | 否 | 对接渠道 |
extend_field_values对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
fieldid | String | 是 | 扩展字段ID | |
field_value | String | 是 | 扩展字段值 | |
field_text | String | 否 | 扩展字段文本值 | 针对选项类型的字段 |
field_type | String | 是 | 字段类型 | 1、单行文本2、多行文本3、日期4、时间5、数值6、下拉列表(选项)7、复选框(选项)8、单选框(选项) |
请求示例:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/crm/5/user/get_user_by_id?userid=ebe6a8b6bcf840418b8e58d123262945
返回示例:
{
"item": {
"create_agentid": "b23134ejk727618ec5ca9b50327s4",
"update_agentid": "b23134ejk727618ec5ca9b50327s4",
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"create_datetime": "2019-10-08 16:37:50",
"extend_field_values": [
{
"field_type": "1",
"field_value": "test",
"fieldid": "df72cdd10a7b4c8da40cd2fd14fed7b6"
},
{
"field_type": "3",
"field_value": "20190807",
"fieldid": "2ac6731170c14feeb77f61ff0b84f399"
}
],
"user_emails": "test@sobot.com",
"user_level": "1",
"user_nick": "我是VIP",
"user_status": "0",
"user_tels": "13241089563",
"userid": "ebe6a8b6bcf840418b8e58d123262945",
"vip_level": "a87394d63a16488fbbe0b58479586404"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.7、根据对接ID查询客户信息
接口说明:
根据对接ID查询客户信息
请求方式:
GET
请求地址:
/api/crm/5/user/get_user_by_partnerid
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
partnerid | String | 是 | 对接ID | 此参数只允许单一值 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
item | Object | 否 | 返回对象 |
item对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
userid | String | 是 | 客户ID | |
user_nick | String | 是 | 客户昵称 | |
companyid | String | 是 | 公司ID | |
user_emails | String | 否 | 客户邮箱 | 此参数可能会采用英文分号";"隔开 |
user_name | String | 否 | 客户名称 | |
user_tels | String | 否 | 手机号码 | 此参数可能会采用英文分号";"隔开 |
user_level | String | 否 | 客户等级 | 0普通,1VIP |
vip_level | String | 否 | VIP级别 | 选项客户自定义 |
user_status | String | 否 | 客户状态 | 0 普通,1 永久拉黑,默认0 |
partnerid | String | 是 | 对接ID | |
visitorids | String | 否 | 访客ID | 此参数可能会采用英文逗号","隔开 |
enterpriseid | String | 否 | 企业ID | |
enterprise_name | String | 否 | 企业名称 | |
create_agentid | String | 否 | 创建者坐席ID | |
update_agentid | String | 否 | 更新者坐席ID | |
remark | String | 否 | 备注 | |
extend_field_values | List | 否 | 扩展字段值 | |
create_datetime | String | 是 | 创建时间 | 2018-07-10 00:00:00 |
user_label | String | 否 | 客户标签 | 选项客户自定义 |
extend_field_values对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
fieldid | String | 是 | 扩展字段ID | |
field_value | String | 是 | 扩展字段值 | |
field_text | String | 否 | 扩展字段文本值 | 针对选项类型的字段 |
field_type | String | 是 | 字段类型 | 1、单行文本2、多行文本3、日期4、时间5、数值6、下拉列表(选项)7、复选框(选项)8、单选框(选项) |
请求示例:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/crm/5/user/get_user_by_partnerid?partnerid=oaSvz0M-x1frUqUM5QFj806YwJjo
返回示例:
{
"item": {
"create_agentid": "b23134ejk727618ec5ca9b50327s4",
"update_agentid": "b23134ejk727618ec5ca9b50327s4",
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"create_datetime": "2019-10-08 16:37:50",
"extend_field_values": [
{
"field_type": "1",
"field_value": "test",
"fieldid": "df72cdd10a7b4c8da40cd2fd14fed7b6"
},
{
"field_type": "3",
"field_value": "20190807",
"fieldid": "2ac6731170c14feeb77f61ff0b84f399"
}
],
"user_emails": "test@sobot.com",
"user_level": "1",
"user_nick": "我是VIP",
"user_status": "0",
"user_tels": "13241089563",
"userid": "ebe6a8b6bcf840418b8e58d123262945",
"vip_level": "a87394d63a16488fbbe0b58479586404"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.8、查询客户列表
接口说明:
查询客户列表
请求方式:
GET
请求地址:
/api/crm/5/user/query_users
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
user_nick | String | 否 | 客户昵称 | |
user_tels | String | 否 | 手机号码 | 此参数只允许单一值 |
user_emails | String | 否 | 邮箱 | 此参数只允许单一值 |
user_status | String | 否 | 客户状态 | 0 普通,1 永久拉黑,默认0 |
enterpriseid | String | 否 | 企业ID | 可根据企业列表接口中获取企业ID |
start_datetime | String | 是 | 开始时间(创建) | 2018-07-10 00:00:00 |
end_datetime | String | 是 | 结束时间(创建) | 2018-07-10 23:59:59 |
update_start_time | String | 否 | 开始时间(更新) | 2018-07-10 00:00:00 |
update_end_time | String | 否 | 结束时间(更新) | 2018-07-10 23:59:59 |
flag | Integer | 否 | 查询条件 | 1 按照创建时间查询, 2 按照更新时间查询 |
page_no | Integer | 是 | 起始页码 | 1 |
page_size | Integer | 是 | 每页条数 | 默认每页15条 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
items | List | 否 | 对象列表 | |
page_count | Integer | 是 | 共几页 | |
page_no | Integer | 是 | 起始页 | |
page_size | Integer | 是 | 每页条数 | |
total_count | Integer | 是 | 数据条数 |
items对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
userid | String | 是 | 客户ID | |
user_nick | String | 是 | 客户昵称 | |
companyid | String | 是 | 公司ID | |
user_tels | String | 否 | 手机号码 | 此参数可能会采用英文分号";"隔开 |
user_emails | String | 否 | 邮箱 | 此参数可能会采用英文分号";"隔开 |
user_name | String | 否 | 客户名称 | |
user_level | String | 否 | 客户等级 | 0普通,1VIP |
vip_level | String | 否 | VIP级别 | 选项客户自定义 |
user_status | String | 否 | 客户状态 | 0 普通,1 永久拉黑,默认0 |
partnerid | String | 否 | 对接ID | |
enterpriseid | String | 否 | 企业ID | |
enterprise_name | String | 否 | 企业名称 | |
remark | String | 否 | 备注 | |
create_agentid | String | 否 | 创建者坐席ID | |
update_agentid | String | 否 | 更新者坐席ID | |
create_datetime | String | 是 | 创建时间 | 2018-07-10 00:00:00 |
user_label | String | 否 | 客户标签 | 选项客户自定义 |
请求示例:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/crm/5/user/query_users?start_datetime=2018-01-22 00:00:00&end_datetime=2019-05-25 23:59:59&page_no=1&page_size=10
返回示例:
{
"items": [
{
"create_agentid": "b23134ejk727618ec5ca9b50327s4",
"update_agentid": "b23134ejk727618ec5ca9b50327s4",
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"create_datetime": "2019-10-08 16:37:50",
"enterpriseid": "",
"partnerid": "",
"remark": "",
"user_emails": "test@sobot.com ",
"user_level": "1",
"user_nick": "我是VIP",
"user_status": "0",
"user_tels": "13241089563",
"userid": "ebe6a8b6bcf840418b8e58d123262945",
"vip_level": "a87394d63a16488fbbe0b58479586404"
}
],
"page_count": 1,
"page_no": 1,
"page_size": 10,
"totalcount": 1,
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.9、查询客户自定义字段信息
接口说明:
查询客户自定义字段配置信息
备注:
1、此处查询为客户自定义字段配置信息,如需要获取某一个客户相对应的自定义字段值时需要请求独立接口。
请求方式:
GET
请求地址:
/api/crm/5/user/query_user_extend_fields
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
无 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
item | Object | 是 | 返回数据 |
item对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
companyid | String | 是 | 公司ID | |
operate_type | String | 是 | 自定义字段类型 | 客户自定义字段 |
extend_fields | List | 否 | 扩展字段列表 |
extend_fields对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
companyid | String | 是 | 公司ID | |
field_name | String | 是 | 字段名称 | |
field_status | String | 否 | 字段状态 | 0无效(删除)1有效 |
field_type | String | 是 | 字段类型 | 1、单行文本 input 2、多行文本 textarea 3、日期YYYY-MM-DD 4、时间hh:mm 5、数值 6、下拉列表(选项) 7、复选框(选项)8、单选框(选项) 9、级联字段 |
field_variable | String | 是 | 字段变量名 | |
fieldid | String | 是 | 字段ID | |
fill_flag | String | 是 | 是否必填 | 0否1是 |
open_flag | String | 是 | 开启开关 | 0关闭1 开启 |
operate_type | String | 是 | 自定义字段类型 | 1、客户自定义字段 11、客户固定字段 |
sort_no | String | 是 | 排序标识 | |
remark | String | 是 | 字段描述 |
请求示例:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/crm/5/user/query_user_extend_fields
返回示例:
{
"item": {
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"extend_fields": [
{
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"field_name": "单行文本",
"field_status": "1",
"field_type": "1",
"field_variable": "customField1",
"fieldid": "df72cdd10a7b4c8da40cd2fd14fed7b6",
"fill_flag": "1",
"open_flag": "1",
"operate_type": "1",
"remark": "单行文本",
"sort_no": "1"
},
{
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"field_name": "日期",
"field_status": "1",
"field_type": "3",
"field_variable": "customField2",
"fieldid": "2ac6731170c14feeb77f61ff0b84f399",
"fill_flag": "0",
"open_flag": "1",
"operate_type": "1",
"remark": "日期",
"sort_no": "2"
}
],
"operate_type": "1"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.10、查询自定义字段值
接口说明:
返回自定义字段结果值信息,用于数据展示。
请求方式:
GET
请求地址:
/api/crm/5/user/query_user_extend_field_values
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
userid | String | 是 | 客户ID |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
item | Object | 是 | 返回数据 |
item对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
companyid | String | 是 | 公司ID | |
userid | String | 是 | 客户id | |
extend_fields | List | 否 | 扩展字段列表 |
extend_field_values对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
fieldid | String | 是 | 扩展字段ID | |
field_value | String | 是 | 扩展字段值 | |
field_text | String | 否 | 扩展字段文本值 | 针对选项类型的字段 |
field_type | String | 是 | 字段类型 | 1、单行文本2、多行文本3、日期 2019-09-014、时间 10:20:305、数值6、下拉列表(选项)7、复选框(选项)8、单选框(选项) |
请求示例:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/crm/5/user/query_user_extend_field_values?userid=ebe6a8b6bcf840418b8e58d123262945
返回示例:
{
"item": {
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"extend_field_values": [
{
"field_type": "1",
"field_value": "test",
"fieldid": "df72cdd10a7b4c8da40cd2fd14fed7b6"
},
{
"field_type": "3",
"field_value": "20190807",
"fieldid": "2ac6731170c14feeb77f61ff0b84f399"
}
],
"userid": "ebe6a8b6bcf840418b8e58d123262945"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.11、查询客户固定字段信息
接口说明:
查询客户固定字段配置信息
备注:
1、此处查询为客户固定字段配置信息,例如,VIP级别。
请求方式:
GET
请求地址:
/api/crm/5/user/query_user_fixed_extend_fields
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
无 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
item | Object | 是 | 返回数据 |
item对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
companyid | String | 是 | 公司ID | |
operate_type | String | 是 | 自定义字段类型 | 客户自定义字段 |
extend_fields | List | 否 | 扩展字段列表 |
extend_fields对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
companyid | String | 是 | 公司ID | |
field_name | String | 是 | 字段名称 | |
field_status | String | 否 | 字段状态 | 0无效(删除)1有效 |
field_type | String | 是 | 字段类型 | 1、单行文本 input 2、多行文本 textarea 3、日期YYYY-MM-DD 4、时间hh:mm 5、数值 6、下拉列表(选项) 7、复选框(选项) 8、单选框(选项) 9、级联字段 |
field_variable | String | 是 | 字段变量名 | |
fieldid | String | 是 | 字段ID | |
fill_flag | String | 是 | 是否必填 | 0否1是 |
open_flag | String | 是 | 开启开关 | 0关闭1 开启 |
operate_type | String | 是 | 自定义字段类型 | 3、客户自定义字段 11、客户固定字段 |
sort_no | String | 是 | 排序标识 | |
remark | String | 是 | 字段描述 | |
field_data_info_list | List | 是 | 选项数据列表 | 字段解释见下表 |
field_data_info_list字段:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
data_name | String | 是 | 选项名称 | |
data_value | String | 是 | 选项值 | |
dataid | String | 是 | 选项id |
请求示例:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/crm/5/user/query_user_fixed_extend_fields
返回示例:
{
"item": {
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"extend_fields": [
{
"companyid": "6573198191ad4b17a0173c9bb1b012fe",
"field_data_info_list": [
{
"data_name": "VIP1",
"data_value": "a87394d63a16488fbbe0b58479586404",
"dataid": "fd8a11a04366448cb62cc13df5fb956b"
}
],
"field_name": "VIP等级",
"field_status": "1",
"field_type": "6",
"field_variable": "vipLevel",
"fieldid": "05bcdc56e68149d1841962caf593d077",
"fill_flag": "0",
"open_flag": "1",
"operate_type": "11",
"remark": "可对VIP级别设置1-20个级别,用于客户分类管理。",
"sort_no": "2"
}
],
"operate_type": "11"
},
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.12、查询客户中心企业列表
接口说明:
查询客户中心的企业列表
请求方式:
GET
请求地址:
/api/crm/5/user/query_enterprises
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
page_no | Integer | 是 | 起始页码 | 1 |
page_size | Integer | 是 | 每页条数 | 默认每页15条 |
返回参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
items | List | 否 | 对象列表 | |
page_count | Integer | 是 | 共几页 | |
page_no | Integer | 是 | 起始页 | |
page_size | Integer | 是 | 每页条数 | |
total_count | Integer | 是 | 数据条数 |
items对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
companyid | String | 是 | 公司ID | |
enterpriseid | String | 是 | 企业ID | |
enterprise_name | String | 是 | 企业名称 | |
create_datetime | String | 是 | 创建时间 | 2018-07-10 00:00:00 |
请求示例:
curl -H 'token:4ac37cb2e9c740dba4b75a34d5358802' https://www.sobot.com/api/crm/5/user/query_enterprises?start_datetime=2018-01-22 00:00:00&end_datetime=2019-05-25 23:59:59&page_no=1&page_size=10
返回示例:
{
"items": [
{
"companyid": "626632d761be4da2a33c7f26f6e50b41",
"create_datetime": "2019-10-08 16:37:50",
"enterprise_name": "智齿科技",
"enterpriseid": "67bf196859424a1dbebaf0e76c994636"
}
],
"page_count": 1,
"page_no": 1,
"page_size": 15,
"ret_code": "000000",
"ret_msg": "操作成功",
"total_count": 3
}
# 2.13、客户批量上传接口
接口说明:
客户批量上传接口,一次最多50条。 创建客户信息,如果根据手机号、邮箱查询到客户已存在则直接返回,否则新建。
备注:如果企业设置了客户自定义字段,那么在创建客户信息时可以选择查询相对应的自定义字段配置信息进行扩展信息的添加。
请求方式:
POST
请求地址:
/api/crm/5/user/save_user_batch
请求参数:
请求参数为list集合
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
user_nick | String | 是 | 客户昵称 | |
user_name | String | 否 | 客户名称 | |
user_tels | String | 否 | 手机号码 | 如多号码请采用英文逗号","隔开 |
user_emails | String | 否 | 邮箱 | 如多邮箱请采用英文逗号","隔开 |
user_level | String | 否 | 客户等级 | 0普通,1VIP |
vip_level | String | 否 | VIP级别 | 选项客户自定义,参照接口3.1 |
user_status | String | 否 | 客户状态 | 0 普通,1 永久拉黑,默认0 |
enterprise_name | String | 否 | 企业名称 | 企业名称请填写全称,非简称 |
partnerid | String | 否 | 对接ID | |
extend_field_params | List | 否 | 扩展字段信息 | |
remark | String | 否 | 备注 |
extend_field_params对象:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
fieldid | String | 是 | 扩展字段ID | |
field_value | String | 是 | 扩展字段值 |
返回参数
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 | |
userid | String | 是 | 客户ID | |
user_nick | String | 是 | 客户昵称 | |
companyid | String | 是 | 公司ID | |
result_flag | String | 是 | 导入是否成功标识 | SUCCESS、FAIL |
error_info | String | 否 | 导入失败信息 |
请求示例
curl https://www.sobot.com/api/crm/5/user/save_user_batch -X POST -H 'content-type: application/json' -H 'token: 4ac37cb2e9c740dba4b75a34d5358802' \
-d ' [
{
"user_nick": "客户09104",
"user_emails": "test09104@163.com",
"extend_field_params":[{
"fieldid":"df72cdd10a7b4c8da40cd2fd14fed7b6",
"field_value":"文本框值value4"
}]
},
{
"user_nick": "客户09105",
"user_emails": "test09105@163.com",
"extend_field_params":[{
"fieldid":"df72cdd10a7b4c8da40cd2fd14fed7b6",
"field_value":"文本框值value4"
}]
}
] '
返回示例
//全部导入成功:
{
"items": [
{
"companyid": "7cbccb7cbc9646f7a98cdd8df7ffa645",
"result_flag": "SUCCESS",
"user_nick": "客户09104",
"userid": "8c773d37e3504be5bc80d4038c7c7c98"
},
{
"companyid": "7cbccb7cbc9646f7a98cdd8df7ffa645",
"result_flag": "SUCCESS",
"user_nick": "客户09105",
"userid": "fdf9b27a7d784c459bc50d37e90bc869"
}
],
"ret_code": "000000",
"ret_msg": "操作成功"
}
//部分导入成功:
{
"items": [
{
"companyid": "7cbccb7cbc9646f7a98cdd8df7ffa645",
"result_flag": "SUCCESS",
"user_nick": "客户09104",
"userid": "8c773d37e3504be5bc80d4038c7c7c98"
},
{
"companyid": "7cbccb7cbc9646f7a98cdd8df7ffa645",
"error_info": "用户昵称,不允许为空!",
"result_flag": "FAIL"
}
],
"ret_code": "000000",
"ret_msg": "操作成功"
}
# 2.14、 修改企业信息
接口说明:
根据企业ID修改企业名称
请求方式:
POST
请求地址:
/api/crm/5/user/update_enterprises
请求参数:
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
enterprise_name | String | 是 | 企业名称 | |
enterpriseid | String | 是 | 企业ID |
返回参数
参数 | 类型 | 必填 | 名称 | 备注 |
---|---|---|---|---|
ret_code | String | 是 | 返回编码 | |
ret_msg | String | 是 | 返回信息 |
请求示例
curl https://www.sobot.com/api/crm/5/user/update_enterprises -X POST -H 'content-type: application/json' -H 'token: 6389d0377be24419afd11d14197122b3' \
-d ' [
{
"enterprise_id": "54dbaced4f9d49bdbdcd55cd5bb2b981",
"enterprise_name": "test02"
}
] '
返回示例
{
"ret_code": "000000",
"ret_msg": "修改成功"
}
# 3、状态编码
# 3.1、操作成功
业务操作成功。
状态编码 | 状态说明 |
---|---|
000000 | 操作成功(除此编码以外的编码为错误编码) |
# 3.2、系统异常
系统服务异常。
错误编码 | 错误说明 |
---|---|
900001 | token为空 |
900002 | token已失效,请重新获取 |
900003 | signature错误 |
900004 | 没有找到公司的api配置信息 |
999999 | 系统未知异常 |
# 3.3、业务异常
业务异常。
错误编码 | 错误说明 |
---|---|
500001 | 客户昵称,不允许为空 |
500002 | VIP级别,传值超过默认设定值 |
500003 | VIP级别,企业未维护该字段 |
500004 | 此客户信息不存在 |
500005 | 客户信息已存在,不可重复创建 |
500006 | 客户邮箱格式不对 |
500007 | 客户ID不允许为空 |
500008 | 客户标签状态未开启 |
500009 | 客户标签,传值超过默认设定值 |
500010 | 客户标签,企业未维护该字段 |
500012 | 超出传参条数限制 |