變更應用程式動作的設定

如果您的應用中存在同名動作,或者更新後的動作名稱與其他動作名稱重複,則在運行此 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.app 或 destApp.code 為必填項。
如果兩者都指定destApp.code,則設定值。
actions.動作名稱.destApp.code 字串 條件必填項 目標應用的應用代碼
destApp.app 或 destApp.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()"
      }
    }
  }'

補充