レコードの一括更新について

レコード一覧画面から、ボタンクリックで完了日のフィールドを一括更新したいと考えています。
テスト用に簡略化したコードを以下に載せますが、json2(1件更新)では上手くいくのですが、json1(一括更新)では
{“message”:“入力内容が正しくありません。”,“id”:“1505999166-1859949644”,“errors”:{“id”:{“messages”:[“必須です。”]}},“code”:“CB_VA01”}
が返って来ます。
どうか解決法をご教示いただけないでしょうか。

var json1 = {
app :17,
records : [
{
id:1,
record : {
完了日 : {
value : “2014-08-01”
}
}
},
{
id:2,
record : {
完了日 : {
value : “2014-08-01”
}
}
}
]
};

var json2 = {
app :17,
id:1,
record : {
完了日 : {
value : “2014-08-01”
}
}
};

kintone.api(‘/k/v1/record’, ‘PUT’, json1,
function(resp) {
setTimeout(‘location.reload()’,100);
},
function(resp) {
// エラーの場合はメッセージを表示する
var errmsg = ‘レコード取得時にエラーが発生しました。’;
// レスポンスにエラーメッセージが含まれる場合はメッセージを表示する
if (resp.message !== undefined){
errmsg += ‘’ + resp.message;
}
alert(errmsg);
}
);

fukushima takahiro様
cstapの落合です。

一括更新の場合、"record"ではなく"records"にレコード情報を指定します。
https://cybozudev.zendesk.com/hc/ja/articles/201941784#step2

おそらくrecordsパラメータがないため、CB_VA01が返ってきているのではないでしょうか。

以上、参考になりますでしょうか?

落合様
早速のご回答ありがとうございます。

json1オブジェクトでは、"app"パラメータの次に、"records"配列を用意し、その中に各"record"を追加しているのですが、これは誤りということでしょうか?

fukushima takahiro様
すいません。読み間違えておりました。

おっしゃる通りです。
もう一度見直すと、kintone.api(‘/k/v1/record’, ‘PUT’, json1,が間違っているのかと思います。

kintone.api(‘/k/v1/records’, ‘PUT’, json1,にして試してもらえないでしょうか?

落合様

おっしゃる通り、kintone.api(‘/k/v1/records’,にすることで解決致しました。
てっきりjson構文ミスかと思い、その点ばかりで悩んでおりました・・・。

大変助かりました。
ありがとうございます。

fukushima takahiro様

私も初め勘違いし、間違った指摘をしてしまい申し訳ありませんでした。

また何かお困りになりましたら、お気軽にご質問ください!