API VTAP simplificada: gerencie registros com funções de desvinculação, exclusão e filtragem

Com a Plataforma de Aplicativos Vtiger (VTAP), os desenvolvedores agora podem utilizar uma interface simplificada e programável para realizar operações de registro por meio de uma API unificada. Este artigo mostra como desvincular registros relacionados, excluir entradas específicas e aplicar filtros avançados com eficiência — aprimorando o controle, a eficiência e a confiabilidade da lógica do seu aplicativo.

Vamos aprender mais sobre o exposto acima.

Resumo do problema

Ao gerenciar registros relacionados entre módulos, os usuários geralmente enfrentam obstáculos operacionais como:

  • Desvincular registros relacionados (por exemplo, remover uma fatura ou contato associado de um negócio).
  • Excluir permanentemente entradas obsoletas (como assinaturas inativas).
  • Executar filtros complexos e multicondicionais para recuperar conjuntos de dados específicos (como pagamentos com status definidos ou tentativas de repetição).

Executar essas tarefas manualmente ou com orientação de API pouco clara pode levar a ineficiências, maior risco de perda de dados e inconsistências na implementação lógica.

Objetivo

  • Demonstre como desvincular registros relacionados de um módulo pai usando VTAP programaticamente.
  • Mostre como excluir com segurança um registro de um módulo.
  • Forneça um método estruturado para filtrar registros com base em múltiplas condições usando o parâmetro q.
  • Compartilhe as melhores práticas para recuperar IDs de relacionamento dinamicamente via API para flexibilidade e manutenção.

Detalhes de Implementação

Desvinculando um registro relacionado:

Para remover um relacionamento entre dois registros (por exemplo, desvincular uma fatura de um potencial), use o seguinte snippet:


  

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

});

Isso apenas desvinculará o registro. A fatura original e o potencial permanecerão intactos.

Como recuperar dinamicamente o relation_id:


  

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

    console.log(relations);

});


  

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

    console.log(relations);

});

Isso retorna todos os metadados relacionados ao módulo Potenciais, incluindo IDs de relação e rótulos.

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

});

Isso removerá permanentemente o registro de assinatura com ID 596. Use isso somente quando o registro não for mais necessário.

Filtrando registros usando o parâmetro q:

Para recuperar registros do módulo Pagamentos com base em várias condições 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);

    }

});

Benefícios

  • Gerenciamento eficiente de registros: Automatiza os processos de desvinculação e exclusão, economizando tempo e reduzindo erros humanos.
  • Melhor controle: Os desenvolvedores têm controle preciso sobre quais registros são afetados, melhorando a integridade dos dados.
  • Filtragem Avançada: O parâmetro q permite consultas complexas e com múltiplas condições, minimizando chamadas de API desnecessárias.
  • Desenvolvedor-Friendly: Suporta totalmente a sintaxe JavaScript assíncrona (async/await), tornando a integração suave em ambientes VTAP.

Acreditamos que esses exemplos melhorarão sua experiência com o Vtiger CRM. Queremos garantir que desenvolvedores e usuários de CRM possam compartilhar mutuamente informações e conhecimento para promover a funcionalidade do CRM. 

Fique ligado para mais. Boa codificação!

 
 

Inscreva-se para receber as últimas atualizações!