Azioni personalizzate
Le azioni di Frame.io permettono di accedere rapidamente alle operazioni multimediali più comuni, come scaricare, rinominare e duplicare i contenuti. Inoltre, consentono di integrare strumenti e servizi di terze parti direttamente nell’interfaccia di Frame.io.
Informazioni sulle azioni
Con l’introduzione delle azioni personalizzate, gli sviluppatori possono configurare e gestire le proprie azioni in Frame.io V4.Sfruttando lo stesso sistema di eventi alla base dei webhook, le azioni personalizzate costituiscono un meccanismo alternativo che permette agli sviluppatori di collegare le risorse agli strumenti più importanti per gli utenti del loro account Frame.io.
Le azioni possono essere eseguite da qualsiasi utente che faccia parte dell’area di lavoro Frame.io in cui è abilitata l’azione. Durante l’esecuzione di un’azione, Frame.io invia un payload a un URL fornito dall’utente. L’applicazione ricevente risponde con un codice di stato HTTP per confermare la ricezione, oppure con un callback personalizzato per visualizzare altri campi di modulo nell’interfaccia di Frame.io. L’applicazione ricevente può essere un programma in hosting, un servizio o persino uno strumento IPaaS low-code/no-code come Workfront Fusion o Zapier.
Usa le azioni personalizzate per creare delle integrazioni direttamente in Frame.io come componenti programmabili dell’interfaccia utente.In questo modo vengono abilitati vari flussi di lavoro che possono essere attivati dagli utenti all’interno dell’app, sfruttando lo stesso indirizzamento di eventi sottostante dei webhook. Puoi creare moduli con uno o più passaggi attivati dall’utente che riportano a Frame.io sotto forma di modulo diverso o risposta di base. Quando un utente fa clic su un’azione personalizzata in una risorsa, Frame.io invia un payload a un URL che fornisci. L’applicazione ricevente risponde con un codice di stato HTTP per riconoscere la ricezione oppure risponde con un callback personalizzato che permette di mostrare un’interfaccia utente aggiuntiva in Frame.io.
Miglioramenti delle azioni in V4
Sfruttando i feedback degli utenti della versione legacy, abbiamo incluso diversi miglioramenti al set di funzionalità delle azioni in Frame.io V4:
Azioni migrate
Ci sono alcune cose da tenere a mente quando si esegue la migrazione a un account Frame.io V4 contenente azioni personalizzate create nella versione legacy di Frame.io.
Stato delle azioni
Dopo la migrazione dell’account a Frame.io V4, tutte le azioni personalizzate create nelle versioni precedenti avranno uno stato “null” e verranno disabilitate automaticamente. In questo modo, gli utenti possono aggiornare preventivamente le azioni per utilizzare l’API V4 prima dell’abilitazione, poiché le azioni non aggiornate non funzioneranno. Per identificare le azioni in questo stato, visita la pagina delle impostazioni delle azioni e controlla la colonna dello stato oppure, se utilizzi l’API, controlla il campo is_active.
Risorse utilizzabili: file, cartelle e stack di versioni
Data la separazione dei tipi di risorsa come risorse a parte nell’API Frame.io V4, potrebbe esserci un comportamento da considerare quando si interpreta l’ID risorsa ricevuto nel payload dell’azione. Il comportamento per i singoli file è semplice, poiché l’ID riflette il file specifico su cui è stata eseguita l’azione. Come nel caso delle cartelle, ricevi l’ID della cartella su cui è stata eseguita l’azione; tuttavia, a seconda del caso d’uso, hai diverse opzioni per definire il comportamento dell’azione. Usa l’ID cartella per effettuare chiamate successive all’API Frame.io se vuoi interagire con la risorsa cartella stessa. In alternativa, potresti voler ottenere gli elementi figlio di quella cartella per eseguire ulteriori elaborazioni sulle risorse al suo interno. Quando un’azione viene eseguita su uno stack di versioni, il payload contiene l’ID per “Head Asset”, che è il file più in alto nello stack ed è quello mostrato nell’interfaccia utente Frame.io.
Scopri di più sulle differenze tra l’API Frame.io legacy e la V4 nella nostra guida alla migrazione.
Configura le azioni personalizzate con l’API.
Un’azione personalizzata richiede:
Configura l’azione personalizzata
Quando un utente attiva un’azione personalizzata, Frame.io invia un payload a un URL che fornisci. L’applicazione ricevente può rispondere con un codice di stato HTTP per riconoscere la ricezione oppure rispondere con un callback personalizzato che permette di mostrare un’interfaccia utente aggiuntiva in Frame.io.
Sono richieste autorizzazioni come amministratore dell’account per creare azioni personalizzate per un’area di lavoro. Chiedi al tuo amministratore di modificare le tue autorizzazioni se non hai accesso.
Configurazione multi-risorsa
Il supporto multi-risorsa è basato sulla configurazione e deve essere abilitato esplicitamente dalla finestra di configurazione dell’azione sul web. Questa operazione può essere eseguita durante la creazione di una nuova azione o quando aggiorni un’azione esistente.
Se il supporto multi-risorsa è abilitato, il formato del payload cambia immediatamente. I payload legacy e quelli che supportano più risorse si escludono a vicenda.
Payload da Frame.io
Quando l’utente fa clic sull’azione personalizzata, un payload verrà inviato all’URL specificato nel campo URL. Usa questo payload per identificare:
Payload - Supporto per singola risorsa o multi-risorsa
Le azioni personalizzate accettavano originariamente solo una risorsa per richiesta, utilizzando un oggetto resource contenente una sola risorsa. Con il supporto multi-risorsa abilitato, il payload utilizza un elenco di resources con una o più risorse (con un massimo di 100 risorse in una richiesta).
Payload legacy - Solo supporto per singola risorsa
Migrazione dal payload legacy
Il payload legacy è pianificato per essere deprecato. Suggeriamo fortemente agli utenti di migrare i loro servizi per elaborare il nuovo payload.
Abilitando il flag della configurazione e aggiornando la gestione del payload, un’azione può passare senza problemi al supporto di un payload multi-risorsa.
-
Sostituisci l’utilizzo del singolo oggetto
resourcecon l’elenco diresources2. Aggiorna il codice per iterare sull’elenco diresources -
Abilita il flag multi-risorsa nella configurazione delle azioni
Interazioni, nuovi tentativi e timeout
L’interaction_id è un identificatore univoco per tenere traccia dell’interazione mentre si evolve nel tempo. Se non è necessario rispondere all’utente, restituisce un codice di stato 200. Sebbene sia facoltativo, consigliamo di includere delle informazioni sul risultato dell’azione, come un messaggio di operazione riuscita o un avviso di errore. Le azioni personalizzate supportano i callback dei messaggi.
Frame.io si aspetta una risposta in meno di 10 secondi e tenta di riprovare fino a 5 volte in attesa di una risposta positiva. Idealmente la risposta è immediata e le azioni asincrone si verificano dopo un trigger tramite un’azione personalizzata.
Crea un callback del messaggio
Nella risposta HTTP all’evento webhook, puoi restituire un oggetto JSON che descrive un messaggio che verrà restituito all’utente che ha avviato l’azione nell’interfaccia utente di Frame.io.
I messaggi consentono di fornire feedback all’utente direttamente nell’interfaccia utente di Frame.io. Se devi raccogliere informazioni aggiuntive dall’utente, usa i callback dei moduli.
Crea un callback del modulo
Supponiamo che tu abbia bisogno di maggiori informazioni prima di iniziare il processo. Ad esempio, potresti caricare dei contenuti in un sistema che richiede dettagli aggiuntivi. Puoi descrivere un modulo nella risposta, che l’utente compila e ti invia. Ecco un esempio:
Quando l’utente invia il modulo, riceverai un evento sullo stesso URL del POST iniziale:
Tutti i campi personalizzati aggiunti a un modulo appaiono nella sezione data del payload JSON inviato da Frame.io. Utilizza l’interaction_id per mappare la richiesta iniziale e questi nuovi dati del modulo. Puoi rispondere con un messaggio o concatenare un altro modulo. Concatenando azioni, moduli e messaggi, puoi programmare in modo efficace flussi di lavoro multi-fase in Frame.io, usando la logica di business di un sistema esterno.
Dettagli del modulo
Come per i messaggi, i moduli supportano gli attributi title e description che vengono visualizzati nella parte superiore del modulo. Oltre a questo, ogni campo del modulo accetta i seguenti attributi di base:
Tipi di campi supportati
Campo di testo
Un semplice campo di testo senza parametri aggiuntivi.
Area di testo
Una semplice area di testo senza parametri aggiuntivi.
Elenco di selezione
Definisce un elenco di selezione da cui l’utente può scegliere. Deve includere un elenco di opzioni (options), ognuna delle quali deve includere un nome (name) leggibile dall’uomo e un valore (value) analizzabile dalla macchina.
Casella di controllo
Una semplice casella di controllo senza parametri aggiuntivi.
Link
Un semplice link senza parametri aggiuntivi.
Il modello di autorizzazioni di Frame.io
Le azioni personalizzate seguono un modello di autorizzazioni speciale: appartengono a un’area di lavoro, non a un utente specifico che esiste in un account. Ciò significa che:
Sicurezza e verifica
Per impostazione predefinita, per tutte le azioni personalizzate viene generata una chiave di firma durante la creazione. Non è configurabile. Questa chiave può essere utilizzata per verificare che la richiesta provenga da Frame.io. Nella richiesta POST sono inclusi i seguenti elementi:
Verifica della firma
La firma fornita ha il prefisso v0=. Al momento Frame.io ha solo questa versione per firmare le richieste. Dovrai aggiungere questo prefisso alla firma calcolata.
Feedback
Ci piacerebbe conoscere l’opinione di sviluppatori e utenti finali su come vorrebbero utilizzare le azioni in Frame.io V4. Assicurati di comunicarci domande, idee e casi d’uso per aiutarci nella definizione delle priorità.