保存成功時のPUTが失敗する

保存成功時に自身のIDをほかのレコードにPUTする処理を作成しました。

編集保存時は成功するのですが、作成保存時に失敗します。

エラー:{code: “CB_IL02”, id: “dL2mIaCBpB8YHBWypEXq”, message: “不正なリクエストです。”}

 

下記コードのevent.recordIdをただの文字列(例 “1234”)などにすると成功します。

event.recordIdがいけないのでしょうか?

しかし、event.recordIdの型もstringですし問題ないと思うのですが…

何が原因かわからず非常に困っています。

 

 

letbody= {

“app”:sendAppID,

“id”:sendRecordID,

“record”: {

“新修繕報告ID”: {

“value”:event.recordId

}

}

}

kintone.api(kintone.api.url(‘/k/v1/record’, true), ‘PUT’, body, function(resp) {

// success

// console.log(resp)

console.log(“MyID送信:成功”)

}, function(error) {

// error

console.log(error)

console.log(“MyID送信:失敗”)

})

tanaka さん

レコード作成時のイベントは何を使っていますか?

レコード作成時はまだレコードIDが定まっていないため、IDが指定できないのが原因かと思います。

編集時はすでにレコードが存在するのでIDが指定できます。

 

レコード追加時の保存成功後イベントというのが用意されているのでこちらを利用すればレコードIDが取得できます

https://developer.cybozu.io/hc/ja/articles/201941984#success

イベントはBB様が指摘されている

app.record.create.submit.success

を利用しています。

 

いろいろ試してみたところ、ルックアップフィールドで自身を設定することができないみたいです。

IDは発行されていてもまたほかから参照できるまでにはなっていないとかそういう感じかと考えてます。

ひとまずのところはルックアップではなくリンクにフィールドを変更して対応しました。