目录
可通过API管理客户会话关键词和关键行为,当消息命中时回调对应事件。
权限说明
应用类型 | 权限要求 |
---|---|
自建应用 | 需具备「数据与智能专区权限」 |
代开发应用 | 需具备「数据与智能专区权限」 |
第三方应用 | 需具备「数据与智能专区权限」 |
字段名 | 类型 | 是否必填 | 说明 |
---|---|---|---|
target_type | Object | 否 | 适用的对象类型 |
target_type.type_list | Integer数组 | 否 | 适用的对象类型列表,包括 1-员工 2-客户 若填写则从指定的对象类型中识别,不填则默认包含员工与客户 更新时指定空列表会清空该配置项 |
chat_type | Object | 否 | 适用的会话类型 |
chat_type.type_list | Integer数组 | 否 | 适用的会话类型列表,包括 1-单聊 2-群聊 若填写则从指定的客户会话类型中识别,不填则默认包括单聊与群聊 更新时指定空列表会清空该配置项 |
department | Object | 否 | 适用的部门 |
department.id_list | Integer数组 | 否 | 适用的部门列表,列表大小不能超过100个。 注意:如果未指定适用的对象类型(target_type),则会在指定部门列表和所有客户中生效。开发者预期仅在指定部门列表中生效的话,还需要配置适用对象类型为员工。 若同时配置了适用的员工列表,则对指定部门下的所有员工 和 适用员工列表内的员工都会生效。更新时指定空列表会清空该配置项 |
user | Object | 否 | 适用的员工 |
user.id_list | String数组 | 否 | 适用的员工open_userid列表,列表大小不能超过100个。 注意:如果未指定适用的对象类型(target_type),则会在指定员工列表和所有客户中生效。开发者预期仅在指定员工列表中生效的话,还需要配置适用对象类型为员工。 若同时配置了适用的部门列表,则对指定部门下的所有员工 和 适用员工列表内的员工都会生效。更新时指定空列表会清空该配置项 |
external_contact | Object | 否 | 适用的客户 |
external_contact.id_list | String数组 | 否 | 适用的客户external_userid列表,列表大小不能超过100个。 注意:如果未指定适用的对象类型(target_type),则会在指定客户列表和所有员工中生效。开发者预期仅在指定客户列表中生效的话,还需要配置适用对象类型为客户。 更新时指定空列表会清空该配置项 |
chat | Object | 否 | 适用的群聊 |
chat.id_list | String数组 | 否 | 适用的群聊chat_id列表,列表大小不能超过2000个。 注意:如果未指定适用的会话类型(chat_type),则会在指定群聊会话列表和所有单聊会话中生效。开发者预期仅在指定群聊会话列表中生效的话,还需要配置适用会话类型为群聊。 更新时指定空列表会清空该配置项 |
msg_scope | Integer | 否 | 适用的消息范围,1-发送的消息;2-接收的消息;3-收发的消息,若不填写则默认检查「1-发送的消息」 |
exclude_mobile | Object | 否 | 手机号白名单 |
exclude_mobile.mobile_list | String数组 | 否 | 手机号白名单列表,列表大小不能超过100个。会话消息中若命中白名单中手机号不产生回调更新时指定空列表会清空该配置项 |
exclude_bank_card | Object | 否 | 银行卡号白名单 |
exclude_bank_card.bank_card_list | String数组 | 否 | 银行卡号白名单列表,列表大小不能超过100个。会话消息中若命中白名单中银行卡号不产生回调更新时指定空列表会清空该配置项 |
exclude_email | Object | 否 | 邮箱地址白名单 |
exclude_email.email_list | String数组 | 否 | 邮箱地址白名单列表,列表大小不能超过100个。会话消息若命中白名单中的邮箱地址不产生回调更新时指定空列表会清空该配置项 |
session_type | Object | 否 | 适用的会话范围 |
session_type.session_type_list | Integer数组 | 否 | 适用的会话范围列表。 1-内部会话 2-外部会话 更新时指定空列表会清空该配置项 |
exclude_keyword | Object | 否 | 关键词黑名单 |
exclude_keyword.word_list | Integer数组 | 否 | 关键词黑名单列表,长度1~32个字符,若命中了关键词/关键行为,且同时命中了关键词黑名单中的词,当做未命中处理。一个关键词规则支持设置最多 20 个关键词黑名单 |
通过此接口新建关键词规则,最多可创建200条规则。
请求方法
通过SDK调用,具体方式参考专区程序使用指引。
请求接口名:
create_rule
请求包体:
{
"name": "已回复",
"keyword": {
"word_list": ["收到", "好的"],
"is_case_sensitive":1,
"match_rule":1,
"is_trim_msg":1
},
"semantics": {
"semantics_list": [1, 2]
},
"applicable_range": {
"target_type":{
"type_list":[1,2]
},
"department": {
"id_list": [1, 2, 4]
},
"user": {
"id_list": ["woaaaaaaaaa", "wobbbbbbbb"]
},
"external_contact": {
"id_list": ["wossssssssss", "woxxxxxxxxxxx"]
},
"chat_type": {
"type_list":[1,2]
},
"chat": {
"id_list":["wrAAAAA","wrBBBBB"]
},
"msg_scope":3,
"exclude_mobile": {
"mobile_list": ["+8612345679876"]
},
"exclude_email": {
"email_list": ["zhangsan@qq.com"]
},
"exclude_bank_card":{
"bank_card_list": ["6234567891222"]
},
"exclude_keyword":{
"word_list":["没收到", "不好的"]
},
"session_type":{
"session_type_list":[1,2]
}
}
}
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
name | 是 | 关键词规则名称,长度限制1~20个字符 |
keyword.word_list | 否 | 关键词列表,长度1~32个字符,列表大小不超过20个。关键词列表与关键行为列表必须选填一项 |
keyword.is_case_sensitive | 否 | 匹配关键词时是否区分大小写,0-不区分;1-区分,默认为区分。如果传了该字段,word_list不能为空 |
keyword.match_rule | 否 | 关键词匹配方式,0-包含;1-完全匹配,默认为包含。如果传了该字段,word_list不能为空 |
keyword.is_trim_msg | 否 | 是否将消息前后的空格、制表符和换行符去掉后进行匹配,0-否;1-是,默认为否仅match_rule=1时生效 |
semantics.semantics_list | 否 | 关键行为列表 1-红包 2-手机号码 3-邮箱地址 4-微信名片 5-带二维码图片 6-撤回消息 7-银行卡号 8-身份证号 9-发送文件(不包括微盘文件) 10-发送链接(发送链接消息或者发送的文本消息中包含链接) 11-发送小程序 12-发送客户欢迎语 关键行为列表与关键词列表必须选填一项 |
applicable_range | 否 | 规则适用说明,详细说明参考规则适用范围结构体说明 |
关键词列表和关键行为列表均为或
的逻辑,假如一条消息命中了关键词列表中的某一个关键词,或是命中了关键行为列表中的某一个关键行为,都会视为命中此条规则
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"rule_id":"vvvvvvvvvvvvvvvvvxxxx"
}
参数说明:
参数 | 说明 |
---|---|
errcode | 错误码 |
errmsg | 错误码说明 |
rule_id | 关键词规则id |
通过此接口获取客户企业下的关键词规则列表
请求方法
通过SDK调用,具体方式参考专区程序使用指引。
请求接口名:
get_rule_list
请求包体:
{
"cursor":"XMGIENJGJ",
"limit":100
}
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
cursor | 否 | 由企业微信后台返回,第一次调用可不填 |
limit | 否 | 指定获取的数量上限,不填默认100 |
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"rule_list": [{
"rule_id": "xxxxxxxxx",
"name": "已回复",
"create_time": 16666666666
}],
"has_more":false,
"next_cursor":"JIUENGMG"
}
参数说明:
参数 | 说明 |
---|---|
errcode | 错误码 |
errmsg | 错误码说明 |
has_more | 是否还有更多数据 |
next_cursor | 下次调用时将该字段填入cursor中 |
rule_list | 规则列表 |
rule_id | 规则id |
name | 规则名字 |
create_time | 规则创建时间对应的unix时间戳 |
通过此接口获取企业下的关键词规则详情
请求方法
通过SDK调用,具体方式参考专区程序使用指引。
请求接口名:
get_rule_detail
请求包体:
{
"rule_id":"aaaaaaaaaaaaaaaa"
}
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
rule_id | 是 | 规则id |
返回结果:
{
"errcode": 0,
"errmsg": "ok",
"name": "已回复",
"keyword": {
"word_list": ["收到", "好的"],
"is_case_sensitive":1,
"match_rule":1,
"is_trim_msg":1
},
"semantics": {
"semantics_list": [1, 2]
},
"applicable_range": {
"target_type":{
"type_list":[1,2]
},
"department": {
"id_list": [1, 2, 4]
},
"user": {
"id_list": ["woAAAAAAAAAAA", "woBBBBBBBB"]
},
"external_contact": {
"id_list": ["wossssssssss", "woxxxxxxxxxxx"]
},
"chat_type": {
"type_list":[1,2]
},
"chat": {
"id_list":["wrAAAAAAAAA","wrBBBBBBBBB"]
},
"msg_scope":3,
"exclude_mobile": {
"mobile_list": ["+8612345679876"]
},
"exclude_email": {
"email_list": ["zhangsan@qq.com"]
},
"exclude_bank_card":{
"bank_card_list": ["6234567891222"]
},
"exclude_keyword":{
"word_list":["没收到", "不好的"]
},
"session_type":{
"session_type_list":[1,2]
}
}
}
参数说明:
参数 | 说明 | |
---|---|---|
name | 关键词规则名称 | |
keyword.word_list | 关键词列表 | |
keyword.is_case_sensitive | 否 | 匹配关键词时是否区分大小写,0-不区分;1-区分。如果更新该字段,word_list不能为空 |
keyword.match_rule | 否 | 关键词匹配方式,0-包含;1-完全匹配。如果更新该字段,word_list不能为空 |
keyword.is_trim_msg | 否 | 是否将消息前后的空格、制表符和换行符去掉后进行匹配,0-否;1-是。仅match_rule=1时生效 |
semantics.semantics_list | 关键行为列表 | |
applicable_range | 否 | 规则适用说明,详细说明参考规则适用范围结构体说明 |
通过此接口修改关键词规则
请求方法
通过SDK调用,具体方式参考专区程序使用指引。
请求接口名:
update_rule
请求包体:
{
"rule_id": "wwwwwwwwwwwwwwwwwww",
"name": "已回复",
"keyword": {
"word_list": ["收到", "好的"],
"is_case_sensitive":1,
"match_rule":1,
"is_trim_msg":1
},
"semantics": {
"semantics_list": [1, 2]
},
"applicable_range": {
"target_type":{
"type_list":[1,2]
},
"department": {
"id_list": [1, 2, 4]
},
"user": {
"id_list": ["woAAAAAAAAAA", "woBBBBBBBBBBBB"]
},
"external_contact": {
"id_list": ["wossssssssss", "woxxxxxxxxxxx"]
},
"chat_type": {
"type_list":[1,2]
},
"chat": {
"id_list":["wrAAAAAAAAAAAA","wrBBBBBBBBBBB"]
},
"exclude_mobile": {
"mobile_list": ["+8612345679876"]
},
"exclude_email": {
"email_list": ["zhangsan@qq.com"]
},
"exclude_keyword":{
"word_list":["没收到", "不好的"]
}
}
}
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
rule_id | 是 | 规则id |
name | 否 | 关键词规则名称,长度限制在1~20个字符 |
keyword.word_list | 否 | 关键词列表,长度1~32个字符,列表大小不超过20个。 |
keyword.is_case_sensitive | 否 | 匹配关键词时是否区分大小写,0-不区分;1-区分 |
keyword.match_rule | 否 | 关键词匹配方式,0-包含;1-完全匹配 |
keyword.is_trim_msg | 否 | 是否将消息前后的空格、制表符和换行符去掉后进行匹配,0-否;1-是,默认为否仅match_rule=1时生效 |
semantics.semantics_list | 否 | 关键行为列表 1-红包 2-手机号码 3-邮箱地址 4-微信名片 5-带二维码图片 6-撤回消息 7-银行卡号 8-身份证号 9-发送文件(不包括微盘文件) 10-发送链接(发送链接消息或者发送的文本消息中包含链接) 11-发送小程序 12-发送客户欢迎语 |
applicable_range | 否 | 规则适用说明,详细说明参考规则适用范围结构体说明 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 说明 |
---|---|
errcode | 错误码 |
errmsg | 错误码说明 |
可通过此接口删除关键词规则
请求接口名:
delete_rule
请求包体:
{
"rule_id":"lllllllllllllllll"
}
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
rule_id | 是 | 规则id |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 说明 |
---|---|
errcode | 错误码 |
errmsg | 错误码说明 |