VTAP APIを簡単に:リンク解除、削除、フィルター機能でレコードを管理

Vtiger Application Platform(VTAP)を使用すると、開発者は合理化されたプログラミング可能なインターフェースを活用し、統合APIを介してレコード操作を実行できるようになります。この記事では、関連レコードのリンクを効率的に解除し、対象のエントリを削除し、高度なフィルターを適用する方法を紹介します。これにより、アプリケーションロジックの制御性、効率性、信頼性が向上します。

上記についてさらに詳しく見ていきましょう。

問題の概要

モジュール間で関連レコードを管理する場合、ユーザーは次のような運用上の障害に直面することがよくあります。

  • 関連レコードのリンクを解除します (例: 取引から関連する請求書または連絡先を削除します)。
  • 古いエントリ(非アクティブなサブスクリプションなど)を完全に削除します。
  • 複雑な複数条件フィルターを実行して、特定のデータ セット (定義されたステータスまたは再試行回数を含む支払いなど) を取得します。

これらのタスクを手動で実行したり、不明確な API ガイダンスを使用して実行すると、非効率性、データ損失のリスクの増加、ロジック実装の不整合が発生する可能性があります。

DevOps Tools Engineer試験のObjective

  • VTAP をプログラム的に使用して、関連レコードを親モジュールからリンク解除する方法を示します。
  • モジュールからレコードを安全に削除する方法を示します。
  • q パラメータを使用して、複数の条件に基づいてレコードをフィルター処理するための構造化されたメソッドを提供します。
  • 柔軟性と保守性を高めるために、API を介してリレーション ID を動的に取得するためのベスト プラクティスを共有します。

実装の詳細

関連レコードのリンク解除:

2 つのレコード間の関係を削除するには (たとえば、請求書と見込み客のリンクを解除する)、次のスニペットを使用します。


  

VTAP.Api.Delete('records/relationrecords', {

    module: 'Potentials',

    related_module: 'Invoice',

    id: ‘WXYZ’,

    related_record_id: ‘ABCD’,

    relation_id: ‘1234’

}, (error, response) => {

    console.log(response);

});


  

VTAP.Api.Delete('records/relationrecords', {

    module: 'Potentials',

    related_module: 'Invoice',

    id: ‘WXYZ’,

    related_record_id: ‘ABCD’,

    relation_id: ‘1234’

}, (error, response) => {

    console.log(response);

});

これによりレコードのリンクが解除されます。元の請求書と見込み客はそのまま残ります。

relationship_id を動的に取得する方法:


  

VTAP.Detail.Relations('Potentials').then((relations) => {

    console.log(relations);

});


  

VTAP.Detail.Relations('Potentials').then((relations) => {

    console.log(relations);

});

これにより、関係 ID やラベルなど、Potentials モジュールの関連メタデータがすべて返されます。

レコードの削除:


  

To delete a record (for example, a Subscription), use:

VTAP.Api.Delete('records', {

    module: 'Subscription',

    id: '596'

}, (error, response) => {

    console.log(response);

});


  

To delete a record (for example, a Subscription), use:

VTAP.Api.Delete('records', {

    module: 'Subscription',

    id: '596'

}, (error, response) => {

    console.log(response);

});

これにより、ID 596 のサブスクリプション レコードが完全に削除されます。レコードが不要になった場合にのみ、これを使用してください。

q パラメータを使用してレコードをフィルタリングする:

複数のフィルター条件に基づいて支払いモジュールからレコードを取得するには:


  

VTAP.Api.Get("records", {

    module: "Payments",

    q: [[

            ["retrycounter", "equal", ["2"]],

            ["createdtime", "greater", ["2025-05-27"]],

            ["cf_payments_internetdisabledbyvtiger", "equal", ["0"]],

            ["paymentsstatus", "n", ["Received"]]

       ]]

}, (error, response) => {

    if (error) {

        console.error("Error:", error);

    } else {

        console.log(response);

    }

});


  

VTAP.Api.Get("records", {

    module: "Payments",

    q: [[

            ["retrycounter", "equal", ["2"]],

            ["createdtime", "greater", ["2025-05-27"]],

            ["cf_payments_internetdisabledbyvtiger", "equal", ["0"]],

            ["paymentsstatus", "n", ["Received"]]

       ]]

}, (error, response) => {

    if (error) {

        console.error("Error:", error);

    } else {

        console.log(response);

    }

});

公式サイト限定

  • 効率的な記録管理リンク解除と削除のプロセスを自動化し、時間を節約し、人的エラーを削減します。
  • より良いコントロール: 開発者は影響を受けるレコードを正確に制御できるため、データの整合性が向上します。
  • 高度なフィルタリング: q パラメータを使用すると、複雑な複数条件のクエリが可能になり、不要な API 呼び出しが最小限に抑えられます。
  • 開発者向け: 非同期 JavaScript 構文 (async/await) を完全にサポートし、VTAP 環境での統合をスムーズにします。

これらの例により、Vtiger CRM のエクスペリエンスが向上すると確信しています。開発者と CRM ユーザーが相互に情報と知識を共有し、CRM の機能をさらに向上できるようにしたいと考えています。 

今後もご期待ください。楽しいコーディングを!

 
 

サインアップして最新のアップデートを受け取りましょう!