批量多應用記錄操作

information

本頁面使用機器翻譯而成。
機器翻譯免責聲明 (External link)

目錄

批處理多個應用的記錄

同時為多個應用運行多個 API。

URL

常規應用程式
https://sample.cybozu.com/k/v1/bulkRequest.json
訪客空間的應用程式
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/bulkRequest.json

您只能批處理同一訪客空間中的應用程式。
因此,您不能執行以下操作:

  • 同時更新訪客空間中的應用程式和其他訪客空間中的應用程式。
  • 同時更新訪客空間中的應用程式和空間中的應用程式。
  • 立即更新訪客空間中的應用程式和常規應用程式。

HTTP 方法

POST

所需存取權限

  • 要執行的 API 所需的訪問許可權

請求

參數
參數名稱 類型 必須 說明
requests 陣列 必須 要運行的 API 清單
您最多可以指定 20 個請求。
requests[].method 字串 必須 要執行的 API 的 HTTP 方法
requests[].api 字串 必須 要執行的 API 的 URL
requests[].payload 物件 必須 要傳遞給要執行的 API 的請求內文
示例請求
標頭
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
{
  "requests": [
    {
      "method": "POST",
      "api": "/k/v1/record.json",
      "payload": {
        "app": 1972,
        "record": {
          "單行文字方塊": {
            "value": "添加一行字串。"
          }
        }
      }
    },
    {
      "method": "PUT",
      "api": "/k/v1/record.json",
      "payload": {
        "app": 1973,
        "id": 33,
        "revision": 2,
        "record": {
          "單行文字方塊": {
            "value": "更新單行字串。 "
          }
        }
      }
    },
    {
      "method": "POST",
      "api": "/k/v1/record.json",
      "payload": {
        "app": 1974,
        "record": {
          "單行文字方塊": {
            "value": "添加一行字串。"
          }
        }
      }
    }
  ]
}

回應

屬性
屬性名稱 類型 說明
results 陣列 對每個 API 請求的回應
元素的順序與請求參數陣列 requests 的順序相同。
如果其中一個 API 中的操作失敗,則與失敗的 API 對應的元素將包含錯誤的結果。
其餘元素包含 {}(空物件)。
示例回應
當你成功時
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
{
  "results": [
    {
      "id": "39",
      "revision": "1"
    },
    {
      "revision": "3"
    },
    {
      "id": "39",
      "revision": "1"
    }
  ]
}
當它失敗時

這是範例請求中的第二個 PUT 請求,如果沒有要更新的 id,則會導致錯誤。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
{
  "results": [
    {},
    {
      "message": "指定的紀錄 (id: Notification Not Found.",
      "id": "1505999166-1940353231",
      "code": "GAIA_RE01"
    },
    {}
  ]
}

示例代碼

使用 curl 的請求
 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
curl -X POST 'https://sample.cybozu.com/k/v1/bulkRequest.json' \
  -H 'X-Cybozu-API-Token:3gdqwhk8uWTOAvKamh1jGaZGWrgIYLo5t4AXzvZy,02mfxTztsESIDudntNWhIiF092A3h63jTU0ZbVg7' \
  -H 'Content-Type: application/json' \
  -d '{
    "requests": [
      {
        "method": "POST",
        "api": "/k/v1/record.json",
        "payload": {
          "app": 1972,
          "record": {
            "單行文字方塊": {
              "value": "添加一行字串。"
            }
          }
        }
      },
      {
        "method": "PUT",
        "api": "/k/v1/record.json",
        "payload": {
          "app": 1973,
          "id": 33,
          "revision": 2,
          "record": {
            "單行文字方塊": {
              "value": "更新單行字串。"
            }
          }
        }
      },
      {
        "method": "POST",
        "api": "/k/v1/record.json",
          "payload": {
          "app": 1974,
          "record": {
            "單行文字方塊": {
              "value": "添加一行字串。"
            }
          }
        }
      }
    ]
  }'
使用 發送kintone REST API請求的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
const body = {
  requests: [
    {
      method: 'POST',
      api: '/k/v1/record.json',
      payload: {
        app: 1972,
        record: {
          單行文字方塊: {
            value: '添加一行字串。'
          }
        }
      }
    },
    {
      method: 'PUT',
      api: '/k/v1/record.json',
      payload: {
        app: 1973,
        id: 33,
        revision: 2,
        record: {
          單行文字方塊: {
            value: '更新單行字串。'
          }
        }
      }
    },
    {
      method: 'POST',
      api: '/k/v1/record.json',
      payload: {
        app: 1974,
        record: {
          單行文字方塊: {
            value: '添加一行字串。'
          }
        }
      }
    }
  ]
};

await kintone.api(kintone.api.url('/k/v1/bulkRequest.json', true), 'POST', body);