kintone API

變更應用程式動作的設定

如果您的應用中存在同名動作,或者更新后的動作名稱與其他動作名稱重複,則在運行此 API 時將收到錯誤。

目錄

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

請求參數

參數名稱 類型 必須 說明
app 數值或字串 必須 應用ID
actions 物件 必須 動作的設定
添加或更新動作配置時,請將現有動作的配置指定為actions
如果未指定,則將刪除該動作的配置。
actions.動作名稱 物件 可省略 動作的設定
  • 新增動作時:
    指定要添加的動作的名稱 動作名稱
  • 變更動作時:
    指定要更新的動作的名稱 動作名稱
  • 刪除動作時:
    不要指定要刪除的動作名稱的屬性。
actions.動作名稱.name 字串 條件必填項 動作名稱
指定 1 到 32 個字元。
如果要添加動作,請指定動作名稱與相同的值,這是必需的。
如果要變更現有動作名稱,請指定新動作名稱。
如果省略,則不會變更。
actions.動作名稱.index 數值或字串 條件必填項 按其顯示順序執行的動作
按值升序排序。
如果動作名稱指定,則為必填項。
actions.動作名稱.destApp 物件 條件必填項 目標應用程式
如果要添加動作,則為必填項。
如果省略,則不會變更。
actions.動作名稱.destApp.app 數值或字串 部分條件下必須 目標應用的應用ID
destApp.appdestApp.code 為必填項。
如果兩者都指定destApp.code,則設定值。
actions.動作名稱.destApp.code 字串 條件必填項 目標應用的應用代碼
destApp.appdestApp.code 為必填項。
如果兩者都指定destApp.code,則設定值。
如果指定了「null」或空字元,則假定它未指定。
actions.動作名稱.mappings 陣列 條件必填項 相關欄位清單
如果要添加動作或指定destApp,則為必填項。
如果省略,則不會更新。
如果指定了空陣列,則將其設置為無相關欄位。
actions.動作名稱.mappings[].srcType 字串 條件必填項 源類型
指定以下值之一:
  • FIELD:欄位
  • 記錄的連結
如果mappings指定,則為必填項。
actions.動作名稱.mappings[].srcField 字串 條件必填項 源欄位的域代碼
mappings[].srcType 如果為「FIELD」,則為必填項。
actions.動作名稱.mappings[].destField 字串 條件必填項 目標欄位的欄位代碼
如果mappings指定,則為必填項。
actions.動作名稱.entities 陣列(字串) 條件必填項 使用該動作的成員清單
如果要添加新動作,則為必填項。
如果省略,則不會更新。
如果指定了空陣列,則不會設置使用該動作的成員。
actions.動作名稱.entities[].type 字串 條件必填項 使用該動作的成員類型
指定以下值之一:
  • USER:使用者
  • GROUP:群組
  • ORGANIZATION:組織
在訪客空間應用程式中,無法指定「ORGANIZATION」。
如果entities指定,則為必填項。
actions.動作名稱.entities[].code 字串 條件必填項 使用操作的成員的代碼
這取決於entity.type值。
  • 對於「USER」:登入名稱
  • 對於「GROUP」:群組代碼
  • 對於「ORGANIZATION」:組織代碼
如果要指定訪客,請在登入名稱前加上「guest/」。
如果entities指定,則為必填項。
actions.動作名稱.filterCond 字串 可省略 應用程式動作的執行可否條件的查詢字串
如果省略,則不變更動作的執行條件。
如果在新增動作時省略,或者在新增/更新作時指定空字串,則等同於指定“所有記錄”。
有關查詢的詳細資訊,請參閱以下連結:
如何編寫查詢
revision 數值或字串 可省略 預期修訂號
如果與實際修訂號不匹配,則會發生錯誤,並且不會變更設置。
如果指定值「-1」或未指定值,則不會驗證修訂號。

應答屬性

屬性名稱 類型 說明
actions 物件 操作資訊
actions.動作名稱.id 字串 動作ID
revision 字串 更新後應用設置的修訂號

所需存取權限

  • 應用程式管理權限

範例

1
https\://sample.cybozu.com/k/v1/preview/app/actions.json
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
{
  "app": "1",
  "actions": {
    "註冊訂單管理": {
      "name": "註冊訂單管理",
      "index": "0",
      "destApp": {
        "code": "INVOICE"
      },
      "mappings": [
        {
          "srcType": "FIELD",
          "srcField": "CompanyName",
          "destField": "CompanyName"
        },
        {
          "srcType": "FIELD",
          "srcField": "DivisionName",
          "destField": "DivisionName"
        },
        {
          "srcType": "RECORD_URL",
          "destField": "URL"
        }
      ],
      "entities": [
        {
          "type": "USER",
          "code": "userA"
        }
      ],
      "filterCond": "選擇用戶欄位 in (\"user1\")"
    }
  },
  "revision": "2"
}

1
2
3
4
5
6
7
8
{
  "revision": "2",
  "actions": {
    "註冊訂單管理": {
      "id": "7319"
    }
  }
}

有關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
const body = {
  app: kintone.app.getId(),
  actions: {
    註冊訂單管理: {
      name: '註冊訂單管理',
      index: '0',
      destApp: {
        code: 'INVOICE',
      },
      mappings: [
        {
          srcType: 'FIELD',
          srcField: 'CompanyName',
          destField: 'CompanyName',
        },
        {
          srcType: 'FIELD',
          srcField: 'DivisionName',
          destField: 'DivisionName',
        },
        {
          srcType: 'RECORD_URL',
          destField: 'URL',
        },
      ],
      entities: [
        {
          type: 'USER',
          code: 'userA',
        },
      ],
      filterCond: 'OrderDate = TODAY()'
    }
  }
};

await kintone.api(kintone.api.url('/k/v1/preview/app/actions.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
curl -X PUT 'https://sample.cybozu.com/k/v1/preview/app/actions.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "actions": {
      "註冊訂單管理": {
        "name": "註冊訂單管理",
        "index": "0",
        "destApp": {
          "code": "INVOICE"
        },
        "mappings": [
          {
            "srcType": "FIELD",
            "srcField": "CompanyName",
            "destField": "CompanyName"
          },
          {
            "srcType": "FIELD",
            "srcField": "DivisionName",
            "destField": "DivisionName"
          },
          {
            "srcType": "RECORD_URL",
            "destField": "URL"
          }
        ],
        "entities": [
          {
            "type": "USER",
            "code": "userA"
          }
        ],
        "filterCond": "OrderDate = TODAY()"
      }
    }
  }'

補充