Visão geral das ações personalizadas
Visão geral das ações personalizadas
Aplicativos de exemplo
Se você deseja criar seu próprio aplicativo de Ações personalizadas, nossos aplicativos de exemplo ajudarão você a começar:
As ações personalizadas são uma forma de criar integrações diretamente no Frame.io como componentes programáveis da interface do usuário.Isso possibilita toda uma classe de fluxos de trabalho que podem ser acionados pelos usuários dentro do aplicativo, aproveitando o mesmo roteamento de eventos subjacente dos Webhooks.Atualmente, as ações personalizadas estão disponíveis para Ativos e são exibidas no menu de contexto (clique com o botão direito do mouse) disponível em qualquer Ativo, conforme mostrado na imagem abaixo. 
Um Ativo é uma representação robusta de um arquivo no S3 e de seu contexto no Frame.io.Isso inclui transcodificações, contexto de usuário/equipe/projeto e metadados.Quando um usuário clica em uma ação personalizada em um ativo, o Frame.io enviará um conteúdo de dados para um URL fornecido por você.O aplicativo destinatário pode, então, responder com um código de status HTTP para simplesmente confirmar o recebimento, ou pode responder com um callback personalizado capaz de renderizar uma interface de usuário adicional no Frame.io.
Configure sua ação personalizada
Verifique suas permissões
São necessárias permissões de Gerente de equipe para criar Ações personalizadas para uma equipe.Peça ao seu administrador para alterar suas permissões caso você não tenha acesso.
As ações personalizadas podem ser configuradas na área Ações personalizadas do developer.frame.io.Uma ação requer:
Clique — O que há no conteúdo que você recebe do Frame.io
Quando o usuário clicar na sua ação personalizada, um conteúdo será enviado para o URL que você especificou no campo URL.
Você pode usar esse conteúdo para identificar:
- Qual das suas ações personalizadas foi clicada
- Qual recurso foi clicado
- Qual usuário realizou a ação
Sobre interações
O interaction_id é fornecido como um identificador único para ajudar você a acompanhar a interação à medida que ela evolui ao longo do tempo.Se você não precisar responder ao usuário, basta retornar um código de status 200 e pronto.Embora seja opcional, recomendamos incluir algumas informações sobre o resultado da ação, como uma mensagem simples de sucesso ou um alerta de erro.As ações personalizadas suportam callbacks de mensagem.
Tentativas e tempos-limite
Nosso aplicativo espera uma resposta em menos de 5 segundos e tentará repetir a operação até 5 vezes enquanto aguarda uma resposta bem-sucedida.O ideal é que você responda imediatamente e execute as ações de forma assíncrona após o acionamento por meio de uma ação personalizada.
Criar um callback de mensagem
Em sua resposta HTTP ao evento do webhook, você pode retornar um objeto JSON descrevendo uma mensagem que será exibida ao Usuário que iniciou a ação na interface do Frame.io.Se quiser tentar criar uma mensagem e ver como ela ficará, experimente nosso Construtor de ações personalizadas, que permite configurar callbacks de mensagem ou formulários e ver como eles apareceriam no aplicativo web do Frame.io.
Aqui está um exemplo de objeto:
Isso exibirá um alerta para o usuário com a seguinte aparência:
As mensagens são uma maneira simples de fechar o ciclo de vida da ação, fornecendo contexto variável ao Usuário que está realizando a ação, sem que ele precise alternar de contexto.
Isso é suficiente para atender a muitos casos de uso, mas, às vezes, o conteúdo inicial e as chamadas subsequentes à API do Frame.io não fornecem contexto suficiente para o aplicativo receptor.Para esses cenários, também oferecemos suporte a 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, você pode estar carregando conteúdo para um sistema que exige detalhes e configurações adicionais.Você pode “descrever” um Formulário em sua resposta, que o usuário realmente verá! E preencherá! E ele será enviado de volta para você!
Aqui está um exemplo de formulário que será exibido na interface do Frame.io para que o Usuário inicial possa preenchê-lo e enviá-lo:
Quando o usuário enviar o formulário, você receberá um evento no mesmo URL da solicitação POST inicial:
Todos os campos personalizados que você adicionou ao seu 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 estes novos dados do formulário.E, novamente, se desejar, você pode responder com uma mensagem (ou até mesmo outro formulário!).
Ao encadear Ações, Formulários e Mensagens, você pode programar de forma eficaz fluxos de trabalho completos de ativos no Frame.io com a lógica de negócios de um sistema externo.
Use a imaginação! O céu é o limite.
Detalhes do formulário
Assim como as mensagens, os formulários suportam atributos title e description que são exibidos na parte superior do Formulário.Além disso, cada campo do formulário aceita os seguintes atributos básicos:
type— Indica à interface do usuário do Frame.io qual tipo de dados esperar, bem como qual componente e renderização utilizar.label— Aparece na interface do usuário como o título 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 suportados
Campo de texto
Um campo de texto simples, sem parâmetros adicionais.
Área de texto
Uma área de texto simples, sem parâmetros adicionais.
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 seleção** Define uma lista de opções à qual o usuário pode escolher.Deve incluir uma lista deoptions, cada uma delas com um namelegível por humanos e umvalue` analisável por máquina.
Ações personalizadas e o modelo de permissões do Frame.io
Os Webhooks e as Ações personalizadas possuem um modelo especial de permissões: eles pertencem a uma Equipe, e não a nenhum usuário específico que faça parte de uma Equipe ou Conta.Isso significa que:
- Qualquer administrador ou gerente de equipe pode criar uma Ação personalizada em uma Equipe.
- Qualquer administrador ou gerente de equipe pode modificar ou excluir uma Ação personalizada existente em uma Equipe.Uma vez modificada, todos os usuários verão imediatamente o resultado da alteração.
Segurança
Por padrão, todas as Ações personalizadas possuem 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.
Verificação
Estão incluídos na solicitação POST os seguintes elementos
Verificação da assinatura
- Extrai a assinatura dos cabeçalhos HTTP
- Cria uma mensagem para assinar combinando a versão, o tempo de entrega e o corpo da solicitação
v0:timestamp:body
- Computa a assinatura HMAC SHA-256 utilizando seu segredo de assinatura.
- Observação: a assinatura fornecida é precedida por
v0=.Atualmente, o Frame.io possui apenas essa versão para assinar solicitações.Você precisará adicionar esse prefixo à sua assinatura computada.
- Compare!