Caso de negócio 3: validar novos dados inseridos em cartões usando scripts de servidor (antes da atualização)

Caso de negócio 3: validar novos dados inseridos em cartões usando scripts de servidor (antes da atualização)

Realizar operações e coordenar com as equipes pode ser uma tarefa bastante trabalhosa. Se as informações fornecidas nos detalhes do cartão forem alteradas para corromper informações posteriormente, elas poderão criar caos e atrasar a conclusão da tarefa. É por isso que, se um usuário fizer atualizações no cartão, os scripts do servidor permitirão validar os novos dados antes que eles sejam atualizados no cartão.
 

Cenário de negócios

A Zylker Corp associa-se a um conjunto de fornecedores cujos detalhes são salvos em um banco de dados em nuvem. Quando os detalhes do fornecedor em um cartão existente são atualizados, os detalhes precisam ser validados com os valores existentes no banco de dados. Se o detalhe atualizado estiver incorreto, o cartão não pode ser salvo.
 

Solução

Quando um campo de detalhes do fornecedor é atualizado no cartão, o novo valor pode ser validado com o banco de dados usando scripts de servidor. Para executar isso:
  1. Crie um script de servidor para validar dados do aplicativo de terceiros.
  2. Crie um cartão e atualize um campo para testar a funcionalidade.

Configuração de exemplo 

Etapa 1: codificar scripts do servidor

Crie um novo script de servidor para validar os detalhes do fornecedor se eles forem atualizados.
  1. Crie um novo script de servidor e insira o nome como "Validar detalhes do fornecedor".
  2. Escolha Contract Initiation (Início do contrato) no menu suspenso Form (Formulário). Usamos a orquestração do caso de uso anterior aqui. Saiba mais.
  3. Escolha Job (Tarefa) como Execution Location (Local de execução) para executar o script.
  4. Escolha Before Update (Antes de atualizar) como Execution Trigger (Gatilho de execução) para executar este script sempre que a página do cartão for carregada.
  5. Copie e cole o script abaixo em seu editor de script e substitua os nomes dos parâmetros.
    1. Esse código serve para validar apenas o nome do fornecedor. Você pode usar lógica semelhante para validar outros detalhes.
    2. Você pode usar o ícone ? no canto superior direito do editor de script para fazer referência aos nomes dos parâmetros.
  6. Quando o script estiver pronto, Publish (Publique) -o. 

  1. function beforeUpdate(){
  2.  
  3.     //select Vendor ID parameter here
  4. var vendorId = current.Job.getValue(current.Layout.Fields.<select-VendorID-parameter-here>.id);
  5.     if (!vendorId) {
  6.         console.log("Vendor ID not present");
  7.         return;
  8.     }
  9.     var url = "https://jsonplaceholder.typicode.com/users/"+vendorId;
  10.     var params = {};
  11.     var headers = {};
  12.  
  13.     var res = ZDK.HTTP.get(url, params, headers);
  14.     if (res.status != 200) {
  15.         console.log("Unable to fetch vendor details");
  16.         return;
  17.     }
  18.     var responseBody = res.body;
  19.     if (typeof responseBody == "string") {
  20.         responseBody = JSON.parse(responseBody);
  21.     }
  22.  
  23. //select Vendor Name parameter here
  24.     var orginalVendorName = responseBody.name;
  25.     var presentVendorName = current.Job.getValue(current.Layout.Fields.<select-VendorName-parameter-here>.id);
  26.     if (orginalVendorName != presentVendorName) {
  27.         current.Job.addError(current.Layout.Fields.<select-VendorName-parameter-here>.id, "Vendor name is not matching in vendor database");
  28.     }
  29. }



Etapa 2: adicionar cartão

Quando os scripts de servidor e orquestração estiverem prontos, podemos testar o script criando um novo cartão .
  1. Navegue até Cards (Cartões) e clique em Add Card (Adicionar cartão)
  2. Selecione Contract Initiation (Início do contrato) no menu suspenso Form (Formulário).
  3. Insira o ID do fornecedor para preencher automaticamente outros detalhes do fornecedor e salve o cartão.
  4. Na página de detalhes do cartão, atualize todos os detalhes do fornecedor, como nome do fornecedor, endereço, site, contato ou e-mail do fornecedor.
  5. Se os detalhes inseridos não corresponderem aos detalhes no banco de dados, um erro será exibido e o cartão não poderá ser salvo.