Caso de negócio 2: buscar dados de sites de terceiros usando scripts de servidor (antes de criar)

Caso de negócio 2: buscar dados de sites de terceiros usando scripts de servidor (antes de criar)

Às vezes, podemos querer buscar dados externos de outros aplicativos ou sites, como detalhes meteorológicos, taxas de estoque ou status de voo relacionados ao cartão, quando criamos um cartão. Os scripts do servidor podem ser usados para buscar esses dados e exibi-los no Qntrl.
 

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 um novo cartão é criado para um fornecedor, todos os detalhes do fornecedor são mencionados no cartão repetidamente. Se os detalhes forem preenchidos automaticamente, isso economizará bastante tempo e reduzirá erros manuais.
 

Solução

Assim que o campo "Vendor ID" (ID do fornecedor) for preenchido, os outros detalhes, como "Vendor Name" (Nome do fornecedor), "Address" (Endereço) e "Contact" (Contato), devem ser preenchidos automaticamente nos campos do cartão. Para executar isso:
  1. Crie um formulário com campos personalizados diferentes para manter os detalhes do fornecedor.
  2. Crie um script de servidor para buscar dados do aplicativo de terceiros.
  3. Crie um cartão e preencha o campo de índice para preencher outros campos automaticamente.
 

Configuração de exemplo

Etapa 1 – criar uma orquestração

Crie uma nova orquestração intitulada "Contract Initiation (Início do contrato)" e adicione os seguintes campos personalizados a ela:
  1. ID do fornecedor
  2. Nome do Fornecedor
  3. Website
  4. E-mail do fornecedor
   

 
Depois que o formulário for salvo, prossiga para projetar o blueprint, definir permissões e publicar a orquestração.
 

Etapa 2: codificar scripts do servidor

Codifique o script do servidor para buscar e preencher os detalhes do fornecedor.
  1. Crie um novo script de servidor e insira o nome como "Fetch vendor details (Buscar detalhes do fornecedor)".
  2. Escolha Contract Initiation (Início do contrato) no menu suspenso Form (Formulário).
  3. Escolha Job (Tarefa) como Execution Location (Local de execução) para executar o script.
  4. Escolha Before Create (Antes de criar) 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. Você pode usar o ícone ? no canto superior direito do editor de scripts para se referir aos nomes dos parâmetros.
  6. Quando o script estiver pronto, Publish (Publique) -o. 

  1. function beforeCreate(){
  2.     var job = current.Job;      
  3.     var fields = current.Layout.Fields;
  4. //Select Vendor ID parameter here
  5.     var vendorId = current.Job.getValue(current.Layout.Fields.<select-VendorID-parameter-here>.id);
  6.     if (!vendorId) {
  7.         console.log("Invalid vendor ID");
  8.         return;
  9.     }
  10.  
  11.     var url = "https://jsonplaceholder.typicode.com/users/"+vendorId;
  12.     var params = {};
  13.     var headers = {};
  14.  
  15.     var res = ZDK.HTTP.get(url, params, headers);
  16.     if (res.status != 200) {
  17.         console.log("Unable to fetch vendor details");
  18.         return;
  19.     }
  20.     var responseBody = res.body;
  21.     if (typeof responseBody == "string") {
  22.         responseBody = JSON.parse(responseBody);
  23.     }
  24.  
  25.    //Select parameters here
  26.  job.setValue(fields.<select-VendorName-parameter-here>.id, responseBody.name);
  27.     job.setValue(fields.<select-VendorEmail-parameter-here>.id, responseBody.email);
  28.     job.setValue(fields.<select-Contact-parameter-here>.id, responseBody.phone);
  29.     job.setValue(fields.<select-Website-parameter-here>.id, responseBody.website);
  30.     
  31.     console.log("Vendor details filled for the vendor " + vendorId);
  32. }



Etapa 3 - adicionar um cartão

Quando a orquestração e o script do servidor 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) na lista suspensa Form (Formulário).
  3. Insira o ID do fornecedor.
    1. Os detalhes de outros fornecedores devem ser preenchidos automaticamente.
  4. Salve o cartão.