VTAP API eenvoudig gemaakt: beheer records met ontkoppelings-, verwijder- en filterfuncties

Met het Vtiger Application Platform (VTAP) kunnen ontwikkelaars nu een gestroomlijnde en programmeerbare interface gebruiken om recordbewerkingen uit te voeren via een uniforme API. Dit artikel laat zien hoe u gerelateerde records efficiënt kunt ontkoppelen, specifieke items kunt verwijderen en geavanceerde filters kunt toepassen – wat de controle, efficiëntie en betrouwbaarheid van uw applicatielogica verbetert.

Laten we eens meer over het bovenstaande leren.

Probleemoverzicht

Bij het beheren van gerelateerde records in verschillende modules lopen gebruikers vaak tegen operationele obstakels aan, zoals:

  • Het loskoppelen van gerelateerde records (bijvoorbeeld het verwijderen van een bijbehorende factuur of contactpersoon uit een deal).
  • Verouderde vermeldingen (zoals inactieve abonnementen) permanent verwijderen.
  • Het uitvoeren van complexe filters met meerdere voorwaarden om specifieke datasets op te halen (zoals betalingen met gedefinieerde statussen of nieuwe pogingen).

Als u deze taken handmatig of met onduidelijke API-richtlijnen uitvoert, kan dit leiden tot inefficiëntie, een groter risico op gegevensverlies en inconsistenties in de logische implementatie.

Objectief

  • Laat zien hoe u gerelateerde records programmatisch kunt loskoppelen van een bovenliggende module met behulp van VTAP.
  • Laat zien hoe u veilig een record uit een module verwijdert.
  • Biedt een gestructureerde methode om records te filteren op basis van meerdere voorwaarden met behulp van de q-parameter.
  • Deel best practices voor het dynamisch ophalen van relatie-ID's via API voor flexibiliteit en onderhoudbaarheid.

Implementatiedetails

Een gerelateerd record ontkoppelen:

Om een relatie tussen twee records te verwijderen (bijvoorbeeld een factuur loskoppelen van een potentiële klant), gebruikt u het volgende fragment:


  

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

});

Hiermee wordt alleen de registratie ontkoppeld. De originele factuur en de potentiële klant blijven intact.

Hoe de relation_id dynamisch op te halen:


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

Hiermee worden alle gerelateerde metagegevens voor de Potentials-module geretourneerd, inclusief relatie-ID's en labels.

Een record verwijderen:


  

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

});

Hiermee verwijdert u permanent het abonnementsrecord met ID 596. Gebruik dit alleen wanneer u het record niet meer nodig hebt.

Records filteren met behulp van de q-parameter:

Zo haalt u records op uit de Betalingenmodule op basis van meerdere filtervoorwaarden:


  

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

    }

});

Voordelen:

  • Efficiënt recordbeheer: Automatiseert ontkoppelings- en verwijderingsprocessen, bespaart tijd en vermindert de kans op menselijke fouten.
  • Betere controle:Ontwikkelaars hebben nauwkeurige controle over welke records worden beïnvloed, waardoor de integriteit van de gegevens wordt verbeterd.
  • Geavanceerde filtering:De q-parameter maakt complexe query's met meerdere voorwaarden mogelijk, waardoor onnodige API-aanroepen tot een minimum worden beperkt.
  • Developer-Friendly: Ondersteunt volledig asynchrone JavaScript-syntaxis (async/await), waardoor de integratie in VTAP-omgevingen soepel verloopt.

Wij geloven dat deze voorbeelden uw ervaring met Vtiger CRM zullen verbeteren. We willen ervoor zorgen dat ontwikkelaars en CRM-gebruikers informatie en kennis met elkaar kunnen delen om de functionaliteit van CRM te vergroten. 

Blijf op de hoogte voor meer. Veel plezier met coderen!

 
 

Schrijf je in om de laatste updates te ontvangen!