API VTAP simplifiée : gérez les enregistrements avec les fonctions de dissociation, de suppression et de filtrage

Grâce à la plateforme d'applications Vtiger (VTAP), les développeurs peuvent désormais utiliser une interface simplifiée et programmable pour effectuer des opérations sur les enregistrements via une API unifiée. Cet article explique comment dissocier efficacement les enregistrements associés, supprimer les entrées ciblées et appliquer des filtres avancés, améliorant ainsi le contrôle, l'efficacité et la fiabilité de votre logique applicative.

Apprenons-en davantage sur ce qui précède.

Résumé du problème

Lors de la gestion d'enregistrements liés entre modules, les utilisateurs sont souvent confrontés à des obstacles opérationnels tels que :

  • Dissocier des enregistrements associés (par exemple, supprimer une facture ou un contact associé d'une transaction).
  • Suppression définitive des entrées obsolètes (comme les abonnements inactifs).
  • Exécution de filtres complexes à conditions multiples pour récupérer des ensembles de données spécifiques (tels que des paiements avec des statuts définis ou des tentatives de nouvelle tentative).

L’exécution de ces tâches manuellement ou avec des instructions API peu claires peut entraîner des inefficacités, un risque accru de perte de données et des incohérences dans la mise en œuvre de la logique.

Objectif

  • Montrez comment dissocier les enregistrements associés d'un module parent à l'aide du programme VTAP.
  • Montrez comment supprimer en toute sécurité un enregistrement d'un module.
  • Fournissez une méthode structurée pour filtrer les enregistrements en fonction de plusieurs conditions à l'aide du paramètre q.
  • Partagez les meilleures pratiques pour récupérer les identifiants de relation de manière dynamique via l'API pour plus de flexibilité et de maintenabilité.

Détails d'implémentation

Dissocier un enregistrement associé :

Pour supprimer une relation entre deux enregistrements (par exemple, dissocier une facture d'un potentiel), utilisez l'extrait suivant :


  

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

});

Cela supprimera uniquement le lien avec l'enregistrement. La facture et le potentiel d'origine resteront intacts.

Comment récupérer dynamiquement le relation_id :


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

Cela renvoie toutes les métadonnées associées au module Potentiels, y compris les ID de relation et les étiquettes.

Suppression d'un enregistrement :


  

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

});

Cela supprimera définitivement l'enregistrement d'abonnement avec l'ID 596. Utilisez cette option uniquement lorsque l'enregistrement n'est plus nécessaire.

Filtrage des enregistrements à l'aide du paramètre q :

Pour récupérer des enregistrements du module Paiements en fonction de plusieurs conditions de filtre :


  

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

    }

});

Les Avantages

  • Gestion efficace des dossiers:Automatise les processus de dissociation et de suppression, ce qui permet de gagner du temps et de réduire les erreurs humaines.
  • Un meilleur contrôle:Les développeurs ont un contrôle précis sur les enregistrements concernés, améliorant ainsi l’intégrité des données.
  • Filtrage avancé:Le paramètre q permet des requêtes complexes à plusieurs conditions, minimisant ainsi les appels API inutiles.
  • Développeur convivial: Prend entièrement en charge la syntaxe JavaScript asynchrone (async/await), ce qui rend l'intégration fluide dans les environnements VTAP.

Nous pensons que ces exemples amélioreront votre expérience avec Vtiger CRM. Nous voulons nous assurer que les développeurs et les utilisateurs du CRM peuvent partager mutuellement des informations et des connaissances pour améliorer les fonctionnalités du CRM. 

Restez à l'écoute pour en savoir plus. Bon codage !

 
 

Inscrivez-vous pour recevoir les dernières mises à jour!