Aplica-se a

Bridge by Smartsheet

Iniciar um fluxo de trabalho em branco para o serviço meteorológico dos EUA

O fluxo de trabalho é acionado quando uma caixa de seleção é marcada em uma planilha no Smartsheet. Ele usa as coordenadas dessa linha para obter a previsão do tempo mais recente do serviço meteorológico dos EUA e, em seguida, preenche a mesma linha do Smartsheet com esses dados.

Quem pode usar isso?

Planos:

  • Bridge by Smartsheet

Você usará o serviço meteorológico dos EUA para obter previsões, pois não precisa de uma conta para acessar os dados meteorológicos.

Para obter a previsão, você deve fazer duas chamadas à API para o serviço meteorológico dos EUA:

  • uma para localizar o ponto de aderência em que uma localização geográfica está;
  • outra para obter a previsão para essa grade identificada. 

Você não precisa conhecer muito sobre chamadas à API para seguir as etapas deste guia, pois ele fornece tudo o que você precisa para concluir o fluxo de trabalho.

Confira as etapas para criar o fluxo de trabalho:

  1. Crie o fluxo de trabalho
  2. Crie a planilha
  3. Faça a autenticação com o Smartsheet e configure o acionador
  4. Configure o Get Row (Obter linha)
  5. Configure a junção
  6. Configure a primeira chamada à API
  7. Configure a segunda chamada à API
  8. Configure a linha de atualização

Etapa 1: criar o fluxo de trabalho

  1. No Bridge, selecione + no painel Workflows (Fluxos de trabalho). 
  2. Dê um nome ao fluxo de trabalho e selecione Create New (Criar novo). Essa ação leva você ao designer.

    Todos os fluxos de trabalho começam com um acionador e um estado.

Brandfolder Image
New workflow for the API call to the US Weather Service

Etapa 2: criar a planilha

Antes de configurar o acionador no Bridge, você precisa de uma planilha no Smartsheet que tenha pelo menos cinco colunas.

Configure a planilha para que ela tenha os seguintes nomes e tipos de colunas:

Nome da colunaTipo de coluna
DataData
HojeCaixa de seleção
LongitudeTexto
LatitudeTexto
Previsão do tempoTexto

A coluna Weather Forecast (Previsão do tempo) pode ser a coluna principal ou uma coluna de texto regular. 

  1.  Na primeira célula da coluna Today (Hoje), cole a seguinte fórmula:

    =IF (Date@Row = TODAY (), true, false)

  2. Selecione Enter. Essa ação marcará a caixa de seleção se o conjunto de dados na coluna Date (Data) para a data de hoje, que você pode usar para acionar o fluxo de trabalho no Bridge.
  3. Clique com o botão direito do mouse na célula com a fórmula e selecione Convert to Column Formula (Converter na fórmula da coluna). Essa ação garante que todas as novas linhas adicionadas à planilha estejam usando essa fórmula na coluna Today (Hoje).
  4. Salve a planilha.
  5. Antes de voltar para o designer no Bridge, copie o ID da planilha. Para saber o ID da planilha, acesse File (Arquivo) > Properties (Propriedades).

Etapa 3: configurar o acionador

No designer, selecione o elemento Trigger (Acionador) na parte superior do fluxo de trabalho. Essa ação abre um painel no lado direito do designer, onde você pode configurar o tipo de acionador que deseja usar. Como o fluxo de trabalho deve ser acionado por um evento no Smartsheet, o tipo de acionador usado é um Integration Trigger (Acionador de integração).

No painel, selecione Integrations Page (Página Integrações) na seção automaticamente expandida Integrations (Integrações).

Brandfolder Image
Set up the trigger for the API call

Essa ação abre uma nova guia com a página Integrations (Integrações)

  1. Encontre a integração do Smartsheet e selecione o logotipo. 
  2. Selecione Continuar
  3. Selecione Autenticar.
  4. Essa ação abre outra janela perguntando se você deseja permitir o acesso do Bridge à sua conta do Smartsheet. Selecione Permitir.

Se a autenticação foi bem-sucedida, haverá a transição da janela para a guia Triggers (Acionadores).

Brandfolder Image
Triggers tab

Expanda a seção Triggers (Acionadores) e selecione a linha com o ícone de adição:

  1. No campo Sheet ID (ID da planilha), cole o ID da planilha que você copiou ao criá-la. Se você tem certeza de que o nome da planilha é único, também pode digitá-lo.
  2. Na lista suspensa Event Type (Tipo de evento), selecione When Column Values are Changed (Quando os valores da coluna são alterados).
  3. No campo que é adicionado quando você seleciona Event Type (Tipo de evento), digite o nome da coluna Today (Hoje).
  4. Na lista suspensa Select Workflow (Selecionar fluxo de trabalho), escolha o fluxo de trabalho que você criou anteriormente e selecione Save (Salvar).

    Você pode dizer que o acionador foi configurado com sucesso porque o pop-up recarregará e recolherá a seção Triggers (Acionadores).

  5. Feche a guia e volte ao designer.

Erros ao salvar o acionador

Se você receber uma mensagem de erro ao salvar um acionador, revise os seguintes itens:

  • Certifique-se de digitar o nome da coluna exatamente como consta na planilha. 
  • Se você digitou o nome da planilha em vez de usar o ID da planilha, verifique se escreveu exatamente do mesmo jeito. 
  • Se você não for o proprietário da planilha, verifique as permissões da planilha para garantir que ainda tenha acesso a ela.
  • Se já houver outros acionadores configurados, talvez haja um problema com um acionador diferente. Revise os outros acionadores para garantir que não tenha havido uma alteração de permissões em um deles ou que a planilha referenciada no acionador ainda exista.

Etapa 4: configurar o Get Row (Obter linha)

Você configurou o gatilho para executar o fluxo de trabalho ao alterar a coluna Hoje, esta ação agora enviará algumas informações básicas para o Bridge. Para a primeira etapa do fluxo de trabalho, você deve recuperar algumas destas informações iniciais: 

  1. Comece definindo a célula de data na primeira linha como a data de hoje. Essa ação deve marcar automaticamente a caixa na coluna Today (Hoje) devido à fórmula que você inseriu anteriormente. 
  2. Salve a planilha e volte para o designer no Bridge.
  3. Abra o Run Log (Registro de execução). A princípio, ele está vazio, então selecione Refresh (Atualizar). Essa ação atualiza o painel. Uma execução deve aparecer com o status Completed (Concluído).
  4. Para revelar os dados iniciais enviados para o Bridge usando o Smartsheet, clique na execução, expanda a linha Trigger (Acionador) e, em seguida, expanda a linha Event (Evento)
  5. Passe o mouse sobre rowId nos dados do acionador e selecione o ícone de mais para revelar uma lista suspensa. 
  6. Na lista suspensa, selecione Copy Data Reference (Copiar referência dos dados). Essa ação copia uma referência no ID da linha que foi alterada para a área de transferência.

    Ao usar a referência em vez da fonte JSON, o fluxo de trabalho sempre obtém a linha que foi alterada em vez de procurar na mesma linha. Isso é importante, pois a mudança de linha provavelmente será diferente entre cada execução do fluxo de trabalho. 

Brandfolder Image
Set up Get Row

Atualizar o estado e adicionar um módulo

  1. Clique no estado esmaecido e altere o campo Name (Nome) para Get Row (Obter linha).

    É uma boa prática nomear os estados de acordo com o que os módulos abaixo fazem para facilitar a leitura dos fluxos de trabalho.

  2. Encontre o módulo Get Row (Obter linha) no menu à esquerda. Para encontrá-lo, use o campo de pesquisa ou expanda Integrations (Integrações) > Smartsheet > Get Row (Obter linha).
  3. Arraste o módulo até o fluxo de trabalho com estado esmaecido. Um painel para configurar o módulo é aberto automaticamente. 
  4. No campo Row ID (ID da linha), cole a referência que você copiou do rowId no Run Log (Registro de execução). O valor colado deve ser {{runtime.event.rowId}}.
  5. Para obter o ID da planilha, abra o Run Log (Registro de execução) novamente e encontre o ID expandindo os dados do acionador. Copie a referência no ID da planilha como você fez no ID da linha, selecionando o ícone de mais.
  6. Clique no módulo Get Row (Obter linha) novamente e cole a referência no campo Sheet (Planilha). O valor colado deve ser {{runtime.sheetID}}.
  7. Selecione Excluir na parte superior da página.

    Brandfolder Image
    Update the state and add a module

Etapa 5: configurar a junção

Agora você precisa determinar se a alteração na caixa de seleção na planilha foi porque a caixa foi marcada ou desmarcada. Uma caixa desmarcada deve ser ignorada. No entanto, se o status da caixa mudar e ela estiver marcada, isso significa que a data definida na coluna Date (Data) é a data de hoje e você precisa coletar a previsão do tempo.

Para isso, faça referência à célula com a caixa de seleção:

  1. Volte para a planilha e altere a data na linha adicionada anteriormente para desmarcar a caixa. Depois disso, salve a planilha.
  2. No Bridge, abra o Run Log (Registro de execução) novamente e selecione All Runs (Todas as execuções) no canto superior esquerdo do painel. Atualize a lista para ver uma nova execução concluída no topo da lista. 
  3. Abra essa nova execução e expanda a etapa Smartsheet: Get Row (Obter linha) para revelar os dados da linha.
  4. Em row (linha) > cells (células) > Today (Hoje), você pode ver que o valor é false (falso). Isso indica que a caixa de seleção na coluna Today (Hoje), na linha que foi alterada, estava desmarcada. 
  5. Usando o menu suspenso, copie a referência de dados desse valor.

Adicionar uma junção condicional de correspondência

O próximo passo é adicionar uma junção para verificar se o valor corresponde aos valores de texto true (verdadeiro) (marcada) ou false (falso) (desmarcada). 

  1. No campo de pesquisa, digite Match (Corresponder) ou encontre a junção expandindo Utilities (Utilitários) > Conditional Junctions (Junções condicionais) > Match (Corresponder).  
  2. Arraste a junção no módulo Get Row (Obter linha) e nomeie-a como Today's Date (Data de hoje).

Essa junção consiste em três componentes: a junção em si e dois estados de recurso temporário. Você pode encontrar mais estados para arrastar até o fluxo de trabalho na parte superior do menu à esquerda em Pinned Items (Itens fixados) > New State (Novo estado).

Adicionar estados à junção

  1. Arraste um novo estado até o recurso temporário success (sucesso) e nomeio-o como true (verdadeiro)
  2. Arraste outro novo estado até o recurso temporário failure (falha) e nomeio-o como false (falso).

Adicionar a referência de dados à junção

  1. Selecione a junção Today's Date (Data de hoje) para abrir o painel de configuração. 
  2. No campo First Value (Primeiro valor), cole a referência que você copiou.
    O valor colado deve ser {{states.Get Row.smartsheet.get_row.row.cells.Today.value}}
  3. No campo Second Value (Segundo valor), digite a palavra true (verdadeiro)
  4. Salve o que você criou até agora.

    Brandfolder Image
    Add data reference to the junction

Etapa 6: configurar a primeira chamada à API

Configurar um perfil para suas chamadas à API

Para recuperar dados de previsão do tempo, primeiro você precisa criar um perfil para suas chamadas à API para o serviço meteorológico dos EUA. Os perfis são uma forma de salvar informações importantes para as APIs do sistema às quais você deseja conectar seus fluxos de trabalho.

  1. Na sua conta do Bridge, acesse a guia Integrations (Integrações).
  2. Selecione o utilitário Call API (Chamar API).
  3. Selecione Continue (Continuar) > Add to Profiles (Adicionar a perfis).

    Brandfolder Image
    Set up a profile for you API calls

     

  4. Dê um nome ao perfil. Cada nome de perfil deve ser único. Por exemplo: US Weather (Meteorologia dos EUA).
  5. No campo Base URL (URL base), insira https://api.weather.gov.
  6. Expanda o menu suspenso Headers (Cabeçalhos):
    • No campo Key #1 (1ª chave), insira User-Agent (Usuário-Agente).
    • No campo Value #1 (1º valor), digite o nome da sua empresa e o e-mail, separados por vírgula.

      Este é um requisito do serviço meteorológico dos EUA para que a equipe possa entrar em contato com você se vir atividades ou comportamentos inesperados nos registros.

  7. Salve o perfil.
  8. Retorne ao fluxo de trabalho.

 

Configurar o módulo Make API Call (Fazer chamada à API) no fluxo de trabalho

A primeira chamada à API identifica o ponto de grade de um local inserido na planilha.

  1. Encontre o módulo Make API Call (Fazer chamada à API) usando o campo de pesquisa ou expandindo Utilities (Utilitários) > Utility Funcions (Funções de utilitário) > Make API Call (Fazer chamada à API).
  2. Arraste-o até o fluxo de trabalho com o estado true (verdadeiro).
  3. No módulo Make API Call (Fazer chamada à API), selecione o perfil criado no menu suspenso.
  4. No campo Endpoint, inclua os seguintes pontos: points/{{states.Get Row.smartsheet.get_row.row.cells.Longitude.value}},{{states.Get Row.smartsheet.get_row.row.cells.Latitude.value}}
  5. Defina o Method (Método) como GET (OBTER).
  6. Salve o fluxo de trabalho.

    Brandfolder Image
    Set up the first API call

Referências de dados para a chamada de grade

O URL acima foi criado para você, pois não é necessário entender como as solicitações à API funcionam para este guia. Esse URL faz referência aos valores de longitude e latitude na linha que acionou o fluxo de trabalho.

Se você quiser obter essas informações por conta própria, precisará acionar o fluxo de trabalho novamente. Desta vez, você precisa verificar se a caixa de seleção está marcada. Adicione informações em uma nova linha em vez de usar a primeira e defina a data como hoje para que o fluxo de trabalho desça pela ramificação esquerda da junção.

Coordenadas

O serviço meteorológico dos EUA requer até quatro casas decimais para as coordenadas.

Etapa necessária

Você também precisa de coordenadas a serem inseridas nos campos Longitude e Latitude. Por exemplo, você pode usar 47.6174 e -122.2001 para obter o clima do escritório do Smartsheet em Bellevue.


Etapa 7: configurar a segunda chamada à API

A segunda chamada à API recupera a previsão do serviço meteorológico dos EUA com base nos pontos de grade localizados anteriormente. Para configurar isso, você deve adicionar um novo estado e outro módulo Make API Call (Fazer chamada à API) ao fluxo de trabalho. 

  1. Arraste e solte um novo state (estado) dos itens fixados na parte superior do menu à esquerda e nomeie-o como Get Forecast (Obter previsão do tempo). 
  2. Em seguida, arraste outro módulo Make API Call (Fazer chamada à API) com o novo estado.
  3. No módulo Make API Call (Fazer chamada à API), selecione o perfil que acabou de ser criado no menu suspenso.
  4. No campo Endpoint, inclua o seguinte: gridpoints/{{states.true.call_api.make_api_call.response.properties.gridId}}/{{states.true.call_api.make_api_call.response.properties.gridX}},{{states.true.call_api.make_api_call.response.properties.gridY}}/forecast
  5. Defina o Method (Método) como GET (OBTER).
  6. Salve o fluxo de trabalho.

    Brandfolder Image
    Set up the second API call

Referências de dados para a chamada de previsão

Se você quiser obter as referências de dados usadas no ponto de extremidade acima de si mesmo, acione o fluxo de trabalho novamente. Verifique se a linha alterada ou adicionada tem a data de hoje para que a caixa de seleção seja marcada.

Depois de criar a linha e salvar a planilha, encontre a última execução no Run Log (Registro de execução) e expanda a última etapa: Call API: Make API Call (Chamada à API: fazer chamada à API). Em Output (Saída) > properties (propriedades), localize os campos gridId, gridX e gridY. Em seguida, você pode usar essas referências no URL da chamada para o serviço meteorológico.


Etapa 8: configurar a linha de atualização

Agora que você pode obter dados meteorológicos com o fluxo de trabalho, a última etapa é atualizar a planilha com a previsão.

Adicionar a planilha e os IDs da linha

  1. Acione o fluxo de trabalho novamente. Verifique se a linha alterada ou adicionada tem a data de hoje para que a caixa de seleção seja marcada.
  2. Adicione outro estado no último módulo de chamada de API e nomeie-o como Update Row (Atualizar linha). 
  3. Pesquise o módulo Update Row (Atualizar linha) ou o localize expandindo Integrations (Integrações) > Smartsheet > Update Row (Atualizar linha).
  4. No Run Log (Registro de execução), expanda Trigger (Acionador) da última execução e localize os valores de ID da planilha e da linha. 
  5. Use as referências de dados para definir os campos Sheet ID (ID da planilha) e Row ID (ID da linha) do módulo Update Row (Atualizar linha).

Adicionar a referência de dados de previsão detalhada

  1. Volte para o Run Log (Registro de execução) e expanda a última etapa (o último dos dois módulos Make API Call [Fazer chamada à API]). Os dados do Serviço Meteorológico dos EUA, incluindo previsões meteorológicas de sete dias, fornecem uma série de informações. 
  2. Encontre o clima atual em Output (Saída) > properties (propriedades) > periods (períodos) > 0.
  3. Neste fluxo de trabalho, convém usar a referência a detailedForecast. Copie a referência de dados. 
  4. Abra o módulo Update Row (Atualizar linha) novamente e expanda a seção Cells (Células). 
  5. Cole a referência no campo Value # (Nº do valor). O valor colado deve ser: {{states.Get Forecast.call_api.make_api_call.response.properties.periods.0.detailedForecast}} 
  6. No campo Key #1 (1ª chave), insira o nome da coluna Weather Forecast (Previsão do tempo).
  7. Salve o fluxo de trabalho.

Se você quiser garantir que o fluxo de trabalho não falhe se o serviço meteorológico dos EUA não puder retornar informações, poderá ajustar a referência de dados no campo Value # (Nº do valor)  como: {{states.Get Forecast.call_api.make_api_call.response.properties.periods.0.detailedForecast||Unable to fetch weather data}}
Isso garantirá que o módulo atualize a linha com o texto após os símbolos “||” se não houver dados em detailedForecast.

Brandfolder Image
Add detailed forecast data reference

Fluxo de trabalho concluído

Seu fluxo de trabalho é executado sempre que você adiciona uma nova linha (descendo o ramo esquerdo ou direito da junção). Ele também é executado  sempre que a data de hoje for a data definida em uma linha existente. A coluna Weather Forecast (Previsão do tempo) na planilha será preenchida automaticamente se o fluxo de trabalho descer pela ramificação esquerda da junção ou se a caixa Today (Hoje) estiver marcada.