Łatwe korzystanie z interfejsu API VTAP: zarządzanie rekordami za pomocą funkcji odłączania, usuwania i filtrowania

Dzięki platformie aplikacji Vtiger (VTAP) programiści mogą teraz korzystać z uproszczonego i programowalnego interfejsu do wykonywania operacji na rekordach za pośrednictwem ujednoliconego interfejsu API. W tym artykule pokażemy, jak skutecznie rozłączać powiązane rekordy, usuwać wybrane wpisy i stosować zaawansowane filtry – zwiększając kontrolę, wydajność i niezawodność logiki aplikacji.

Dowiedzmy się więcej na ten temat.

Podsumowanie problemu

Podczas zarządzania powiązanymi rekordami w różnych modułach użytkownicy często napotykają na przeszkody operacyjne, takie jak:

  • Odłączanie powiązanych rekordów (np. usuwanie powiązanej faktury lub kontaktu z transakcji).
  • Trwałe usuwanie nieaktualnych wpisów (np. nieaktywnych subskrypcji).
  • Wykonywanie złożonych filtrów wielowarunkowych w celu pobrania określonych zestawów danych (takich jak płatności ze zdefiniowanymi statusami lub próby ponowienia).

Wykonywanie tych zadań ręcznie lub na podstawie niejasnych wskazówek API może prowadzić do nieefektywności, zwiększonego ryzyka utraty danych i niespójności w implementacji logiki.

Cel

  • Pokaż, jak programowo odłączyć powiązane rekordy od modułu nadrzędnego za pomocą VTAP.
  • Pokaż, jak bezpiecznie usunąć rekord z modułu.
  • Udostępnij ustrukturyzowaną metodę filtrowania rekordów na podstawie wielu warunków przy użyciu parametru q.
  • Udostępniaj najlepsze praktyki dotyczące dynamicznego pobierania identyfikatorów relacji za pomocą interfejsu API, co zapewnia elastyczność i łatwość utrzymania.

Szczegóły dotyczące wdrożenia

Odłączanie powiązanego rekordu:

Aby usunąć relację między dwoma rekordami (na przykład odłączyć fakturę od potencjalnego klienta), użyj następującego fragmentu kodu:


  

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

});

Spowoduje to jedynie odłączenie rekordu. Oryginalna faktura i potencjał pozostaną nienaruszone.

Jak dynamicznie pobrać relationship_id:


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

Zwraca wszystkie powiązane metadane dla modułu Potencjały, w tym identyfikatory relacji i etykiety.

Usuwanie rekordu:


  

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

});

Spowoduje to trwałe usunięcie rekordu subskrypcji o identyfikatorze 596. Użyj tej opcji tylko wtedy, gdy rekord nie jest już potrzebny.

Filtrowanie rekordów przy użyciu parametru q:

Aby pobrać rekordy z modułu Płatności na podstawie wielu warunków filtrowania:


  

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

    }

});

Korzyści

  • Efektywne zarządzanie dokumentacją:Automatyzuje procesy odłączania i usuwania, oszczędzając czas i redukując ryzyko błędu ludzkiego.
  • Lepsza kontrola:Deweloperzy mają dokładną kontrolę nad tym, które rekordy są modyfikowane, co zwiększa integralność danych.
  • Zaawansowane filtrowanie:Parametr q umożliwia wykonywanie złożonych zapytań wielowarunkowych, minimalizując liczbę niepotrzebnych wywołań API.
  • Przyjazny dla programistów: Pełna obsługa asynchronicznej składni JavaScript (async/await), co umożliwia płynną integrację w środowiskach VTAP.

Wierzymy, że te przykłady poprawią Twoje doświadczenia z Vtiger CRM. Chcemy zapewnić, że programiści i użytkownicy CRM mogą wzajemnie dzielić się informacjami i wiedzą, aby zwiększyć funkcjonalność CRM. 

Bądźcie czujni, aby dowiedzieć się więcej. Szczęśliwego kodowania!

 
 

Zarejestruj się, aby otrzymywać najnowsze aktualizacje!