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

敬请期待。祝您编码愉快!

 
 

注册以接收最新更新!