更改应用的流程管理的设置。
此API仅将应用的设置反映到测试环境中,如需反映到正式环境,需要执行将应用的设置反映到正式环境中API。
URI
https://(子域名).cybozu.cn/k/v1/preview/app/status.json
来宾空间的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/app/status.json
HTTP方法
PUT
必要的访问权限
应用的管理权限。
※从2020年4月版起可使用API令牌来执行此API。
请求参数
以下是请求参数列表。省略的参数其设置不会被更新。
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 应用ID。 |
enable | 布尔值或字符串 | 指定流程管理是否启用。
| |
states | 对象 | 状态信息的对象。 | |
states.(状态名称) | 对象 | 各状态的设置信息的对象。“(状态名称)”中指定更新前的状态名称。
| |
states.(状态名称).name | 字符串 | 条件必须 | 状态名称不得超过64个字符。 新增的状态此项必须指定,且要指定和“states.(状态名称)”的key名称一样的值。 |
states.(状态名称).index | 数值或字符串 | 条件必须 | 指定状态的顺序(从0开始按升序方式)。 |
states.(状态名称).assignee | 对象 | 相应状态下的执行者的对象。 | |
states.(状态名称).assignee.type | 字符串 | 条件必须 | 相应状态下的执行者的指定方法。
|
states.(状态名称).assignee.entities | 数组 | 条件必须 | 相应状态下的执行者的信息在各entity中指定。 |
states.(状态名称).assignee.entities[].entity | 对象 | 条件必须 | 相应状态下的执行者的用户信息的对象。 必须在“entities”里指定。 |
states.(状态名称).assignee.entities[].entity.type | 字符串 | 条件必须 | 相应状态下的执行者的类型。
各“entity”必须指定。在来宾空间的应用里,不可以指定组织。 |
states.(状态名称).assignee.entities[].entity.code | 字符串 | 条件必须 | 相应状态下的执行者的代码。 在“entity.type”中指定“FIELD_ENTITY”时,可指定以下字段的字段代码。
在“entity.type”中指定了“CUSTOM_FIELD”时,要指定自定义项目的代码。 只有当“entity.type”为“CREATOR”时不需要指定,其他情况都必须指定。指定来宾用户时,在登录名前加上“guest/”。 |
states.(状态名称).assignee.entities[].includeSubs | 布尔值或字符串 | 指定执行者中是否包含下级组织。
只有当“entity.type”中指定了“ORGANIZATION”或“FIELD_ENTITY”且指定了“选择组织字段”时有效。其他情况一律忽视设置。 | |
actions | 数组 | 动作信息的数组。 | |
actions[].name | 字符串 | 条件必须 | 动作名称不得超过64各字符。 |
actions[].from | 字符串 | 条件必须 | 动作执行前的状态名称。 |
actions[].to | 字符串 | 条件必须 | 指定动作执行后的状态名称。 指定了“actions”参数时,此参数必须指定。 更改了状态名称时,指定更改后的名称。 |
actions[].filterCond | 字符串 | 用查询方式指定动作的执行条件。关于查询方式,请参考以下链接。
| |
revision | 数值或字符串 | 指定应用的设置更改之前的版本号。如果指定的版本号不是最新的,请求将报错。省略时或指定了“-1”时,不会检查版本号。 |
请求的范例
头部
PUT /k/v1/preview/app/status.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
正文
{ "app": "5", "enable": true, "states": { "未处理": { "name": "未处理", "index": "0", "assignee": { "type": "ONE", "entities": [ ] } }, "处理中": { "name": "处理中", "index": "1", "assignee": { "type": "ALL", "entities": [ { "entity": { "type": "USER", "code": "user1" }, "includeSubs": false }, { "entity": { "type": "FIELD_ENTITY", "code": "creator" }, "includeSubs": false }, { "entity": { "type": "CUSTOM_FIELD", "code": "上司" }, "includeSubs": false } ] } }, "完成": { "name": "完成", "index": "2", "assignee": { "type": "ONE", "entities": [ ] } } }, "actions": [ { "name": "开始处理", "from": "未处理", "to": "处理中", "filterCond": "记录编号 = \"1\"" }, { "name": "改为完成", "from": "处理中", "to": "完成", "filterCond": "" } ], "revision": "3" }
应答
参数
参数名称 | 值的类型 | 说明 |
---|---|---|
revision | 字符串 | 应用的设置更改之后的版本号。 |
应答范例
{ "revision": "3" }
JavaScript范例
使用API请求发送 kintone REST API 请求
var body = { "app": "5", "enable": true, "states": { "未处理": { "name": "未处理", "index": "0", "assignee": { "type": "ONE", "entities": [ ] } }, "处理中": { "name": "处理中", "index": "1", "assignee": { "type": "ALL", "entities": [ { "entity": { "type": "USER", "code": "user1" }, "includeSubs": false }, { "entity": { "type": "FIELD_ENTITY", "code": "creator" }, "includeSubs": false }, { "entity": { "type": "CUSTOM_FIELD", "code": "上司" }, "includeSubs": false } ] } }, "完成": { "name": "完成", "index": "2", "assignee": { "type": "ONE", "entities": [ ] } } }, "actions": [ { "name": "开始处理", "from": "未处理", "to": "处理中", "filterCond": "记录编号 = \"1\"" }, { "name": "改为完成", "from": "处理中", "to": "完成", "filterCond": "" } ] }; kintone.api(kintone.api.url('/k/v1/preview/app/status', true), 'PUT', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 请求
var body = { "app": "5", "enable": true, "states": { "未处理": { "name": "未处理", "index": "0", "assignee": { "type": "ONE", "entities": [ ] } }, "处理中": { "name": "处理中", "index": "1", "assignee": { "type": "ALL", "entities": [ { "entity": { "type": "USER", "code": "user1" }, "includeSubs": false }, { "entity": { "type": "FIELD_ENTITY", "code": "creator" }, "includeSubs": false }, { "entity": { "type": "CUSTOM_FIELD", "code": "上司" }, "includeSubs": false } ] } }, "完成": { "name": "完成", "index": "2", "assignee": { "type": "ONE", "entities": [ ] } } }, "actions": [ { "name": "开始处理", "from": "未处理", "to": "处理中", "filterCond": "记录编号 = \"1\"" }, { "name": "改为完成", "from": "处理中", "to": "完成", "filterCond": "" } ], // CSRF TOKEN: 从kintone上执行API(POST, PUT, DELETE)时必须设置 "__REQUEST_TOKEN__": kintone.getRequestToken() }; var url = 'https://{subdomain}.cybozu.cn/k/v1/preview/app/status.json'; var xhr = new XMLHttpRequest(); xhr.open('PUT', url); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.onload = function() { if (xhr.status === 200) { // success console.log(JSON.parse(xhr.responseText)); } else { // error console.log(JSON.parse(xhr.responseText)); } }; xhr.send(JSON.stringify(body));