Ações personalizadas
Ações personalizadas
As Ações do Frame.io fornecem acesso rápido a operações de mídia comuns, como fazer download, renomear e duplicar itens, e também permitem que integrações com ferramentas e serviços de terceiros sejam exibidas diretamente na interface do usuário do Frame.io.
Sobre as Ações
Com a introdução das Ações personalizadas, os desenvolvedores podem configurar e gerenciar suas próprias Ações no Frame.io V4.Aproveitando o mesmo sistema de eventos subjacente dos Webhooks, as Ações personalizadas são um mecanismo alternativo para desenvolvedores conectarem seus ativos às ferramentas mais importantes para os usuários em sua Conta do Frame.io.
As Ações podem ser executadas por qualquer usuário que seja Membro do espaço de trabalho do Frame.io em que a Ação está ativada. Ao executar uma Ação, o Frame.io envia um conteúdo para uma URL fornecida por você. O aplicativo receptor responde com um código de status HTTP para confirmar o recebimento ou com um callback personalizado para renderizar campos de formulário adicionais na IU do Frame.io. O aplicativo receptor pode ser um programa ou serviço hospedado por você, ou até mesmo uma ferramenta IPaaS low-code/no-code, como Workfront Fusion ou Zapier.
Use as Ações personalizadas para criar integrações diretamente no Frame.io como componentes de interface programáveis.Isso habilita fluxos de trabalho que podem ser acionados por usuários dentro do aplicativo, aproveitando o mesmo roteamento de eventos subjacente dos webhooks. Você pode criar formulários de uma ou várias etapas acionados pelo usuário que retornam ao Frame.io como outro formulário ou uma resposta básica. Quando um usuário clica em uma Ação personalizada em um Ativo, o Frame.io envia um conteúdo para uma URL fornecida por você. O aplicativo receptor responde com um código de status HTTP para confirmar o recebimento ou responde com um callback personalizado que pode renderizar uma IU adicional no Frame.io.
Melhorias de Ações na V4
Aproveitando aprendizados obtidos com usuários da nossa versão Legacy, incluímos várias melhorias no conjunto de recursos de Ações no Frame.io V4:
Antes limitados a campos de texto e seleção única, agora também oferecemos suporte a seleção múltipla, área de texto (para uma caixa de texto maior) e campo booleano (para um botão de opção).
Campos de texto não facilitam para os usuários copiar/colar URLs. Use nosso novo campo de link para oferecer uma experiência fácil de copiar com 1 clique.
Dependendo da quantidade de dados retornados, você pode confiar que o modal da sua Ação será redimensionado dinamicamente para melhor acomodar as informações no formulário, incluindo modais roláveis quando necessário.
Configure sua Ação para direcionar até 100 ativos em uma solicitação.
NOVO
Não limitadas a um único tipo de ativo, as Ações podem ser acionadas em uma combinação de arquivos, pastas e pilhas de versões.
Queremos ouvir desenvolvedores e usuários finais sobre como vocês usam Ações, então disponibilizamos um formulário de feedback na página de configurações na Web.
Ações migradas
Há alguns pontos a considerar ao migrar para uma Conta Frame.io V4 que contém Ações personalizadas criadas anteriormente na versão legada do Frame.io.
Status da Ação
Após a migração da Conta para o Frame.io V4, todas as Ações personalizadas criadas em versões anteriores terão status “null” e serão desativadas automaticamente. Isso oferece aos usuários a oportunidade de primeiro atualizar suas Ações para usar a API V4 antes de ativá-las, pois qualquer Ação não atualizada falhará. Para identificar Ações nesse estado, acesse a página Configurações de Ações e consulte a coluna “Status” ou, se estiver usando a API, verifique o campo is_active.
Recursos acionáveis: arquivos, pastas e pilhas de versões
Considerando a separação dos tipos de ativo como recursos separados na API Frame.io V4, pode haver comportamentos a considerar ao interpretar o ID do recurso recebido no conteúdo da sua Ação. O comportamento para Arquivos individuais é direto, pois o ID refletirá o Arquivo específico no qual a Ação foi executada. Da mesma forma, para Pastas, você receberá o ID da Pasta na qual a Ação foi executada. No entanto, dependendo do seu caso de uso, você tem várias opções ao definir o comportamento da Ação. Use o ID da Pasta para fazer chamadas subsequentes à API do Frame.io se quiser interagir com o próprio recurso Pasta. Como alternativa, talvez você queira obter os filhos dessa Pasta para executar processamento adicional nos ativos contidos nela. Quando uma ação é Executada em uma Pilha de versões, o conteúdo conterá o ID do “Ativo principal”, que é o Arquivo mais acima na Pilha e o que é mostrado na IU do Frame.io.
Você pode ler mais sobre as diferenças entre a API Frame.io Legacy e a V4 no nosso Guia de migração.
Configure Ações personalizadas com a API.
Uma Ação personalizada requer:
Configurar sua Ação personalizada
Quando um usuário aciona uma Ação personalizada, o Frame.io envia um conteúdo para uma URL fornecida por você. O aplicativo receptor pode responder com um código de status HTTP para confirmar o recebimento ou responder com um callback personalizado que renderiza IU adicional no Frame.io.
Permissões de administrador da conta são necessárias para criar Ações personalizadas para um espaço de trabalho. Peça ao administrador para modificar suas permissões se você não tiver acesso.
Configuração multiativo
O suporte a multiativo é orientado por configuração e deve ser ativado explicitamente no modal de configuração da Ação na Web. Isso pode ser feito durante a criação de uma nova Ação ou ao atualizar uma Ação existente.
Quando o suporte a multiativo é ativado, o formato do conteúdo é alternado imediatamente. Os conteúdos legados e com suporte a multiativo são mutuamente exclusivos.
Conteúdo do Frame.io
Quando o usuário clica na sua Ação personalizada, um conteúdo é enviado para a URL definida no campo URL. Use esse conteúdo para identificar:
-
Qual Ação personalizada foi clicada
-
Quais recursos foram clicados
-
Qual usuário executou a ação
-
Qual tipo de evento foi acionado
-
Qual conta está associada à Ação personalizada
-
Qual espaço de trabalho está associado à Ação personalizada
-
Qual Projeto contém os recursos
Conteúdo - suporte a ativo único ou multiativo
Originalmente, as ações personalizadas aceitavam apenas um ativo por solicitação usando um objeto resource que continha um ativo. Com o suporte a multiativo ativado, o conteúdo usa uma lista resources de um ou mais ativos, com um máximo de 100 ativos em uma solicitação.
Conteúdo legado - suporte somente a ativo único
Migração a partir do Conteúdo legado
Conteúdo legado planejado para descontinuação
O Conteúdo legado está planejado para descontinuação, e os usuários são fortemente incentivados a migrar seus serviços para processar o novo conteúdo.
Ao ativar o sinalizador de configuração e atualizar o processamento do conteúdo, uma Ação pode fazer uma transição fluida para oferecer suporte a conteúdo multiativo.
-
Substitua o uso do objeto singular
resourcepela listaresources2. Atualize o código para iterar sobre a listaresources -
Ative o sinalizador Multiativo na configuração de Ações
Interações, novas tentativas e tempos-limite
O interaction_id é um identificador exclusivo para rastrear a interação conforme ela evolui ao longo do tempo. Se não precisar responder ao usuário, retorne um código de status 200 e pronto. Embora seja opcional, recomendamos incluir informações sobre o resultado da ação, como uma mensagem de sucesso ou alerta de erro. Ações personalizadas oferecem suporte a callbacks de mensagem.
O Frame.io espera uma resposta em menos de 10 segundos e tenta repetir até 5 vezes enquanto aguarda uma resposta bem-sucedida. O ideal é que a resposta seja imediata e que ações assíncronas ocorram após um acionador por meio de uma Ação personalizada.
Criar um callback de mensagem
Na resposta HTTP ao evento de webhook, você pode retornar um objeto JSON descrevendo uma mensagem que será retornada ao usuário iniciador na IU do Frame.io.
As mensagens permitem fornecer feedback ao usuário diretamente na IU do Frame.io. Se precisar coletar informações adicionais do usuário, use Callbacks de formulário.
Criar um callback de formulário
Digamos que você precise de mais informações antes de iniciar seu processo. Por exemplo, talvez esteja fazendo upload de conteúdo para um sistema que exige detalhes adicionais. Você pode descrever um Formulário na resposta, que o usuário preenche e envia de volta para você. Veja um exemplo:
Quando o usuário envia o formulário, você receberá um evento na mesma URL do POST inicial:
Todos os campos personalizados adicionados a um formulário aparecem na seção data do conteúdo JSON enviado pelo Frame.io. Use o interaction_id para mapear a solicitação inicial e esses novos dados de formulário. Você pode responder com uma mensagem ou encadear outro formulário. Ao encadear Ações, Formulários e Mensagens, você pode programar fluxos de trabalho de várias etapas no Frame.io com lógica de negócios de um sistema externo.
Detalhes do formulário
Assim como mensagens, Formulários oferecem suporte aos atributos title e description que são renderizados na parte superior do formulário. Além disso, cada campo de formulário aceita os seguintes atributos de base:
- type — informa à IU do Frame.io qual tipo de dado esperar e qual componente renderizar. * label — aparece na IU como o cabeçalho acima do campo.
- name — chave pela qual o campo será identificado no conteúdo subsequente. * value — valor com o qual o campo será preenchido previamente.
Tipos de campo compatíveis
Campo de texto
Um campo de texto simples sem parâmetros adicionais.
Área de texto
Uma área de texto simples sem parâmetros adicionais.
Lista de seleção
Define uma lista de opções da qual o usuário pode escolher. Deve incluir uma lista options, e cada membro da qual deve incluir um name legível e um value analisável por máquina.
Caixa de seleção
Uma caixa de seleção simples sem parâmetros adicionais.
Link
Um link simples sem parâmetros adicionais.
Modelo de permissões do Frame.io
Ações personalizadas têm um modelo de permissões especial: elas pertencem a um espaço de trabalho, não a qualquer usuário específico existente em uma Conta. Isso significa:
-
Qualquer administrador pode criar uma Ação personalizada em um espaço de trabalho.
-
Qualquer administrador pode modificar ou excluir uma Ação personalizada existente em uma Equipe.
-
Depois de modificada, todos os usuários verão imediatamente o resultado da alteração.
Segurança e verificação
Por padrão, todas as Ações personalizadas têm uma chave de assinatura gerada durante sua criação. Isso não é configurável. Essa chave pode ser usada para verificar se a solicitação se origina do Frame.io. A solicitação POST inclui o seguinte:
O carimbo de data e hora é o horário em que a solicitação foi assinada ao sair da rede do Frame.io. Isso pode ser usado para impedir ataques de repetição. Recomendamos verificar se esse horário está dentro de 5 minutos em relação à hora local.
A assinatura é um hash HMAC SHA-256 usando a chave de assinatura fornecida quando a Ação personalizada é criada pela primeira vez.
Verificação da assinatura
A assinatura fornecida tem o prefixo v0=. Atualmente, o Frame.io possui apenas essa versão para assinar solicitações. Você precisará adicionar este prefixo à sua assinatura computada.
Feedback
Adoraríamos ouvir desenvolvedores e usuários finais sobre as formas como vocês gostariam de usar Ações no Frame.io V4. Entre em contato conosco com suas dúvidas, ideias e casos de uso para ajudar a orientar nossa priorização.