Acciones personalizadas
Las Actions de Frame.io proporcionan acceso rápido a operaciones multimedia habituales, como descargar, cambiar el nombre y duplicar elementos, y también permiten mostrar integraciones con herramientas y servicios de terceros directamente en la interfaz de usuario de Frame.io.
Acerca de Actions
Con la introducción de Custom Actions, los desarrolladores pueden configurar y gestionar sus propias Actions en Frame.io V4. Al aprovechar el mismo sistema de eventos subyacente que los Webhooks, Custom Actions ofrece a los desarrolladores un mecanismo alternativo para conectar sus activos con las herramientas más importantes para los usuarios de su cuenta de Frame.io.
Cualquier usuario que sea Member del Workspace de Frame.io donde esté activada la Action puede ejecutarla. Al ejecutar una Action, Frame.io envía una carga útil a la URL que proporcione. La aplicación receptora responde con un código de estado HTTP para confirmar la recepción, o con una devolución de llamada personalizada para representar campos de formulario adicionales en la IU de Frame.io. La aplicación receptora puede ser un programa o servicio alojado propio, o incluso una herramienta IPaaS de bajo código o sin código, como Workfront Fusion o Zapier.
Use Custom Actions para crear integraciones directamente en Frame.io como componentes de IU programables. Esto permite crear flujos de trabajo que los usuarios pueden activar desde la aplicación, aprovechando el mismo enrutamiento de eventos subyacente que los webhooks. Puede crear formularios de uno o varios pasos activados por el usuario que vuelven a Frame.io como otro formulario o como una respuesta básica. Y, cuando un usuario hace clic en una Custom Action en un Asset, Frame.io envía una carga útil a la URL que proporcione. La aplicación receptora responde con un código de estado HTTP para confirmar la recepción, o responde con una devolución de llamada personalizada que puede representar IU adicional en Frame.io.
Mejoras de Actions en V4
A partir de lo aprendido con los usuarios de la versión heredada, hemos incluido varias mejoras en el conjunto de funciones de Actions en Frame.io V4:
Antes, se limitaban a campos de texto y de selección única. Ahora también se admiten campos de selección múltiple área de texto para cuadros de texto más grandes y booleanos para botones de opción.
Los campos de texto no facilitan que los usuarios copien y peguen URL. Use el nuevo campo de vínculo para ofrecer una experiencia sencilla de copia con un solo clic.
Según la cantidad de datos devueltos, el modal de la Action se redimensionará de forma dinámica para adaptarse mejor a la información del formulario, incluidos modales desplazables cuando sea necesario.
Configure la Action para dirigirse a un máximo de 100 Assets en una sola solicitud.
NUEVO
Las Actions no se limitan a un solo tipo de Asset: se pueden activar en una combinación de Files, Folders y Version Stacks.
Queremos conocer la opinión de desarrolladores y usuarios sobre cómo usan Actions, por lo que hemos incluido un formulario de comentarios en la página de configuración de web.
Actions migradas
Hay algunos aspectos que se deben tener en cuenta al migrar a una Account de Frame.io V4 que contenga Custom Actions creadas anteriormente en la versión heredada de Frame.io.
Estado de Action
Tras la migración de una Account a Frame.io V4, todas las Custom Actions creadas en versiones anteriores tendrán el estado null y se desactivarán automáticamente. Esto permite a los usuarios actualizar primero las Actions para usar la API V4 antes de activarlas, ya que cualquier Action que no se haya actualizado fallará. Para identificar las Actions en este estado, visite la página Actions Settings y consulte la columna Status. Si usa la API, compruebe el campo is_active.
Recursos procesables: Files, Folders y Version Stacks
Dado que los tipos de Asset se han separado como recursos independientes en la API V4 de Frame.io, es posible que deba tener en cuenta ciertos comportamientos al interpretar el ID de recurso recibido en la carga útil de la Action. El comportamiento de los Files individuales es sencillo, ya que el ID reflejará el File específico en el que se ha ejecutado la Action. Lo mismo ocurre con Folders: recibirá el ID del Folder en el que se ha ejecutado la Action. Sin embargo, según el caso de uso, tiene varias opciones al definir el comportamiento de la Action. Use este ID para realizar llamadas posteriores a la API de Frame.io si desea interactuar con este recurso. Como alternativa, puede obtener los elementos secundarios de ese Folder para seguir procesando los activos que contiene. Cuando se ejecuta una acción en un Version Stack, la carga útil contiene el ID del Head Asset, que es el File situado en la parte superior del Stack y el que se muestra en la IU de Frame.io.
Puede obtener más información sobre las diferencias entre la API heredada de Frame.io y V4 en nuestra Guía de migración.
Configure Custom Actions con la API.
Una Custom Action requiere lo siguiente:
Configuración de la Custom Action
Cuando un usuario activa una Custom Action, Frame.io envía una carga útil a la URL que proporcione. La aplicación receptora puede responder con un código de estado HTTP para confirmar la recepción, o con una devolución de llamada personalizada que representa IU adicional en Frame.io.
Se requieren permisos de Account Admin para crear Custom Actions para un Workspace. Solicite al Admin que modifique sus permisos si no tiene acceso.
Configuración de varios activos
La compatibilidad con varios Assets se controla mediante la configuración y debe activarse explícitamente desde el modal de configuración de la Action en web. Esto se puede hacer al crear una Action nueva o al actualizar una existente.
Cuando la compatibilidad con varios Assets está activada, el formato de la carga útil cambia inmediatamente. Las cargas útiles heredadas y las compatibles con varios Assets son mutuamente excluyentes.
Carga útil de Frame.io
Cuando el usuario hace clic en la Custom Action, se envía una carga útil a la URL definida en el campo URL. Use esta carga útil para identificar lo siguiente:
-
En qué Custom Action se ha hecho clic
-
En qué recurso(s) se ha hecho clic
-
Qué usuario ha realizado la acción
-
Qué tipo de evento se ha activado
-
Qué Account está asociada a la Custom Action
-
Qué Workspace está asociado a la Custom Action
-
Qué Project contiene los recursos
Carga útil: compatibilidad con Assets individuales o varios Assets
Originalmente, las Custom Actions solo aceptaban un Asset por solicitud mediante un objeto resource que contenía un Asset. Con la compatibilidad con varios Assets activada, la carga útil usa una lista resources de uno o varios Assets, con un máximo de 100 Assets en una solicitud.
Carga útil heredada: solo compatibilidad con un Asset individual
Migración desde la carga útil heredada
Carga útil heredada programada para desuso
La carga útil heredada está planificada para quedar en desuso, por lo que se recomienda encarecidamente a los usuarios que migren sus servicios para procesar la nueva carga útil.
Al activar el indicador de configuración y actualizar la gestión de la carga útil, una Action puede pasar sin problemas a admitir una carga útil con varios Assets.
-
Sustituya el uso del objeto
resourcesingular por la listaresources. Actualice el código para iterar por la listaresources -
Active el indicador Multi-Asset en la configuración de Actions
Interacciones, reintentos y tiempos de espera
interaction_id es un identificador único que permite realizar el seguimiento de la interacción a medida que evoluciona con el tiempo. Si no necesita responder al usuario, devuelva un código de estado 200 y habrá terminado. Aunque es opcional, recomendamos incluir información sobre el resultado de la acción, como un mensaje de confirmación o una alerta de error. Las Custom Actions admiten Message Callbacks.
Frame.io espera una respuesta en menos de 10 segundos y vuelve a intentarlo hasta 5 veces mientras espera una respuesta correcta. Lo ideal es que la respuesta sea inmediata y que las acciones asíncronas se produzcan después de un activador mediante una Custom Action.
Creación de un Message Callback
En la respuesta HTTP al evento de webhook, puede devolver un objeto JSON que describa un mensaje que se devolverá al usuario que inició la acción en la IU de Frame.io.
Los mensajes permiten proporcionar comentarios al usuario directamente en la IU de Frame.io. Si necesita recopilar información adicional del usuario, use Form Callbacks.
Creación de un Form Callback
Supongamos que necesita más información antes de iniciar el proceso. Por ejemplo, puede que vaya a cargar contenido en un sistema que requiere detalles adicionales. Puede describir un Form en la respuesta, que el usuario rellena y le envía de vuelta. Este es un ejemplo:
Cuando el usuario envía el formulario, recibirá un evento en la misma URL que el POST inicial:
Todos los campos personalizados añadidos a un formulario aparecen en la sección data de la carga útil JSON enviada por Frame.io. Use interaction_id para asignar la solicitud inicial y estos nuevos datos de formulario. Puede responder con un mensaje o encadenar otro formulario. Al encadenar Actions, Forms y Messages, puede programar eficazmente flujos de trabajo de varios pasos en Frame.io con lógica empresarial de un sistema externo.
Detalles del formulario
Al igual que los mensajes, los Forms admiten los atributos title y description, que se representan en la parte superior del Form. Además, cada campo de formulario acepta los siguientes atributos base:
- type: Indica a la IU de Frame.io qué tipo de datos debe esperar, así como qué componente debe representar. * label: Aparece en la IU como encabezado sobre el campo.
- name: Clave con la que se identificará el campo en la carga útil posterior. * value: Valor con el que se rellenará previamente el campo.
Tipos de campo admitidos
Campo de texto
Campo de texto simple sin parámetros adicionales.
Área de texto
Área de texto simple sin parámetros adicionales.
Lista de selección
Define una lista de selección entre la que puede elegir el usuario. Debe incluir una lista options y cada uno de sus miembros debe incluir un name legible por una persona y un value que pueda analizar una máquina.
Casilla
Casilla simple sin parámetros adicionales.
Vínculo
Vínculo simple sin parámetros adicionales.
Modelo de permisos de Frame.io
Custom Actions tiene un modelo de permisos especial: pertenecen a un Workspace, no a un usuario específico que exista en una Account. Esto significa lo siguiente:
-
Cualquier Admin puede crear una Custom Action en un Workspace.
-
Cualquier Admin puede modificar o eliminar una Custom Action que exista en un Team.
-
Una vez modificada, todos los usuarios verán inmediatamente el resultado del cambio.
Seguridad y verificación
De forma predeterminada, todas las Custom Actions tienen una clave de firma que se genera durante su creación. Esta clave no se puede configurar. Puede usarse para verificar que la solicitud procede de Frame.io. La solicitud POST incluye lo siguiente:
La marca de tiempo indica la hora a la que se firmó la solicitud al salir de la red de Frame.io. Puede usarse para evitar ataques de reproducción. Recomendamos verificar que esta hora esté dentro de un intervalo de 5 minutos con respecto a la hora local.
La firma es un hash HMAC SHA-256 que usa la clave de firma proporcionada al crear la Custom Action por primera vez.
Verificación de la firma
La firma proporcionada lleva el prefijo v0=. Actualmente, Frame.io solo tiene esta versión para firmar solicitudes. Deberá añadir este prefijo a la firma calculada.
Comentarios
Nos gustaría conocer la opinión de desarrolladores y usuarios sobre cómo les gustaría usar Actions en Frame.io V4. Póngase en contacto con nosotros para enviarnos preguntas, ideas y casos de uso que nos ayuden a definir prioridades.