formbridgeからのkintoneレコードの更新について

【実現したいこと】
formbridgeから投入した内容について、入力された管理IDフィールドの情報を元に、
kintoneレコードを検索し、存在するレコードがあれば該当するフィールドを更新、なけれな新規レコードを作成したい

【やったこと】
kintoneを使用し、進捗確認を実施したいと思っています。
外部からの入力があるためフォームブリッジを使用しています。
進捗は、細かく実施したく、kintoneの1つのレコード内に複数のフィールドを設定しており、
そのフィールドが更新されるたびに通知がほしい(kintone標準機能レコード通知を利用)ので、
formbridgeにて複数のフォームを作成し、1つ目のフォームが回答されたら2つ目のフォームに画面偏移する(管理ID情報を引き継ぎながら)といったJavascriptを書きました。
画面偏移については正しい挙動を確認済みです。

<実装ができていない部分>
複数フォームからの回答はすべてkintoneの同じアプリにデータ追加する形になっています。
現在は引き継いだ管理IDを元に、kintone側のアプリには同じ管理IDでそれぞれのフォームに設定したフィールドだけが更新されたレコードが複数登録される形です。

これを、管理IDをキーとしてkintoneアプリのレコードを検索し、存在するレコードがあれば該当するフィールドを更新、なけれな新規レコードを作成することはできるでしょうか?

フォームブリッジで作成したフォーム1からの入力は新規レコードの作成、
フォーム2以降ではレコードの更新をするといった動きを実現させたいです。

webhookなどを利用せずに実現可能な方法はありますでしょうか。
また、kviewerのマイページはプラン制限により使用できない環境です。
kintone初心者のため至らない点があればご教示願います。
よろしくお願いいたします。

<実行したコード>※管理IDを引継ぎながら画面偏移する
(function () {
formBridge.events.on(‘finish.show’, function(context) {
const record = context.getRecord();
const kanriId = record[‘管理ID’]?.value || ‘’;

// リダイレクト先を追加
const redirectUrl = `★偏移先のURL★?kanriId=${encodeURIComponent(kanriId)}`;

window.location.href = redirectUrl;

});
})();

FormBridge に詳しくないので一般論になりますが……

この条件で考えると、

  • 外部サービス (ex. AWS, レンタルサーバー等) は使えない
  • kViewer はスタンダードコース以下

になるので、レコードのフィールド値をキーに既存データを探す、という処理に使えるリソースとしては FormBridge の基本機能ユーザーのブラウザ上で動く JavaScript の2択になります。

FormBridge の基本機能にそういった機能があるとは私は聞いたことが無く、カスタマイズ無しでやるとしたらマイページ機能 (kViewer 連携) が必要になるのではないかと思います。

JavaScript を使う場合、既存データの有無を確認するためには ブラウザから直接 kintone にアクセスするkViewer の外部公開 API を利用する 必要があると思います。前者の方法はセキュリティ的に危険 (kintone のアプリ情報や認証情報が kintone にログインしなくても取得できる) なので、少なくとも kViewer の外部公開 API を利用したほうがいいです。


肝心の FormBridge で既存レコードを上書きする処理 については、どのように設定するかは分からず……。マイページ機能があるのなら必然的に上書き処理は実装されているはずですが、それがマイページ機能以外から利用できるかどうかは謎です。回答保存プロセスの「kintoneアプリへの保存」でレコード番号をしていたら上書き……とかにならないかな……。

ご参考までに。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。