Información general sobre las acciones personalizadas
Información general sobre las acciones personalizadas
<Info title=“Aplicaciones de ejemplo”>
Si desea crear su propia aplicación de acciones personalizadas, nuestras aplicaciones de muestra le ayudarán a empezar:
</Info>
Las acciones personalizadas son una forma de crear integraciones directamente en Frame.io como componentes de la IU programables. Esto permite una clase completa de flujos de trabajo que los usuarios pueden activar dentro de la aplicación, aprovechando el mismo enrutamiento de eventos subyacente que los webhooks. Actualmente, las acciones personalizadas están disponibles para activos y se muestran en el menú desplegable contextual/clic con el botón derecho del ratón disponible en cualquier activo, como se muestra en la imagen que aparece a continuación. <img alt=“actions-1” src=“file:docs/pages/v2/images/actions-1.png”>
Un activo es una representación sólida de un archivo en S3 y su contexto en Frame.io. Esto incluye transcodificaciones, contexto de usuario/equipo/proyecto y metadatos. Cuando un usuario hace clic en una acción personalizada en un activo, Frame.io enviará una carga útil a una URL que proporcione. La aplicación de recepción puede entonces responder con un código de estado HTTP para simplemente confirmar la recepción, o puede responder con una devolución de llamada personalizada que puede renderizar la IU adicional en Frame.io.
Configurar su acción personalizada
<Info title=“Compruebe sus permisos”>
Se requieren permisos de responsable de equipo para crear acciones de cliente para un equipo. Pida a su administrador que modifique sus permisos si no tiene acceso.
</Info> Las acciones personalizadas se pueden configurar en el área Acciones personalizadas de developer.frame.io. Una acción requiere:
Clic: Qué contiene la carga útil que recibe de Frame.io
Cuando el usuario haga clic en su acción personalizada, se enviará una carga útil a la URL que especificó en el campo URL.
Puede usar esta carga útil para identificar:
- En cuáles de sus acciones personalizadas se hizo clic
- En qué recurso se hizo clic
- Qué usuario realizó la acción
<Info title=“Acerca de las interacciones”>
El interaction_id se proporciona como un identificador único para ayudarle a realizar el seguimiento de la interacción a medida que evoluciona con el tiempo. Si no necesita responder al usuario, simplemente devuelva un código de estado 200 y listo. Aunque es opcional, recomendamos incluir información sobre el resultado de la acción, como un mensaje sencillo que indique que la operación se ha realizado correctamente o una alerta de error. Las acciones personalizadas admiten devoluciones de llamada de mensajes.
</Info>
<Info title=“Reintentos y tiempos de espera”>
Nuestra aplicación espera una respuesta en menos de 5 segundos y lo reintentará hasta 5 veces mientras espera una respuesta correcta. Idealmente debería responder de inmediato y realizar cualquier acción de forma asíncrona después de activarse mediante una acción personalizada.
</Info>
Crear una devolución de llamada de mensaje
En su respuesta HTTP al evento de webhook, puede devolver un objeto JSON que describa un mensaje que se devolverá al usuario que lo inició en la IU de Frame.io. Si quiere probar a generar un mensaje y ver cuál es el resultado, puede utilizar nuestro Generador de acciones personalizadas, que le permite configurar devoluciones de llamada de mensajes o formularios y ver cómo aparecerían en la aplicación web de Frame.io.
A continuación, se muestra un objeto de ejemplo:
Eso mostrará una alerta al usuario que tiene el siguiente aspecto:
<img alt=“actions-3” src=“file:docs/pages/v2/images/actions-3.png”>
Los mensajes son una manera sencilla de cerrar el bucle del ciclo de vida de las acciones, ya que proporcionan contexto variable al usuario que realiza la acción sin pedirle que cambie de contexto.
Esto es suficiente para satisfacer muchos casos de uso, pero a veces la carga útil inicial y las llamadas posteriores a la API de Frame.io no proporcionarán suficiente contexto para la aplicación de recepción. Para estos escenarios, también admitimos Devoluciones de llamada de formulario.
Crear una devolución de llamada de formulario
Supongamos que necesita más información antes de iniciar su proceso. Por ejemplo, puede que esté cargando contenido a un sistema que requiere detalles y configuración adicionales. Puede “describir” un formulario en su respuesta, que el usuario verá realmente. Podrá rellenarlo y se le enviará directamente de vuelta.
A continuación, se muestra un formulario de ejemplo que procesará un formulario en la IU de Frame.io que el usuario inicial que realiza la acción puede rellenar y enviar:
<img alt=“actions-form” src=“file:docs/pages/v2/images/actions-form.png”>
Cuando el usuario envía el formulario, recibirá un evento en la misma URL que la solicitud POST inicial:
Todos los campos personalizados que añadió en su formulario aparecen en la sección data de la carga útil JSON enviada por Frame.io. Utilice el interaction_id para asignar la solicitud inicial y estos nuevos datos del formulario. Y de nuevo, si lo desea, puede responder con un mensaje (o incluso otro formulario).
Al encadenar acciones, formularios y mensajes, puede programar eficazmente flujos de trabajo completos de activos en Frame.io con lógica empresarial desde un sistema externo.
Dé rienda suelta a su creatividad. El cielo es el límite.
Detalles del formulario
Al igual que los mensajes, los formularios son compatibles con los atributos title y description que se procesan en la parte superior del formulario. Además, cada campo del formulario acepta los siguientes atributos base:
type: Indica a la IU de Frame.io qué tipo de datos debe esperar, además de qué componente y procesamiento.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 campos compatibles
Campo de texto
Campo de texto simple sin parámetros adicionales.
Área de texto
Área de texto simple sin parámetros adicionales.
Select list
Defines a picklist that the user can choose from. Must include an options list, each member of which should include a human-readable name, and a machine-parseable value.
**Lista de selección** Define una lista de selección entre la que puede elegir el usuario. Debe incluir una lista deoptionsy cada uno de sus miembros debe incluir unnamelegible por una persona y unvalue` que pueda analizar una máquina. ```json
{
“type”: “select”,
“label”: “Captions”,
“name”: “captions”,
“value”: “off”,
“options”: [
{
“name”: “Off”,
“value”: “off”
},
{
“name”: “On”,
“value”: “on”
}
]
}