Automations 自动化任务接口

JSON格式

NameTypeComment
idinteger创建自动化任务时系统自动分配
urlstring此自动化任务的url地址
titlestring自动化任务的标题
statusbool该自动化任务是否被启用,"true"or"false"
conditionsCondition自动化任务被触发的条件
actionsAction自动化任务触发后,执行的动作
created_atdate自动化任务创建时间

JSON示例

{
    "automations": {
            "id": 985,
            "url": "https://{subdomain}.kf5.com/apiv2/automations/987.json",
            "title": "提醒工单发起人已收到工单",
            "status": true,
            "sort": 2,
            "created": "2016-05-11 14:02:39",
            "conditions":  { ... },
            "actions":  { ... }
    }
}

条件格式


{
       "conditions": {
	 "all": [
		{"source": "status","operator": "changed_to","value": "3"},
		{"source": "group_id","operator": "is_not","value": "219"},
	],
	 "any": [
		{"source": "priority","operator": "less_than","value": "0"}
	]
  }
}

条件最外层包裹的all 与 any,表示条件包含的两种逻辑,当满足符合设置的条件时,自动化任务开始生效。

NameTypeComment
allarrayAND逻辑,其中所包含的条件,必须全部满足
anyarrayOR逻辑,其中所包含的条件,必须满足任一或多个

每一个条件内部都包含以下属性

NameTypeComment
sourcestring条件来源,例如"工单状态""工单发起人"等
operatorstring操作符,例如"小于""改变为"等
valuestring所设定的值,例如"受理中""已关闭"等

所有条件列表

下列表格列出了所有条件的描述和对应的操作符以及各自的设定值。

SourceOperatorValue

status(工单:状态)

is(是)

is_not(不是)

less_than(小于)

greater_than(大于)

changed(已改变)

changed_to(改变为...)

changed_from(从...改变)

not_changed(未改变)

not_changed_to(未改变为...)

not_changed_from(不是从...改变)

0(尚未受理)

1(受理中)

2(等待回复)

3(已解决)

4(已关闭)

type_id(工单:类型)

is(是)

is_not(不是)

changed(已改变)

changed_to(改变为...)

changed_from(从...改变)

not_changed(未改变)

not_changed_to(未改变为...)

not_changed_from(不是从...改变)

(空)(-)

0(问题)

1(失误)

2(故障)

3(任务)

priority(工单:优先级)

is(是)

is_not(不是)

less_than(小于)

greater_than(大于)

changed(已改变)

changed_to(改变为...)

changed_from(从...改变)

not_changed(未改变)

not_changed_to(未改变为...)

not_changed_from(不是从...改变)

(空)(-)

0(低)

1(中)

2(高)

3(紧急)

group_id(工单:受理客服组)

is(是)

is_not(不是)

changed(已改变)

changed_to(改变为...)

changed_from(从...改变)

not_changed(未改变)

not_changed_to(未改变为...)

not_changed_from(不是从...改变)

(空)(-)

(current_groups)(当前客服组)

数字表示该客服组id,例如

219(电话语音客服组)

requester_id(工单:发起人)

is(是)

is_not(不是)

changed(已改变)

changed_to(改变为...)

changed_from(从...改变)

not_changed(未改变)

not_changed_to(未改变为...)

not_changed_from(不是从...改变)

(current_user)(当前用户)

数字表示该用户id,例如

1310(语音客服3)

assignee_id(工单:受理客服)

is(是)

is_not(不是)

changed(已改变)

changed_to(改变为...)

changed_from(从...改变)

not_changed(未改变)

not_changed_to(未改变为...)

not_changed_from(不是从...改变)

(空)(-)

(current_user)(当前用户)

数字表示该用户id,例如

1315(语音客服8)

source(工单:提交来源)

is(是)

is_not(不是)

web(网页表单)

tab(反馈组件留言)

chat(KCHAT交谈)

weibo(新浪微博)

api(API接口)

mobile(手机端)

email(邮件)

voicemail(语音留言Voicemail)

inbound(电话呼入)

outbound(电话呼出)

recipient(工单:收件邮箱)

is(是)

例如

support@b.kf5.co(support@b.kf5.co)

score(工单:满意度)

is(是)

is_not(不是)

less_than(小于)

greater_than(大于)

changed(已改变)

changed_to(改变为...)

changed_from(从...改变)

not_changed(未改变)

not_changed_to(未改变为...)

not_changed_from(不是从...改变)

(空)(-)

1(不满意)

2(不太满意)

3(一般)

4(满意)

5(非常满意)

tags(工单:标签)

contain_at_least_one(至少包含以下中的一个)

not_contain(不包含)

多个标签填写请用空格隔开,例如

产品A 售后

organization(发起人:公司组织)

is(是)

is_not(不是)

changed(已改变)

changed_to(改变为...)

changed_from(从...改变)

not_changed(未改变)

not_changed_to(未改变为...)

not_changed_from(不是从...改变)

(空)(-)

数字表示公司组织id,例如

159(电话组织)

{language}(发起人:语音)

is(是)

is_not(不是)

zh_cn(简体中文)

en(English)

field_数字(自定义字段标题,支持下拉字段)

is(是)

is_not(不是)

(空)(-)

自定义字段的值

created(时间:建立后的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

assigneed(时间:打开后的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

pending(时间:等待回复后的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

resolved(时间:工单已解决后的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

closed(时间:工单已关闭后的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

updated(时间:被更新后的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

requester_updated(时间:被发起人更新后的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

assignee_updated(时间:被客服更新后的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

before_due_date(时间:任务到期日期前的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

after_due_date(时间:任务到期日期后的小时数)

【“满足所有条件”中设定】

less_than(小于)

greater_than(大于)

is(是)

设定的值,例如

5

动作格式


{
	"actions": [
		{
			"source": "email_user",
			"value": "(requester)",
			"subject": "[{{account.name}}]  工单: {{ticket.title}} 已被解决",
			"body": "请点击以下链接查看该工单处理或继续回复工单:{{ticket.url}}"
		},
		{
			"source": "field_757",
			"value": "99",
			"subject": null,
			"body": null
		}
	]
}

每一个动作包含以下属性

NameTypeComment
sourcestring动作来源,例如"工单状态""工单发起人"等
valuestring所设定的值,例如"受理中""已关闭"等
subjectstring主题。当执行通知邮件时,可以填写此选项
bodystring内容。当执行通知邮件或者内部提醒时,可以填写此选项

所有动作列表

下列表格列出了所有动作的描述和对应的设定值。

ActionValue

status(工单:状态)

0(尚未受理)

1(受理中)

2(等待回复)

3(已解决)

4(已关闭)

type_id(工单:类型)

(空)(-)

0(问题)

1(失误)

2(故障)

3(任务)

priority(工单:优先级)

(空)(-)

0(低)

1(中)

2(高)

3(紧急)

group_id(工单:受理客服组)

(空)(-)

(current_groups)(当前客服组)

数字表示该客服组id,例如

219(电话语音客服组)

assignee_id(工单:受理客服)

(空)(-)

(current_user)(当前用户)

数字表示该用户id,例如

1315(语音客服8)

field_数字(自定义字段标题,支持下拉字段)

(空)(-)

自定义字段的值

tags(工单:添加工单标签)

多个标签填写请用空格隔开,例如

产品A 售后

ccs(添加工单副本)

(assignee)(工单受理客服)

数字表示该用户id,例如

1315(语音客服8)

score(工单:满意度)

(空)(-)

1(不满意)

2(不太满意)

3(一般)

4(满意)

5(非常满意)

email_user(通知:发邮件给用户)

(current_user)(当前用户)

(requester)(工单发起人)

(assignee)(工单受理客服)

数字表示该用户id,例如

1315(语音客服8)

email_group(通知:发邮件给客服组)

(assigned_group)(受理客服组)

数字表示该客服组id,例如

1315(语音客服8)

message_user(通知:发内部提醒(后台/微信助手/APP)给客服)

(assignee)(工单受理客服)

数字表示该客服id,例如

1315(语音客服8)

message_user(通知:发内部提醒(后台/微信助手/APP)给客服组)

(assigned_group)(工单受理客服组)

数字表示该客服组id,例如

135(管理客服组)

target(通知:发送消息到指定目标)

webhook的id(webhook的标题)

其中,通知动作都有body选项,在发送邮件的通知动作中,可以设置subject选项

自动化任务列表

GET /apiv2/automations.json

返回所有自动化任务,自动化任务按SORT倒序,ID正序排列

调用权限

admin

curl示例
curl https://{subdomain}.kf5.com/apiv2/automations.json \
  -v -u {email_address}:{password}
返回示例
Status: 200 OK
{
    "automations": 
        {
            "id": 985,
            "url": "https://{subdomain}.kf5.com/apiv2/automations/985.json",
            "title": "提醒工单发起人已收到工单",
            "status": true,
            "sort": 2,
            "created": "2016-05-10 14:02:39",
            "conditions":  { ... },
            "actions":  { ... }
        }
}

查看指定ID的自动化任务

GET /apiv2/automations/{id}.json
调用权限

admin

curl示例
curl https://{subdomain}.kf5.com/apiv2/automations/{id}.json \
  -v -u {email_address}:{password}
返回示例
Status: 200 OK
{
    "automations": 
        {
            "id": 1215,
            "url": "https://{subdomain}.kf5.com/apiv2/automations/1215.json",
            "title": "email: 提示工单发起人 工单有回复",
            "status": false,
            "sort": 0,
            "created": "2016-05-15 13:22:12",
            "conditions": { ... },
            "actions":  { ... }
        }
}

查看启用的自动化任务列表

GET /apiv2/automations/active.json
调用权限

admin

curl示例
curl https://{subdomain}.kf5.com/apiv2/automations/active.json \
  -v -u {email_address}:{password}
返回示例
Status: 200 OK
{
    "automations": 
        {
            "id": 985,
            "url": "https://{subdomain}.kf5.com/apiv2/automations/985.json",
            "title": "提醒工单发起人已收到工单",
            "status": true,
            "sort": 2,
            "created": "2016-05-10 14:02:39",
            "conditions":  { ... },
            "actions":  { ... }
        }
}