レコード新規登録時に、同一アプリ内の他のレコードを一括更新しようとしています。
新規登録しようとしているレコードと顧客コードが一致していて「処理フラグ」(チェックボックス型)が未チェックのレコードがあればそれらを一括して「済み」のチェックを入れる処理を「第11回 kintone REST APIを利用したレコード更新(ルックアップ自動更新)」を参考にして作っているのですが、Bad request 400になります。
特にトリッキーなことはしておらずほとんどチュートリアルのお手本のままなのですがエラーとなり、consoleにPUTリクエスト内容をログ出力してリクエスト内容を見ても問題ないように思いますが、エラーの理由がまったくわかりません。
どなたかご教授いただけないでしょうか?
function createPutRecords(records) {
var appId = kintone.app.getId();
var putRecords = [];
for (var i = 0, l=records.length; i < l; i++) {
var record = records[i];
putRecords[i] = {
id: record.$id.value,
record: {
‘処理フラグ’: {
value: [‘済み’]
}
}
};
}
return putRecords;
}
kintone.events.on(‘app.record.create.submit’, function(event) {
var appId = kintone.app.getId();
var paramGet = {
‘app’: appId,
‘query’: ‘顧客コード = "’ + event.record[‘顧客コード’].value + ‘" and 処理フラグ in (“”)’
};
return kintone.api(kintone.api.url(‘/k/v1/records’, true), ‘GET’, paramGet).then(function(resp) {
var records = resp.records;
var paramPut = {
‘app’: appId,
‘records’: createPutRecords(records)
};
console.log(JSON.stringify(paramPut));
return kintone.api(kintone.api.url(‘/k/v1/records’, true), ‘PUT’, paramPut);
}).then(function(resp2) {
alart(‘更新が完了しました’);
return event;
}).catch(function(error) {
alert(‘エラーが発生しました’ + error.message);
return event;
});
});
なお、PUT前に吐き出しているconsole.logの結果は、
{“app”:32,“records”:[
{“id”:“5”,“record”:{“処理フラグ”:{“value”:“済み”}}},
{“id”:“4”,“record”:{“処理フラグ”:{“value”:“済み”}}},
{“id”:“3”,“record”:{“処理フラグ”:{“value”:“済み”}}},
{“id”:“2”,“record”:{“処理フラグ”:{“value”:“済み”}}}
]}
となっています。
よろしくお願いいたします。