VTAP API gjort enkelt: Hantera poster med funktioner för att ta bort länkar, ta bort och filtrera

Med Vtiger Application Platform (VTAP) kan utvecklare nu använda ett strömlinjeformat och programmerbart gränssnitt för att utföra poståtgärder via ett enhetligt API. Den här artikeln visar hur du effektivt kan koppla bort relaterade poster, ta bort riktade poster och tillämpa avancerade filter – vilket förbättrar kontrollen, effektiviteten och tillförlitligheten i din applikationslogik.

Låt oss lära oss mer om ovanstående.

Problemsammanfattning

När användare hanterar relaterade poster över moduler stöter de ofta på operativa hinder som:

  • Ta bort länkar mellan relaterade poster (t.ex. ta bort en kopplad faktura eller kontakt från en affär).
  • Permanent radering av föråldrade poster (som inaktiva prenumerationer).
  • Köra komplexa filter med flera villkor för att hämta specifika datamängder (t.ex. betalningar med definierade statusar eller återförsök).

Att utföra dessa uppgifter manuellt eller med otydlig API-vägledning kan leda till ineffektivitet, ökad risk för dataförlust och inkonsekvenser i logikimplementeringen.

Mål

  • Demonstrera hur man kopplar bort relaterade poster från en överordnad modul med hjälp av VTAP programmatiskt.
  • Visa hur man säkert tar bort en post från en modul.
  • Tillhandahåll en strukturerad metod för att filtrera poster baserat på flera villkor med hjälp av q-parametern.
  • Dela bästa praxis för att hämta relations-ID:n dynamiskt via API för flexibilitet och underhållbarhet.

Implementeringsdetaljer

Avlänka en relaterad post:

För att ta bort en relation mellan två poster (till exempel att ta bort länken mellan en faktura och en potentiell post), använd följande kodavsnitt:


  

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

});

Detta kommer bara att ta bort länken till posten. Den ursprungliga fakturan och potentialen kommer att förbli intakta.

Så här hämtar du relation_id dynamiskt:


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

Detta returnerar alla relaterade metadata för modulen Potentials, inklusive relations-ID:n och etiketter.

Ta bort en post:


  

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

});

Detta tar bort prenumerationsposten med ID 596 permanent. Använd detta endast när posten inte längre behövs.

Filtrera poster med hjälp av q-parametern:

För att hämta poster från betalningsmodulen baserat på flera filtervillkor:


  

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

    }

});

Fördelar

  • Effektiv dokumenthanteringAutomatiserar avkopplings- och borttagningsprocesser, vilket sparar tid och minskar mänskliga fel.
  • Bättre kontrollUtvecklare har exakt kontroll över vilka poster som påverkas, vilket förbättrar dataintegriteten.
  • Avancerad filtreringParametern q möjliggör komplexa frågor med flera villkor, vilket minimerar onödiga API-anrop.
  • Utvecklare-vänligStöder fullt ut asynkron JavaScript-syntax (async/await), vilket gör integrationen smidig i VTAP-miljöer.

Vi tror att dessa exempel kommer att förbättra din upplevelse av Vtiger CRM. Vi vill säkerställa att utvecklare och CRM-användare ömsesidigt kan dela information och kunskap för att främja funktionaliteten i CRM. 

Håll ögonen öppna för mer. Glad kodning!

 
 

Registrera dig för att få de senaste uppdateringarna!