获取应用的流程管理的设置。
URI
获取正式环境的设置时和获取测试环境的设置时所使用的URI不一样。
获取正式环境的设置时
https://(子域名).cybozu.cn/k/v1/app/status.json
来宾空间的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/app/status.json
获取测试环境的设置时
https://(子域名).cybozu.cn/k/v1/preview/app/status.json
来宾空间的应用:https://(子域名).cybozu.cn/k/guest/(空间的ID)/v1/preview/app/status.json
HTTP方法
GET
必要的访问权限
获取正式环境的设置时,需要以下至少其中一个访问权限。
应用的记录查看权限
应用的记录添加权限
获取测试环境的设置时
应用的管理权限
※从2020年4月版起可使用API令牌来执行该API。
请求参数
参数名称 | 要指定的值 | 必须 | 说明 |
---|---|---|---|
app | 数值或字符串 | 必须 | 应用的ID。 |
lang | 字符串 | 应用名称或应用的说明如果设置了多语言,要指定要获取的名称的语言。
|
请求范例
要发送的请求因参数的发送方式不同而异。指定参数“app”和“lang”时的范例如下
URL中包含参数时
GET /k/v1/app/status.json?app=1&lang=zh HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU=
请求正文中包含参数时
头部
GET /k/v1/app/status.json HTTP/1.1 Host: example.cybozu.cn:443 X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
正文
{ "app": 1, "lang": "zh" }
应答参数
参数名称 | 值的类型 | 说明 |
---|---|---|
enable | 布尔值 | 指定流程管理是否启用。
|
states | 对象 | 状态信息的对象。从未设置过流程管理的应用返回null。 |
states.(状态名称).name | 字符串 | 状态的名称。 |
states.(状态名称).index | 字符串 | 状态的顺序(从0开始按升序方式)。 |
states.(状态名称).assignee | 对象 | 相应状态下的执行者的对象。 |
states.(状态名称).assignee.type | 字符串 | 相应状态下的执行者的类型。
最初状态(index最小的状态)时总是返回ONE。 |
states.(状态名称).assignee.entities | 数组 | 相应状态下的执行者信息的数组。顺序与页面上的一样。 |
states.(状态名称).assignee.entities[].entity | 对象 | 相应状态下的执行者的用户信息的对象。指定了已被删除或无效的用户、组织、组时,以及指定了已被删除的自定义项目时,不会被包含在应答里。 |
states.(状态名称).assignee.entities[].entity.type | 字符串 | 相应状态下的执行者的类型。
|
states.(状态名称).assignee.entities[].entity.code | 字符串 | 相应状态下的执行者的代码。“entity.type”为以下项目时,分别返回所对应的值。
|
states.(状态名称).assignee.entities[].includeSubs | 布尔值 | 指定设置是否继承给下级组织。
只有当“entity.type”为“ORGANIZATION”或“FIELD_ENTITY”且指定了“选择组织字段”时为true。 |
actions | 数组 | 动作信息的数组。顺序与页面上的一样。从未设置过流程管理的应用返回null。 |
actions[].name | 字符串 | 动作的名称。 |
actions[].from | 字符串 | 动作执行前的状态名称。 |
actions[].to | 字符串 | 指定动作执行后的状态名称。 |
actions[].filterCond | 字符串 | 动作的执行条件。 |
revision | 字符串 | 应用设置的版本号。 |
应答的范例
{ "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" }
JavaScript范例
使用API请求发送 kintone REST API 请求
var body = { 'app': kintone.app.getId() }; kintone.api(kintone.api.url('/k/v1/app/status.json', true), 'GET', body, function(resp) { // success console.log(resp); }, function(error) { // error console.log(error); });
使用 XMLHttpRequest 请求
var appId = kintone.app.getId(); var url = 'https://{subdomain}.cybozu.cn/k/v1/app/status.json?app=' + appId; var xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.onload = function() { if (xhr.status === 200) { // success console.log(JSON.parse(xhr.responseText)); } else { // error console.log(JSON.parse(xhr.responseText)); } }; xhr.send();