VTAP API 簡化:使用取消連結、刪除和篩選功能管理記錄

透過 Vtiger 應用平台 (VTAP),開發人員現在可以利用精簡且可程式化的介面,透過統一的 API 執行記錄操作。本文將展示如何有效率地取消關聯相關記錄、刪除目標條目以及應用進階過濾器,從而增強應用程式邏輯的控制力、效率和可靠性。

讓我們進一步了解上述內容。

問題摘要

在跨模組管理相關記錄時,使用者經常會面臨以下操作障礙:

  • 取消相關記錄的連結(例如,從交易中刪除相關的發票或聯絡人)。
  • 永久刪除過時的條目(如非活動的訂閱)。
  • 執行複雜的多條件篩選器來擷取特定的資料集(例如具有定義狀態或重試嘗試的付款)。

手動執行這些任務或使用不明確的 API 指導可能會導致效率低下、資料遺失風險增加以及邏輯實現不一致。

目標

  • 示範如何使用 VTAP 以程式設計方式取消相關記錄與父模組的連結。
  • 展示如何安全地從模組中刪除記錄。
  • 提供一種結構化方法,使用 q 參數根據多個條件過濾記錄。
  • 分享最佳實踐,透過 API 動態檢索關係 ID,以實現靈活性和可維護性。

實施細節

取消相關記錄的連結:

若要刪除兩張記錄之間的關係(例如,取消發票與潛在客戶的連結),請使用以下程式碼片段:


  

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);

});

這只會取消記錄的連結。原始發票和潛在客戶資訊將保持不變。

如何動態檢索relation_id:


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

這將傳回 Potentials 模組的所有相關元數據,包括關係 ID 和標籤。

刪除記錄:


  

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 的功能。 

敬請關注。祝您編碼愉快!

 
 

註冊以接收最新更新!