API VTAP semplificata: gestisci i record con le funzioni di scollegamento, eliminazione e filtro

Con Vtiger Application Platform (VTAP), gli sviluppatori possono ora utilizzare un'interfaccia semplificata e programmabile per eseguire operazioni sui record tramite un'API unificata. Questo articolo illustra come scollegare in modo efficiente i record correlati, eliminare voci mirate e applicare filtri avanzati, migliorando il controllo, l'efficienza e l'affidabilità della logica applicativa.

Scopriamo di più su quanto detto sopra.

Riepilogo del problema

Quando si gestiscono record correlati tra i moduli, gli utenti spesso si trovano ad affrontare ostacoli operativi quali:

  • Scollegamento di record correlati (ad esempio, rimozione di una fattura o di un contatto associato da un'offerta).
  • Eliminazione definitiva delle voci obsolete (ad esempio gli abbonamenti inattivi).
  • Esecuzione di filtri complessi e multi-condizione per recuperare set di dati specifici (ad esempio pagamenti con stati definiti o tentativi di ripetizione).

L'esecuzione di queste attività manualmente o con istruzioni API poco chiare può portare a inefficienze, a un aumento del rischio di perdita di dati e a incoerenze nell'implementazione logica.

Obiettivo

  • Dimostrare come scollegare i record correlati da un modulo padre utilizzando VTAP a livello di programmazione.
  • Mostra come eliminare in modo sicuro un record da un modulo.
  • Fornire un metodo strutturato per filtrare i record in base a più condizioni utilizzando il parametro q.
  • Condividi le best practice per recuperare dinamicamente gli ID delle relazioni tramite API per maggiore flessibilità e manutenibilità.

Dettagli di implementazione

Scollegamento di un record correlato:

Per rimuovere una relazione tra due record (ad esempio, scollegando una fattura da un potenziale), utilizzare il seguente frammento:


  

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

});

Questa operazione scollegherà solo il record. La fattura e il potenziale originali rimarranno intatti.

Come recuperare dinamicamente relation_id:


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

Restituisce tutti i metadati correlati al modulo Potenziali, inclusi gli ID e le etichette delle relazioni.

Eliminazione di un record:


  

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

});

Questa operazione rimuoverà definitivamente il record di abbonamento con ID 596. Utilizzare questa opzione solo quando il record non è più necessario.

Filtraggio dei record utilizzando il parametro q:

Per recuperare i record dal modulo Pagamenti in base a più condizioni di filtro:


  

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

    }

});

Vantaggi

  • Gestione efficiente dei record: Automatizza i processi di scollegamento ed eliminazione, risparmiando tempo e riducendo l'errore umano.
  • Migliore controllo: Gli sviluppatori hanno un controllo preciso sui record interessati, migliorando l'integrità dei dati.
  • Filtro avanzato: Il parametro q consente query complesse e multi-condizione, riducendo al minimo le chiamate API non necessarie.
  • Developer-friendly: Supporta completamente la sintassi JavaScript asincrona (async/await), rendendo l'integrazione fluida negli ambienti VTAP.

Crediamo che questi esempi miglioreranno la tua esperienza con Vtiger CRM. Vogliamo garantire che sviluppatori e utenti CRM possano condividere reciprocamente informazioni e conoscenze per migliorare la funzionalità del CRM. 

Restate sintonizzati per saperne di più. Buona programmazione!

 
 

Iscriviti per ricevere gli ultimi aggiornamenti!