アプリから別アプリへのレコード追加、削除

営業管理アプリがあります。

この営業入力アプリで保存したレコードを、営業管理アプリへレコードを追加したいです。

ただ、案件がなくなったり、案件の内容が変わったりすることが多々あります。
営業管理アプリに登録されていたレコードの編集と削除も同時にしたいのですが、どのように実現してよいかわかりません。

アドバイスをいただけないでしょうか。

とりあえず触りだけ。

このように営業入力アプリでレコード追加するときに、対応する営業管理アプリのレコードを
レコード番号で紐づけるようにすれば、その後に編集と削除を同期させる際もレコード番号を
キーとして同期対象のレコードを絞り込めると思います。

(() => {
    'use strict';
    
    // 営業入力アプリで、レコード追加が成功したときに処理を開始
    kintone.events.on('app.record.create.submit.success', (event) => {
        const record = event.record;
        
        // 営業入力アプリにある、営業管理アプリを参照する関連レコード一覧のフィールドコードを設定
        const targetAppId = kintone.app.getRelatedRecordsTargetAppId('営業管理アプリの関連レコード一覧');
        
        // 営業管理アプリにある、値の重複を禁止する数値フィールド[営業入力アプリのレコード番号]に
        // 営業入力アプリの[レコード番号]が入るようにする
        const body = {
            'app': targetAppId,
            'record': {
                '営業入力アプリのレコード番号': {
                    'value': record['レコード番号'].value
                }
            }
        };
        
        // 上記bodyに基づいて、営業管理アプリにレコード追加する
        return kintone.api(kintone.api.url('/k/v1/record', true), 'POST', body)

    });
})();

ご回答ありがとうございました。

レコード番号を一意に追加、変更、削除すれば、どうにかできるようでわかりました。

変更や削除で、同じレコード番号のデータを特定するのは簡単にできるものなのでしょうか?

例えば、レコード削除を同期するなら
app.record.index.delete.submit
app.record.detail.delete.submit
を使いますが、これらのイベントをトリガーにしたとき
削除したレコードの[レコード番号]は recordId で取得できるのが
上記リンク先を見れば分かると思います。

なので、以下のコードで削除対象のレコードを特定するためのクエリを作れます。

(() => {
    'use strict';

    // 営業入力アプリでレコードを削除したときに処理を開始
    const events = ['app.record.detail.delete.submit', 'app.record.index.delete.submit'];

    kintone.events.on(events, async (event) => {
        // 営業入力アプリで削除されたレコードの[レコード番号]を取得
        const recordId = event.recordId;

        // 営業管理アプリのアプリIDを取得
        const targetAppId = kintone.app.getRelatedRecordsTargetAppId('営業管理アプリの関連レコード一覧');

        // 営業管理アプリの削除対象レコードを検索するクエリを作成
        const query = `営業入力アプリのレコード番号 = "${recordId}"`;

    });
})();

あとは複数のレコードを取得する
app:targetAppId を、query:query を設定すれば
[営業入力アプリのレコード番号]が、削除したレコードの
[レコード番号]と一致するレコードを取得できます。

「いいね!」 1

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