API VTAP simplificada: administre registros con funciones de desvinculación, eliminación y filtrado

Con la Plataforma de Aplicaciones Vtiger (VTAP), los desarrolladores ahora pueden utilizar una interfaz optimizada y programable para realizar operaciones con registros mediante una API unificada. Este artículo muestra cómo desvincular registros relacionados, eliminar entradas específicas y aplicar filtros avanzados de forma eficiente, mejorando el control, la eficiencia y la fiabilidad de la lógica de su aplicación.

Aprendamos más sobre lo mencionado anteriormente.

Resumen del problema

Al gestionar registros relacionados entre módulos, los usuarios a menudo enfrentan obstáculos operativos como:

  • Desvincular registros relacionados (por ejemplo, eliminar una factura o un contacto asociado de un trato).
  • Eliminar permanentemente entradas obsoletas (como suscripciones inactivas).
  • Ejecutar filtros complejos de múltiples condiciones para recuperar conjuntos de datos específicos (como pagos con estados definidos o intentos de reintento).

Realizar estas tareas manualmente o con una guía API poco clara puede generar ineficiencias, mayor riesgo de pérdida de datos e inconsistencias en la implementación de la lógica.

Objetivo

  • Demuestre cómo desvincular registros relacionados de un módulo principal mediante programación VTAP.
  • Muestra cómo eliminar de forma segura un registro de un módulo.
  • Proporciona un método estructurado para filtrar registros según múltiples condiciones utilizando el parámetro q.
  • Comparta las mejores prácticas para recuperar identificadores de relaciones de forma dinámica a través de API para lograr flexibilidad y facilidad de mantenimiento.

Detalles de implementacion

Desvincular un registro relacionado:

Para eliminar una relación entre dos registros (por ejemplo, desvincular una factura de un potencial), utilice el siguiente fragmento:


  

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

});

Esto solo desvinculará el registro. La factura y el potencial originales permanecerán intactos.

Cómo recuperar dinámicamente el relationship_id:


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

Esto devuelve todos los metadatos relacionados para el módulo Potenciales, incluidos los identificadores de relación y las etiquetas.

Eliminar un registro:


  

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

});

Esto eliminará de forma permanente el registro de suscripción con ID 596. Úselo solo cuando el registro ya no sea necesario.

Filtrado de registros mediante el parámetro q:

Para recuperar registros del módulo Pagos según múltiples condiciones de 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);

    }

});

Beneficios

  • Gestión eficiente de registros:Automatiza los procesos de desvinculación y eliminación, ahorrando tiempo y reduciendo errores humanos.
  • Mejor control:Los desarrolladores tienen control preciso sobre qué registros se ven afectados, lo que mejora la integridad de los datos.
  • Filtrado avanzado:El parámetro q permite consultas complejas de múltiples condiciones, minimizando llamadas API innecesarias.
  • Desarrollador amigable:Admite totalmente la sintaxis de JavaScript asincrónica (async/await), lo que hace que la integración sea sencilla en entornos VTAP.

Creemos que estos ejemplos mejorarán su experiencia con Vtiger CRM. Queremos asegurarnos de que los desarrolladores y los usuarios de CRM puedan compartir información y conocimientos entre sí para mejorar la funcionalidad del CRM. 

Mantente atento para más información. ¡Feliz codificación!

 
 

¡Regístrese para recibir las últimas actualizaciones!