API VTAP yang Mudah: Kelola Rekaman dengan Fungsi Unlink, Delete & Filter

Dengan Vtiger Application Platform (VTAP), pengembang kini dapat memanfaatkan antarmuka yang efisien dan terprogram untuk menjalankan operasi pencatatan melalui API terpadu. Artikel ini menunjukkan cara efisien untuk memutuskan tautan catatan terkait, menghapus entri yang ditargetkan, dan menerapkan filter lanjutan — meningkatkan kontrol, efisiensi, dan keandalan dalam logika aplikasi Anda.

Mari kita pelajari lebih lanjut tentang hal di atas.

Ringkasan Masalah

Saat mengelola catatan terkait di seluruh modul, pengguna sering menghadapi kendala operasional seperti:

  • Memutuskan tautan catatan terkait (misalnya, menghapus Faktur atau Kontak terkait dari Transaksi).
  • Menghapus entri yang tidak lagi berlaku (seperti Langganan yang tidak aktif) secara permanen.
  • Menjalankan filter multi-kondisi yang kompleks untuk mengambil kumpulan data tertentu (seperti Pembayaran dengan status yang ditentukan atau upaya percobaan ulang).

Melakukan tugas-tugas ini secara manual atau dengan panduan API yang tidak jelas dapat menyebabkan inefisiensi, peningkatan risiko kehilangan data, dan inkonsistensi dalam implementasi logika.

Tujuan

  • Tunjukkan cara menghapus tautan rekaman terkait dari modul induk menggunakan program VTAP.
  • Tunjukkan cara menghapus rekaman dari modul dengan aman.
  • Menyediakan metode terstruktur untuk memfilter rekaman berdasarkan beberapa kondisi menggunakan parameter q.
  • Berbagi praktik terbaik untuk mengambil ID relasi secara dinamis melalui API untuk fleksibilitas dan pemeliharaan.

Detail Implementasi

Memutuskan Tautan Rekaman Terkait:

Untuk menghapus hubungan antara dua rekaman (misalnya, menghapus tautan Faktur dari Potensi), gunakan cuplikan berikut:


  

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

});

Ini hanya akan menghapus tautan rekaman. Faktur dan Potensi asli akan tetap utuh.

Cara mengambil relation_id secara dinamis:


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

Ini mengembalikan semua metadata terkait untuk modul Potensial, termasuk ID relasi dan label.

Menghapus Rekaman:


  

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

});

Ini akan menghapus secara permanen rekaman Langganan dengan ID 596. Gunakan ini hanya jika rekaman tersebut tidak lagi diperlukan.

Memfilter Rekaman Menggunakan Parameter q:

Untuk mengambil catatan dari modul Pembayaran berdasarkan beberapa kondisi filter:


  

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

    }

});

Manfaat

  • Manajemen Catatan yang Efisien: Mengotomatiskan proses pemutusan tautan dan penghapusan, menghemat waktu dan mengurangi kesalahan manusia.
  • Kontrol yang lebih baik:Pengembang memiliki kontrol yang tepat atas catatan mana yang terpengaruh, sehingga meningkatkan integritas data.
  • Penyaringan Tingkat Lanjut: Parameter q memungkinkan kueri multi-kondisi yang kompleks, meminimalkan panggilan API yang tidak diperlukan.
  • Ramah Pengembang: Sepenuhnya mendukung sintaksis JavaScript asinkron (async/await), membuat integrasi lancar dalam lingkungan VTAP.

Kami yakin contoh-contoh ini akan meningkatkan pengalaman Anda dengan Vtiger CRM. Kami ingin memastikan bahwa pengembang dan pengguna CRM dapat saling berbagi informasi dan pengetahuan untuk meningkatkan fungsionalitas CRM. 

Nantikan informasi lebih lanjut. Selamat membuat kode!

 
 

Daftar untuk menerima pembaruan terbaru!