Ao projetar formulários, às vezes podemos querer exibir dados de outros sites ou aplicativos, como taxas de estoque, status de voo, detalhes de frete, atualizações meteorológicas etc. Para buscar essas informações de sites ou aplicativos de terceiros e exibi-las nos campos durante a criação de cartões, scripts de clientes podem ser usados.
Cenário de negócios
Ryan administra uma agência de férias. Ele usa Qntl para automatizar as solicitações de reserva de seus clientes. Ryan deseja exibir a previsão do tempo do destino de férias quando um cliente reservar o pacote de férias. Ele também deseja que a previsão seja atualizada automaticamente se um cliente alterar o destino.
Solução
Para conseguir isso, Ryan pode usar a API de qualquer site de previsão do tempo no script do cliente Qntrl e exibir o clima e a temperatura quando o usuário seleciona um destino.
Configuração de exemplo
Etapa 1 – criar uma orquestração
Crie uma nova orquestração – Booking Request Orchestration (Orquestração de solicitação de reserva) – e adicione campos para registrar a solicitação do cliente.
- Adicione um campo suspenso, Selecione um destino de viagem, e adicione valores no menu suspenso de Estados como Alabama, Alasca, Califórnia, Flórida e assim por diante.
- Crie 2 campos de linha única para registar o Tempo e a Temperatura do destino .
Depois que o formulário for criado, prossiga para projetar o blueprint, definir permissões e publicar a orquestração.
Etapa 2: codificar scripts do cliente
Antes de criar scripts, selecione um site ou aplicativo do qual você gostaria de receber os dados. Usamos API do openweathermap.org no código de exemplo.
- Crie um novo script e insira um nome: Atualização do clima.
- Escolha a Booking Request Orchestration (Orquestração de solicitação de reserva) no menu suspenso Form (Formulário).
- Escolha Add new card (Adicionar novo cartão) como Execution Location (Local de execução) para executar o script quando um novo cartão for adicionado.
- Escolha onChange como o Execution Trigger (Gatilho de execução) para permitir que o script exiba a previsão do tempo quando o destino for escolhido. Ao selecionar essa opção, uma lista suspensa Fields (Campos) será exibida no painel direito, onde você poderá escolher os campos cuja atualização deve acionar o script.
- Copie e cole o script abaixo em seu editor de script e substitua os nomes dos parâmetros.
- Você pode usar o ícone ? no canto superior direito do editor de script para fazer referência aos nomes dos parâmetros.
- Quando o script estiver pronto, Publish (Publique) -o.
Script de amostra
async function onChange(forpage,oldVal,newVal,executeOnLoad){
if(executeOnLoad){
return;
}
var msg = weatherdata.weather[0].description;
current.Job.setValue(current.Layout.Fields.<select-Destination-weather-parameter-here>.id, msg);
var temp = weatherdata.main.temp - 270;
var str_a = temp.toString();
var result = Number(str_a.slice(0, 5));
var tempmsg = result + " Degree Celsius";
current.Job.setValue(current.Layout.Fields.<select-Destination-temperature-parameter-here>.id, tempmsg);
}
Etapa 3 - adicionar um cartão
Quando os scripts de formulário, blueprint e cliente estiverem prontos, podemos testar o script criando um novo cartão.
- Navegue até Cards (Cartões) e clique em Add Card (Adicionar cartão) .
- Selecione Booking Request Orchestration (Orquestração da solicitação de reserva) no menu suspenso Form (Formulário).
- Insira o destino da viagem.
- O clima e a temperatura do destino são exibidos automaticamente.