kintone API

變更流程管理的設置

變更應用程式的流程管理設置。

目錄

HTTP 方法PUT
URLhttps://sample.cybozu.com/k/v1/preview/app/status.json
URL(訪客空間)https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/preview/app/status.json
認證 密碼驗證 , API令牌認證 , 會話認證 , OAuth認證
Content-Typeapplication/json

請求參數

參數名稱 類型 必須 說明
app 數值或字串 必須 應用ID
enable 布爾值或字串 可省略 是否啟用流程管理
  • true:啟用流程管理
  • false:禁用流程管理
states 物件 可省略 更新狀態
新增或更新狀態時,請將現有狀態指定為 states
如果未指定,則刪除狀態。
states.狀態名 物件 可省略 設置各狀態
  • 新增狀態時:
    狀態名里指定要添加的狀態名稱。
  • 變更狀態時:
    狀態名中指定變更前的狀態名稱。
  • 刪除狀態時:
    不指定要刪除的狀態名稱屬性。
您無法新增第一個狀態。
如果要變更第一個狀態的狀態,請變更現有前導狀態的狀態名稱。
states.狀態名.name 字串 條件必填項 狀態名稱
最多指定 64 個字元。
如果要添加新狀態,則為必需,請指定狀態名 與 相同的值。
states.狀態名.index 數值或字串 條件必填項 狀態順序
指定一個介於 0 之間的數位。按值升序排序。
如果狀態名指定,則為必填項。
states.狀態名.assignee 物件 可省略 狀態的執行者
states.狀態名.assignee.type 字串 條件必填項 狀態的執行者規範格式
  • ONE:從以下使用者中選擇執行者
  • ALL:以下所有使用者
  • ANY:以下使用者中其中1人
如果assignee指定,則為必填項。
states.狀態名.assignee.entities 陣列 條件必填項 狀態執行者資訊
如果assignee指定,則為必填項。
states.狀態名.assignee.entities[].entity 物件 條件必填項 狀態的執行者用戶資訊
entities內是必需的。
states.狀態名.assignee.entities[].entity.type 字串 條件必填項 輔助角色類型狀態
  • USER:使用者
  • GROUP:群組
  • ORGANIZATION:組織
  • FIELD_ENTITY:要指定為「選擇表單中的欄位」的欄位
  • CREATOR:應用程式建立人
  • CUSTOM_FIELD:.com共通管理員的 自訂項目 (External link)
如果entity指定,則為必填項。
在訪客空間應用程式中,無法指定「ORGANIZATION」。
states.狀態名.assignee.entities[].entity.code 字串 條件必填項 狀態執行者代碼
這取決於entity.type值。
  • 對於「USER」:登入名稱
  • 對於「GROUP」:群組代碼
  • 對於「ORGANIZATION」:組織代碼
  • 對於「FIELD_ENTITY」:指定以下欄位的網域代碼:
    • 建立人
    • 更新人
    • 選擇使用者
    • 選擇組織
    • 選擇群組
  • CREATOR:不需要。
  • CUSTOM_FIELD:自訂項目代碼
如果在entity.type中指定了「CREATOR」以外的其他內容,則為必填項。
如果要指定訪客,請在登入名稱前加上「guest/」。
states.狀態名.assignee.entities[].includeSubs 布爾值或字串 可省略 執行者是否應包括子組織
  • true:包括
  • false:不包括
如果省略,則設置「false」。
僅當在entity.type中指定了「ORGANIZATION」或在「FIELD_ENTITY」中指定了選擇組織欄位時才指定。
否則,將忽略該設置。
actions 陣列 可省略 返回動作清單
actions[].name 字串 條件必填項 動作名稱
最多指定 64 個字元。
如果actions指定,則為必填項。
actions[].from 字串 條件必填項 動作執行前的狀態
如果actions指定,則為必填項。
如果變更了狀態名稱,請指定新的狀態名稱。
actions[].to 字串 條件必填項 動作執行前的狀態
如果actions指定,則為必填項。
如果變更了狀態名稱,請指定新的狀態名稱。
actions[].filterCond 字串 可省略 執行動作的條件
以查詢格式指定。有關查詢格式的詳細資訊,請參閱以下頁面。
如何編寫查詢
不能將「狀態」欄位指定為精簡程式。
actions[].type 字串 可省略 動作類型
  • PRIMARY: 表示只有動作執行前的狀態里指定的執行者可執行的動作。如果未指定執行者,則任何可以查看記錄的人都可以執行此動作。
  • SECONDARY: 表示「執行者以外使用者可執行的動作」。actions[].executableUser里指定的使用者可執行
如果省略,則設定為PRIMARY
actions[].executableUser 物件 部分條件下必須 「執行者以外使用者可執行的動作」的可執行使用者。
actions[].typeSECONDARY時,必須。
actions[].typePRIMARY時,無視設定。
actions[].executableUser.entities 陣列 部分條件下必須 「執行者以外使用者可執行的動作」的可執行使用者的資訊
如果executableUser指定,則為必填項。如果陣列為空,則可以查看記錄的所有使用者都可執行動作。
actions[].executableUser.entities[].entity 物件 部分條件下必須 「執行者以外使用者可執行的動作」的可執行使用者的資訊
entities內是必需的。
actions[].executableUser.entities[].entity.type 字串 部分條件下必須 「執行者以外使用者可執行的動作」的可執行使用者的類型
  • USER:使用者
  • GROUP:群組
  • ORGANIZATION:組織
  • FIELD_ENTITY:要指定為「選擇表單中的欄位」的欄位

指定entity時,必須。
在訪客空間應用程式中,無法指定「ORGANIZATION」。
actions[].executableUser.entities[].entity.code 字串 部分條件下必須 「執行者以外使用者可執行的動作」的可執行使用者的代碼
這取決於entity.type值。
  • 對於「USER」:登入名稱
  • 對於「GROUP」:群組代碼
  • 對於「ORGANIZATION」:組織代碼
  • 對於「FIELD_ENTITY」:指定以下欄位的網域代碼:
    • 建立人
    • 更新人
    • 選擇使用者
    • 選擇組織
    • 選擇群組
如果entity指定,則為必填項。
如果要指定訪客,請在登入名稱前加上「guest/」。
actions[].executableUser.entities[].includeSubs 布爾值或字串 可省略 「執行者以外使用者可執行的動作」的可執行使用者中是否包含子組織
  • true:包括
  • false:不包括
如果省略,則設置「false」。
僅當在entity.type中指定了「ORGANIZATION」或在「FIELD_ENTITY」中指定了選擇組織欄位時才指定。
如果指定其他內容,則無視設定
revision 數值或字串 可省略 預期修訂號
如果與實際修訂號不匹配,則會發生錯誤,並且不會變更設置。
如果指定值「-1」或未指定值,則不會驗證修訂號。

應答屬性

屬性名稱 類型 說明
revision 字串 變更應用程式設置后的修訂號

所需存取權限

  • 應用程式管理權限

範例

1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

有關請求頭的詳細資訊,請參閱通用規格。
kintone REST API通用規格

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
{
  "app": "5",
  "enable": true,
  "states": {
    "未處理": {
      "name": "未處理",
      "index": "0",
      "assignee": {
        "type": "ONE",
        "entities": []
      }
    },
    "處理中": {
      "name": "處理中",
      "index": "1",
      "assignee": {
        "type": "ALL",
        "entities": [
          {
            "entity": {
              "type": "USER",
              "code": "user1"
            }
          },
          {
            "entity": {
              "type": "FIELD_ENTITY",
              "code": "creator"
            },
            "includeSubs": false
          },
          {
            "entity": {
              "type": "CUSTOM_FIELD",
              "code": "supervisor"
            }
          }
        ]
      }
    },
    "完成": {
      "name": "完成",
      "index": "2",
      "assignee": {
        "type": "ONE",
        "entities": []
      }
    }
  },
  "actions": [
    {
      "name": "開始處理",
      "from": "未處理",
      "to": "處理中",
      "filterCond": "記錄編號 = \“1\”“,
      "type": "PRIMARY",
      "executableUser": {
        "entities": []
      }
    },
    {
      "name": "完成",
      "from": "處理中",
      "to": "完成",
      "filterCond": "",
      "type": "PRIMARY"
    },
    {
      "name": "由執行者以外使用者完成”
      "from": "處理中",
      "to": "完成",
      "filterCond": "",
      "type": "SECONDARY",
      "executableUser": {
        "entities": [
          {
            "entity": {
              "type": "FIELD_ENTITY",
              "code": "creator"
            },
            "includeSubs": false
          }
        ]
      }
    }
  ],
  "revision": "3"
}

1
2
3
{
  "revision": "3"
}

有關kintone.api()的說明,請參閱以下頁面。
傳送kintone REST API請求

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
const body = {
  app: kintone.app.getId(),
  enable: true,
  states: {
    未處理: {
      name: '未處理',
      index: '0',
      assignee: {
        type: 'ONE',
        entities: [],
      },
    },
    處理中: {
      name: '處理中',
      index: '1',
      assignee: {
        type: 'ALL',
        entities: [
          {
            entity: {
              type: 'USER',
              code: 'user1'
            }
          },
          {
            entity: {
              type: 'FIELD_ENTITY',
              code: 'creator'
            },
            includeSubs: false
          },
          {
            entity: {
              type: 'CUSTOM_FIELD',
              code: 'supervisor'
            }
          }
        ]
      }
    },
    完成: {
      name: '完成',
      index: '2',
      assignee: {
        type: 'ONE',
        entities: []
      }
    }
  },
  actions: [
    {
      name: '開始處理',
      from: '未處理',
      to: '處理中',
      filterCond: '記錄編號 = "1"',
      type: 'PRIMARY',
      executableUser: {
        entities: [],
      },
    },
    {
      name: '完成',
      from: '處理中',
      to: '完成',
      filterCond: '',
      type: 'PRIMARY',
    },
    {
      name: '執行者以外使用者執行完成',
      from: '處理中',
      to: '完成',
      filterCond: '',
      type: 'SECONDARY',
      executableUser: {
        entities: [
          {
            entity: {
              type: 'FIELD_ENTITY',
              code: 'creator',
            },
            includeSubs: false,
          },
        ],
      },
    },
  ],
};

await kintone.api(kintone.api.url('/k/v1/preview/app/status.json', true), 'PUT', body);

根據您的環境,curl的格式可能會有所不同。
有關說明,請參閱以下頁面。
使用curl命令執行kintone REST API中的3.執行API (日語)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
curl -X PUT 'https://sample.cybozu.com/k/v1/preview/app/status.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 5,
    "enable": true,
    "states": {
      "未處理": {
        "name": "未處理",
        "index": "0",
        "assignee": {
          "type": "ONE",
          "entities": []
        }
      },
      "處理中": {
        "name": "處理中",
        "index": "1",
        "assignee": {
          "type": "ALL",
          "entities": [
            {
              "entity": {
                "type": "USER",
                "code": "user1"
              }
            },
            {
              "entity": {
                "type": "FIELD_ENTITY",
                "code": "creator"
              },
              "includeSubs": false
            },
            {
              "entity": {
                "type": "CUSTOM_FIELD",
                "code": "supervisor"
              }
            }
          ]
        }
      },
      "完成": {
        "name": "完成",
        "index": "2",
        "assignee": {
          "type": "ONE",
          "entities": []
        }
      }
    },
    "actions": [
      {
        "name": "開始處理",
        "from": "未處理",
        "to": "處理中",
        "filterCond": "記錄編號 = \“1\”“,
        "type": "PRIMARY",
        "executableUser": {
          "entities": []
        }
      },
      {
        "name": "完成",
        "from": "處理中",
        "to": "完成",
        "filterCond": "",
        "type": "PRIMARY"
      },
      {
        "name": "由執行者以外使用者完成”
        "from": "處理中",
        "to": "完成",
        "filterCond": "",
        "type": "SECONDARY",
        "executableUser": {
          "entities": [
            {
              "entity": {
                "type": "FIELD_ENTITY",
                "code": "creator"
              },
              "includeSubs": false
            }
          ]
        }
      }
    ]
  }'

補充

限制事項

  • 即使通過「禁用新功能」禁用了「在流程管理設定中新增設定項目『執行者以外使用者可執行的動作』」,執行API返回的應答 中,也會包含該功能的資訊。
    獲取kintone REST API的Schema資訊