Applica a
Avvia un flusso di lavoro vuoto per il Servizio Meteo degli Stati Uniti
Il flusso di lavoro si attiva quando una casella di spunta è selezionata in un foglio in Smartsheet. Utilizza le coordinate di quella riga per ottenere le ultime previsioni meteo dal Servizio Meteo degli Stati Uniti e poi popola la stessa riga in Smartsheet con quei dati.
Who can use this?
Plans:
- Bridge by Smartsheet
Utilizzerai il Servizio Meteo degli Stati Uniti per ottenere previsioni poiché non hai bisogno di un account per accedere ai loro dati meteorologici.
Per ottenere le previsioni è necessario effettuare due chiamate API al Servizio Meteo degli Stati Uniti:
- La prima per individuare il grip point in cui si trova una posizione geografica.
- La seconda per ottenere la previsione per la griglia identificata.
Non è necessario avere dimestichezza con le chiamate API per seguire i passaggi di questa guida, in quanto fornisce tutto il necessario per completare il flusso di lavoro.
Ecco i passaggi per creare il flusso di lavoro:
- Crea il flusso di lavoro
- Crea il foglio
- Autenticati con Smartsheet e configura il trigger
- Configura Get Row (Ottieni riga)
- Imposta la giunzione
- Configura la prima chiamata API
- Configura la seconda chiamata API
- Imposta Update Row (Aggiorna riga)
Passaggio 1 - Crea il flusso di lavoro
- In Bridge, seleziona + dalla dashboard Workflows (Flussi di lavoro).
Assegna un nome al flusso di lavoro e seleziona Create New (Crea nuovo). Questo ti porta alla finestra di progettazione.
Tutti i flussi di lavoro iniziano con un trigger e uno stato.
Passaggio 2 - Crea il foglio
Prima di impostare il trigger in Bridge, devi avere un foglio in Smartsheet che abbia almeno cinque colonne.
Imposta il tuo foglio in modo che abbia i seguenti nomi e tipi di colonne:
Nome della colonna | Tipo di colonna |
---|---|
Data | Data |
Oggi | Casella di spunta |
Longitudine | Testo |
Latitudine | Testo |
Previsioni meteo | Testo |
La colonna Previsioni meteo può essere la colonna principale o una normale colonna di testo.
Nella prima cella della colonna Oggi, incolla la seguente formula:
=IF (Date@row = TODAY (), true, false)
- Seleziona Invio. In questo modo viene selezionata la casella di spunta se il set di dati nella colonna Data è la data odierna, che puoi quindi utilizzare per attivare il flusso di lavoro in Bridge.
- Clicca con il tasto destro del mouse sulla cella con la formula e seleziona Convert to Column Formula (Converti in formula della colonna). In questo modo, tutte le nuove righe aggiunte al foglio utilizzano la formula indicata nella colonna Oggi.
- Salva il foglio.
- Prima di tornare alla finestra di progettazione in Bridge, copia l’ID del foglio. Puoi trovare l’ID del foglio selezionando File > Properties (Proprietà).
Passaggio 3 - Imposta il trigger
Nella finestra di progettazione, seleziona l’elemento Trigger all’inizio del flusso di lavoro. Si apre un pannello sul lato destro della finestra di progettazione, in cui puoi impostare il tipo di trigger che desideri utilizzare. Poiché il flusso di lavoro dovrebbe essere attivato da un evento in Smartsheet, il tipo di trigger utilizzato è un trigger di integrazione.
Nel pannello, seleziona la pagina delle integrazioni nella sezione a espansione automatica Integrations (Integrazioni).
Si apre una nuova scheda con la pagina Integrations (Integrazioni).
- Trova l’integrazione Smartsheet e seleziona il logo.
- Seleziona Continua.
- Seleziona Autentica.
- Questo fa apparire un’altra finestra, in cui viene chiesto se desideri consentire Bridge di accedere al tuo account Smartsheet. Seleziona Allow (Consenti).
Se l’autenticazione è riuscita correttamente, la finestra passa alla scheda Triggers.
Espandi la sezione Triggers e seleziona la riga con l’icona +:
- Nel campo Sheet ID (ID foglio), incolla l’ID del foglio che hai copiato al momento della creazione del foglio. Se sai che il nome del foglio è univoco, puoi anche digitare il nome.
- Nell’elenco a discesa Event Type (Tipo di evento) seleziona When Column Values Are Changed (Quando i valori delle colonne vengono modificati).
- Nel campo che viene aggiunto quando selezioni Event Type (Tipo di evento), inserisci il nome della colonna Today (Oggi).
Nell’elenco a discesa Select Workflow (Seleziona flusso di lavoro), scegli il flusso di lavoro creato in precedenza e seleziona Save (Salva).
Puoi dire che il trigger è stato impostato correttamente perché il popup si ricaricherà e comprimerà la sezione Triggers.
- Chiudi la scheda e torna alla finestra di progettazione.
Errori durante il salvataggio del trigger
Se viene visualizzato un messaggio di errore quando salvi un trigger, esamina gli elementi seguenti:
- Assicurati di aver scritto il nome della colonna esattamente come nel foglio.
- Se hai digitato il nome del foglio invece di utilizzare l‘ID del foglio, controlla che sia esattamente identico.
- Se non sei il proprietario del foglio, verifica le autorizzazioni del foglio per assicurarti di avere ancora accesso.
- Se sono già stati configurati altri trigger, potrebbe essersi verificato un problema con un trigger diverso. Esamina gli altri trigger per assicurarti che non siano state modificate le autorizzazioni per uno di essi o che il foglio a cui si fa riferimento nel trigger esista ancora.
Passaggio 4 - Configura Get Row (Ottieni riga)
Hai impostato il trigger per eseguire il flusso di lavoro quando modifichi la colonna Oggi, questa azione ora invierà alcune informazioni di base a Bridge. Per il primo passaggio del flusso di lavoro, è necessario recuperare alcune di queste informazioni iniziali:
- Inizia impostando la cella della data sulla prima riga sulla data odierna. Questo dovrebbe selezionare automaticamente la casella nella colonna Oggi a causa della formula immessa in precedenza.
- Salva il foglio e torna alla finestra di progettazione in Bridge.
- Apri Run Log (Log di esecuzione). All’inizio è vuoto, quindi seleziona Refresh (Aggiorna). Questo aggiorna il pannello; dovrebbe essere visualizzata un’esecuzione con lo stato Completed (Completata).
- Per visualizzare i dati iniziali inviati a Bridge da Smartsheet, clicca sull’esecuzione, espandi la riga Trigger e poi la riga Event (Evento).
- Passa il cursore del mouse su rowId nei dati trigger e seleziona l’icona altro per visualizzare un elenco a discesa.
Nell’elenco a discesa, seleziona Copy Data Reference (Copia riferimento ai dati). Viene copiato un riferimento all’ID della riga modificato negli appunti.
Utilizzando il riferimento anziché l’origine JSON, il flusso di lavoro ottiene sempre la riga modificata anziché guardare sempre la stessa riga. Questo è importante in quanto la modifica della riga sarà probabilmente diversa tra ogni esecuzione del flusso di lavoro.
Aggiorna lo stato e aggiungi un modulo
Clicca sullo stato in grigio e modifica il campo Name (Nome) in Get Row (Ottieni riga).
È buona norma nominare gli stati in base a ciò che fanno i moduli sottostanti per semplificare la lettura dei flussi di lavoro.
- Trova il modulo Get Row (Ottieni riga) nel menu a sinistra. Utilizza il campo di ricerca o trovalo espandendo Integrations (Integrazioni) > Smartsheet > Get Row (Ottieni riga).
- Trascina il modulo nel flusso di lavoro, sotto lo stato in grigio. Un pannello per impostare il modulo si apre automaticamente.
- Nel campo Row ID (ID riga), incolla il riferimento copiato da rowId nel log di esecuzione. Il valore incollato dovrebbe essere {{runtime.event.rowId}}.
- Per ottenere l’ID del foglio, apri di nuovo il log di esecuzione e trova l’ID del foglio espandendo i dati del trigger. Copia il riferimento all’ID del foglio come hai fatto per l’ID della riga precedente, selezionando l’icona altro.
- Clicca di nuovo sul modulo Get Row (Ottieni riga) e incolla il riferimento nel campo Sheet (Foglio). Il valore incollato dovrebbe essere {{runtime.sheetID}}.
Seleziona Elimina nella parte superiore della pagina.
Brandfolder Image
Passaggio 5 - Imposta la giunzione
Ora devi determinare se la modifica alla casella di spunta nel foglio è dovuta al fatto che la casella è stata selezionata o deselezionata. Una casella deselezionata deve essere ignorata; tuttavia, se la casella diventa selezionata, significa che la data impostata nella colonna Data è la data odierna e che desideri raccogliere le previsioni del tempo.
Per farlo, devi fare riferimento alla cella con la casella di spunta:
- Torna al foglio e modifica la data nella riga aggiunta in precedenza per deselezionare la casella. Quindi salva il foglio.
- In Bridge, apri nuovamente il log di esecuzione e seleziona All Runs (Tutte le esecuzioni) in alto a sinistra del pannello. Aggiorna l’elenco per visualizzare una nuova esecuzione completata in cima all’elenco.
- Apri questa nuova esecuzione ed espandi il passaggio Smartsheet: Get Row (Ottieni riga) per visualizzare i dati della riga.
- In row (riga) > cells (celle) > Oggi puoi vedere che il valore è false (falso). Indica che la casella di spunta nella colonna Oggi, nella riga che è stata modificata, è stata deselezionata.
- Utilizzando l’elenco a discesa, copia il riferimento ai dati di questo valore.
Aggiungi una giunzione condizionale Match (Corrispondenza)
Il passaggio successivo consiste nell’aggiungere una giunzione per verificare se il valore corrisponde ai valori di testo true (vero) (selezionato) o false (falso) (non selezionato).
- Nel campo di ricerca, digita Match (Corrispondenza) o trova la giunzione espandendo Utilities > Conditional Junctions > Match (Utility > Giunzioni condizionali > Corrispondenza).
- Trascina la giunzione sotto il modulo Get Row (Ottieni riga) e denominala Today’s Date (Data odierna).
Questa giunzione è costituita da tre componenti: la giunzione stessa e due stati placeholder. Puoi trovare altri stati da trascinare nel flusso di lavoro nella parte superiore del menu a sinistra in Pinned Items > New State (Elementi fissati > Nuovo stato).
Aggiungi stati alla giunzione
- Trascina un nuovo stato nel placeholder success (riuscito) e denominalo true (vero).
- Trascina un altro stato nel placeholder failure (non riuscito) e denominalo false (falso).
Aggiungi il riferimento dati alla giunzione
- Seleziona la giunzione Today’s Date (Data odierna) per aprire il pannello di configurazione.
- Nel campo First Value (Primo valore) incolla il riferimento copiato.
Il valore incollato deve essere {{states.Get Row.smartsheet.get_row.row.cells.Today.value}} - Nel campo Second Value (Secondo valore), digita la parola true (vero).
Salva ciò che hai creato finora.
Brandfolder Image
Passaggio 6 - Configura la prima chiamata API
Configura un profilo per le chiamate API
Per recuperare i dati delle previsioni meteo, devi prima creare un profilo per le tue chiamate API al Servizio meteo degli Stati Uniti. I profili sono un modo per salvare le informazioni chiave per le API di sistema a cui desideri connettere i flussi di lavoro.
- Nel tuo account Bridge, vai alla scheda Integrations (Integrazioni).
- Seleziona l’utility Call API (Chiamata API).
Seleziona Continue > Add to Profiles (Continua > Aggiungi ai profili).
Brandfolder Image- Assegna un nome al profilo. Ogni nome del profilo deve essere univoco. Ad esempio: Meteo Stati Uniti.
- Nel campo Base URL (URL di base), inserisci https://api.weather.gov.
- Espandi il menu a discesa Headers (Titoli):
- Nel campo Key #1 (Chiave n.1), immetti User-Agent (Utente-Agente).
Nel campo Value #1 (Valore n.1), inserisci il nome della tua azienda e l’e-mail separati da una virgola.
Questo è un requisito del Servizio meteo degli Stati Uniti in modo che possa contattarti se nota attività o comportamenti imprevisti nei registri.
- Salva il profilo.
- Torna al flusso di lavoro.
Configura il modulo Make API Call nel flusso di lavoro
La prima chiamata API identifica il punto della griglia di una posizione immessa nel foglio.
- Trova il modulo Make API Call (Crea chiamata API) utilizzando il campo di ricerca o espandendo Utilities > Utility Functions > Make API Call (Utility > Funzioni utility > Effettua chiamata API).
- Trascinalo nel flusso di lavoro con stato true (vero).
- Nel modulo Make API Call (Crea chiamata API), seleziona il profilo che hai appena creato dal menu a discesa.
- Nel campo Endpoint, includi i seguenti punti: points/{{states.Get Row.smartsheet.get_row.row.cells.Longitude.value}},{{states.Get Row.smartsheet.get_row.row.cells.Latitude.value}}
- Imposta Method (Metodo) su GET (OTTIENI).
Salva il flusso di lavoro.
Brandfolder Image
Riferimenti dati per la chiamata griglia
L’URL sopra riportato è stato creato per te poiché per questa guida non è necessario capire come funzionano le richieste API. Questo URL fa riferimento ai valori di longitudine e latitudine sulla riga che ha attivato il flusso di lavoro.
Se desideri ottenerli tu stesso, devi attivare nuovamente il flusso di lavoro. Questa volta devi assicurarti che la casella di spunta venga selezionata. Aggiungi informazioni in una nuova riga anziché utilizzare la prima e assicurati di impostare la data sulla data odierna in modo che il flusso di lavoro scenda lungo il ramo sinistro della giunzione.
Coordinate
Il Servizio meteo degli Stati Uniti richiede un massimo di quattro cifre decimali per le coordinate.
Passaggio obbligatorio
Hai bisogno delle coordinate per inserirle anche nei campi Longitude (Longitudine) e Latitude (Latitudine). Ad esempio, puoi utilizzare i numeri 47.6174 e -122.2001 per conoscere il meteo presso l’ufficio Smartsheet di Bellevue.
Passaggio 7 - Configura la seconda chiamata API
La seconda chiamata API recupera le previsioni dal Servizio meteo degli Stati Uniti in base ai punti della griglia precedentemente individuati. Per configurarla, è necessario aggiungere un nuovo stato e un altro modulo Make API Call (Crea chiamata API) al flusso di lavoro.
- Trascina e rilascia un nuovo stato dagli elementi fissati nella parte superiore del menu a sinistra e chiamalo Get Forecast (Ottieni previsione).
- Quindi trascina in un altro modulo Make API Call (Crea chiamata API) sotto il nuovo stato.
- Nel modulo Make API Call (Crea chiamata API), seleziona il profilo che hai appena creato dal menu a discesa.
- Nel campo Endpoint, includi quanto segue: 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
- Imposta Method (Metodo) su GET (OTTIENI).
Salva il flusso di lavoro.
Brandfolder Image
Riferimenti ai dati per la chiamata previsioni
Se desideri ottenere i riferimenti ai dati utilizzati nell’endpoint sopra, attiva nuovamente il flusso di lavoro. Assicurati che la riga modificata o aggiunta abbia la data odierna, in modo che la casella di spunta diventi selezionata.
Dopo aver creato la nuova riga e salvato il foglio, individua l’ultima esecuzione nel log di esecuzione ed espandi l’ultimo passaggio: Call API: Make API Call (Chiamata API: Crea chiamata API). In Output > properties (proprietà), individua i campi gridId, gridX e gridY. Puoi quindi utilizzare questi riferimenti nell’URL per la chiamata al servizio meteo.
Passaggio 8 - Imposta Update Row (Aggiorna riga)
Ora che puoi ottenere i dati meteo con il flusso di lavoro, l’ultimo passaggio consiste nell’aggiornare il foglio con le previsioni.
Aggiungi gli ID di foglio e riga
- Attiva di nuovo il flusso di lavoro. Assicurati che la riga modificata o aggiunta abbia la data odierna, in modo che la casella di spunta diventi selezionata.
- Aggiungi un altro stato sotto l’ultimo modulo di chiamata API e chiamalo Update Row (Aggiorna riga).
- Cerca il modulo Update Row (Aggiorna riga) o trovalo espandendo Integrations (Integrazioni) > Smartsheet > Get Row (Ottieni riga).
- Dal log di esecuzione, espandi il Trigger dell’ultima esecuzione e individua l’ID del foglio e i valori ID riga.
- Utilizza i riferimenti ai dati per impostare i campi Sheet ID (ID foglio) e Row ID (ID riga) per il modulo Update Row (Aggiorna riga).
Aggiungi il riferimento ai dati dettagliati della previsione
- Torna al log di esecuzione ed espandi l’ultimo passaggio (l’ultimo dei due moduli Make API Call (Crea chiamata API)). I dati del servizio meteorologico degli Stati Uniti, comprese le previsioni meteorologiche a sette giorni, forniscono una serie di informazioni.
- Trova il meteo corrente in Output > properties (proprietà) > periods (periodi) > 0.
- Per questo flusso di lavoro, si desidera utilizzare il riferimento a detailedForecast. Copiare il riferimento ai dati.
- Apri nuovamente il modulo Update Row (Aggiorna riga) ed espandi la sezione Cells (Celle).
- Incolla il riferimento nel campo Value # (N. valore). Il valore incollato dovrebbe essere: {{states.Get Forecast.call_api.make_api_call.response.properties.periods.0.detailedForecast}}
- Nel campo Key #1 (Chiave #1), inserisci il nome della colonna Weather Forecast (Previsione meteo).
- Salva il flusso di lavoro.
Se vuoi assicurarti che il flusso di lavoro non abbia esito negativo se il Servizio meteo degli Stati Uniti non è in grado di restituire informazioni, puoi modificare il riferimento ai dati nel campo Value # (N. valore) in: {{states.Get Forecast.call_api.make_api_call.response.properties.periods.0.detailedForecast||Unable to fetch weather data}}
Questo assicura che il modulo aggiorni la riga con il testo dopo i simboli ’||’ se non ci sono dati in detailedForecast.
Flusso di lavoro completato
Il flusso di lavoro viene eseguito ogni volta che aggiungi una nuova riga (scendendo lungo il ramo sinistro o destro della giunzione). Funziona inoltre ogni volta che la data odierna è la data impostata su una riga esistente. La colonna Previsioni meteo nel foglio si popola automaticamente se il flusso di lavoro scende lungo il ramo sinistro della giunzione o se è selezionata la casella Today (Oggi).