同時為多個應用運行多個 API。
- 使用此 API,您可以執行以下 API:
- 您最多可以同時處理 20 個請求。
- 如果任何 API 中的操作失敗,則不會執行其他 API,並且所有操作都將回滾。
- 如果要使用 API 權杖身份驗證來操作多個應用程式,請指定每個應用程式頒發的 API 權杖。
有關如何指定多個 API 令牌的資訊,請參閱以下頁面。
API 權杖身分驗證
- 常規應用程式
- https://sample.cybozu.com/k/v1/bulkRequest.json
- 訪客空間的應用程式
- https://sample.cybozu.com/k/guest/
GUEST_SPACE_ID
/v1/bulkRequest.json
您只能批處理同一訪客空間中的應用程式。
因此,您不能執行以下操作:
- 同時更新訪客空間中的應用程式和其他訪客空間中的應用程式。
- 同時更新訪客空間中的應用程式和空間中的應用程式。
- 立即更新訪客空間中的應用程式和常規應用程式。
POST
參數
參數名稱 |
類型 |
必須 |
說明 |
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 的請求
根據您的環境,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
|
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.api()
發送請求
有關詳細的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
|
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);
|