Bulk Request
The Bulk Request API allows multiple API requests to run on multiple kintone apps. The below API can be used with the Bulk Request API:
- Add Record
- Add Records
- Update Record
- Update Records
- Delete Records
- Update Status
- Update Statuses
- Update Assignees
Constructor
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| params | Object | (conditional) | Required for nodejsConstructor params. |
| params.connection | Connection | (conditional) | The connection module of this SDK. If initializing in browser environment on kintone, this parameter can be ommited to use session authentication. |
Sample code
Init bulk request module
Javascript
(function(kintoneJSSDK) {
'use strict';
// with connection
// Define Authentication object
var kintoneAuth = new kintoneJSSDK.Auth();
var paramsAuth = {
username: 'YOUR_USER_NAME',
password: 'YOUR_PASSWORD'
};
kintoneAuth.setPasswordAuth(paramsAuth);
var paramsConnection = {
domain: 'YOUR_DOMAIN',
auth: kintoneAuth
};
var connection = new kintoneJSSDK.Connection(paramsConnection);
// with connection
var kintoneBulkRequest = new kintoneJSSDK.BulkRequest({connection});
// without connection, module will use session authentication of kintone
var kintoneBulkRequest = new kintoneJSSDK.BulkRequest();
}(window.kintoneJSSDK));
Nodejs
const kintone = require('@kintone/kintone-js-sdk');
const kintoneAuth = new kintone.Auth();
const paramsAuth = {
username: 'YOUR_USER_NAME',
password: 'YOUR_PASSWORD'
};
kintoneAuth.setPasswordAuth(paramsAuth);
const paramsConnection = {
domain: 'YOUR_DOMAIN',
auth: kintoneAuth
};
const connection = new kintone.Connection(paramsConnection);
const kintoneBulkRequest = new kintone.BulkRequest({connection});
Methods
All below methods (excluded
execute()method) will add request to queue, you must execute theexecute()function to get result of BulkRequest.
addRecord({app, record})
Parameters
See at Record - addRecord
Return
addRecords({app, records})
Parameters
See at Record - addRecords
Return
updateRecordByID({app, id, record, revision})
Parameters
See at Record - updateRecordByID
Return
updateRecordByUpdateKey({app, updateKey, record, revision})
Parameters
See at Record - updateRecordByUpdateKey
Return
updateRecords({app, records})
Parameters
See at Record - updateRecords
Return
deleteRecords({app, ids})
Parameters
See at Record - deleteRecords
Return
deleteRecordsWithRevision({app, idsWithRevision})
Parameters
See at Record - deleteRecordsWithRevision
Return
updateRecordAssignees({app, record, assignees, revision})
Parameters
See at Record - updateRecordAssignees
Return
updateRecordStatus({app, id, action, assignee, revision})
Parameters
See at Record - updateRecordStatus
Return
updateRecordsStatus({app, records})
Parameters
See at Record - updateRecordsStatus
Return
execute()
Execute the bulk request and get data response
Parameters
(none)
Return
[Promise]
Sample code
Execute bulk request
Javascript
var responseBulkRequest = kintoneBulkRequest
.addRecord({/* [Args]*/})
.addRecords({/* [Args]*/})
.updateRecordByID({/* [Args]*/})
.updateRecordByUpdateKey({/* [Args]*/})
.updateRecords({/* [Args]*/})
.deleteRecords({/*[Args]*/})
.deleteRecordsWithRevision({/* [Args]*/})
.updateRecordAssignees({/* [Args]*/})
.updateRecordStatus({/* [Args]*/})
.updateRecordsStatus({/* [Args]*/})
.execute();
responseBulkRequest.then((resp) => {
console.log(resp);
}).catch((err) => {
// The error will be an array if there are errors occur in addRecord, addRecords, updateRecords, updateRecords,deleteRecords... function
if (Array.isArray(err)) {
for (let i = 0; i < err.length; i++) {
// Need to check the type of error because err array can have some empty object like:
// [KintoneAPIException ,{},{},{},{}]
if (err[i] instanceof kintoneJSSDK.KintoneAPIException) {
console.log(err[i]);
}
}
}
// The error will be a KintoneAPIException if setting wrong Auth, Connection ... for BulkRequest
else {
console.log(err);
}
});
Nodejs
const responseBulkRequest = kintoneBulkRequest
.addRecord({/* [Args]*/})
.addRecords({/* [Args]*/})
.updateRecordByID({/* [Args]*/})
.updateRecordByUpdateKey({/* [Args]*/})
.updateRecords({/* [Args]*/})
.deleteRecords({/*[Args]*/})
.deleteRecordsWithRevision({/* [Args]*/})
.updateRecordAssignees({/* [Args]*/})
.updateRecordStatus({/* [Args]*/})
.updateRecordsStatus({/* [Args]*/})
.execute();
responseBulkRequest.then((resp) => {
console.log(resp);
}).catch((err) => {
if (Array.isArray(err)) { // The error will be an array if there are errors occur in addRecord, addRecords, updateRecords, updateRecords,deleteRecords... function
for (let i = 0; i < err.length; i++) {
// Need to check the type of error because err array can have some empty object like:
// [KintoneAPIException ,{},{},{},{}]
if (err[i] instanceof kintone.KintoneAPIException) {
console.log(err[i]);
}
}
} else { // the error will be an element if setting wrong Auth, Connection ... for BulkRequest
console.log(err);
}
});
Reference
- Bulk Request
on developer network