API VTAP được thiết kế đơn giản: Quản lý hồ sơ bằng các chức năng Hủy liên kết, Xóa và Lọc

Với Nền tảng Ứng dụng Vtiger (VTAP), các nhà phát triển giờ đây có thể sử dụng giao diện được sắp xếp hợp lý và có thể lập trình để thực hiện các thao tác ghi chép thông qua một API thống nhất. Bài viết này giới thiệu cách hủy liên kết các bản ghi liên quan, xóa các mục nhập mục tiêu và áp dụng các bộ lọc nâng cao một cách hiệu quả — nâng cao khả năng kiểm soát, hiệu quả và độ tin cậy trong logic ứng dụng của bạn.

Chúng ta hãy tìm hiểu thêm về những điều trên.

Tóm tắt vấn đề

Khi quản lý các bản ghi liên quan trên nhiều mô-đun, người dùng thường gặp phải các rào cản vận hành như:

  • Hủy liên kết các bản ghi liên quan (ví dụ: xóa Hóa đơn hoặc Liên hệ liên quan khỏi Giao dịch).
  • Xóa vĩnh viễn các mục đã lỗi thời (như Đăng ký không hoạt động).
  • Thực hiện các bộ lọc phức tạp, nhiều điều kiện để truy xuất các tập dữ liệu cụ thể (chẳng hạn như Thanh toán có trạng thái xác định hoặc thử lại).

Thực hiện các tác vụ này theo cách thủ công hoặc không có hướng dẫn API rõ ràng có thể dẫn đến tình trạng kém hiệu quả, tăng nguy cơ mất dữ liệu và không nhất quán trong việc triển khai logic.

Mục tiêu

  • Trình bày cách hủy liên kết các bản ghi liên quan khỏi mô-đun cha bằng cách sử dụng chương trình VTAP.
  • Hiển thị cách xóa bản ghi khỏi mô-đun một cách an toàn.
  • Cung cấp phương pháp có cấu trúc để lọc bản ghi dựa trên nhiều điều kiện bằng cách sử dụng tham số q.
  • Chia sẻ các phương pháp hay nhất để truy xuất ID quan hệ một cách linh hoạt thông qua API nhằm tăng tính linh hoạt và khả năng bảo trì.

Chi tiết triển khai

Hủy liên kết bản ghi liên quan:

Để xóa mối quan hệ giữa hai bản ghi (ví dụ: hủy liên kết Hóa đơn khỏi Tiềm năng), hãy sử dụng đoạn mã sau:


  

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

});

Thao tác này chỉ hủy liên kết hồ sơ. Hóa đơn gốc và Tiềm năng sẽ vẫn còn nguyên.

Cách lấy relation_id một cách động:


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

Lệnh này trả về tất cả siêu dữ liệu liên quan cho mô-đun Potentials, bao gồm ID quan hệ và nhãn.

Xóa bản ghi:


  

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

});

Thao tác này sẽ xóa vĩnh viễn bản ghi Đăng ký có ID 596. Chỉ sử dụng thao tác này khi bản ghi không còn cần thiết nữa.

Lọc bản ghi bằng tham số q:

Để truy xuất hồ sơ từ mô-đun Thanh toán dựa trên nhiều điều kiện lọc:


  

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

    }

});

Các lợi ích

  • Quản lý hồ sơ hiệu quả: Tự động hóa quá trình hủy liên kết và xóa, tiết kiệm thời gian và giảm thiểu lỗi của con người.
  • Kiểm soát tốt hơn:Các nhà phát triển có thể kiểm soát chính xác những bản ghi nào bị ảnh hưởng, cải thiện tính toàn vẹn của dữ liệu.
  • Lọc nâng cao: Tham số q cho phép thực hiện các truy vấn phức tạp, nhiều điều kiện, giảm thiểu các lệnh gọi API không cần thiết.
  • Thân thiện với nhà phát triển: Hỗ trợ đầy đủ cú pháp JavaScript không đồng bộ (async/await), giúp tích hợp dễ dàng trong môi trường VTAP.

Chúng tôi tin rằng những ví dụ này sẽ cải thiện trải nghiệm của bạn với Vtiger CRM. Chúng tôi muốn đảm bảo rằng các nhà phát triển và người dùng CRM có thể chia sẻ thông tin và kiến ​​thức lẫn nhau để thúc đẩy chức năng của CRM. 

Hãy theo dõi để biết thêm. Chúc bạn lập trình vui vẻ!

 
 

Đăng ký để nhận thông tin cập nhật mới nhất!