Visão geral dos webhooks
Visão geral dos webhooks
Aplicativo de exemplo
Se quiser criar seu próprio consumidor para webhooks do Frame.io, fique à vontade para usar e estender nosso aplicativo de exemplo no GitHub.
Introdução
Os webhooks oferecem uma maneira de aproveitar eventos que ocorrem dentro do Frame.io em notificações que podem ser enviadas para sistemas externos para processamento, callbacks de API e, por fim, automação do fluxo de trabalho.
Configuração
Os webhooks podem ser configurados na área de webhooks do nosso site para desenvolvedores.Um webhook requer:
- Nome — será exibido apenas no site para desenvolvedores.
- URL — onde entregar eventos.
- Equipe — a qual equipe este webhook será adicionado.
- Eventos — qual evento, ou eventos, devem acionar o webhook.
Eventos compatíveis
Um único webhook pode se inscrever para receber qualquer número dos seguintes eventos:
Projetos
Ativos
Controle de versão de ativo
Quando o evento asset.versioned é disparado, você recebe um conteúdo com o ID do ativo que teve controle de versão, não a própria pilha de versões.Portanto, se você espera conseguir passar esse id para outra função pensando que é o id da pilha de versões, você vai ter que procurar e rastrear esse recurso ‘principal’ em particular primeiro.
Atualizações de rótulo de ativo
O evento asset.label.updated não será disparado quando o rótulo de status for alterado por meio de uma chamada PUT para o ponto de acesso /v2/assets/:id via API pública (BES-408).No entanto, ele será disparado quando o rótulo de status for atualizado usando qualquer aplicativo nativo e integrações do Frame.io (Web, iOS, Premiere, After Effects, FCPX, etc).
Comentários
Links de revisão
Colaboradores
Membros da equipe
Conteúdo
O Frame.io entrega um conteúdo JSON para o ponto de acesso do webhook especificado.Este é um exemplo de conteúdo para um evento asset.created:
Todos os conteúdos contêm um campo type, indicando o tipo de evento que está ocorrendo, bem como um objeto resource.O objeto resource especifica o type e o id do recurso relacionado a este evento.No exemplo acima de um evento asset.created, este seria o id para o ativo recém-criado.Além disso, os objetos user e team estão incluídos.Estes fazem referência ao usuário que acionou o evento e ao contexto da equipe para o recurso.Além do contexto imediato do usuário e da equipe, não incluímos informações adicionais sobre o recurso assinado.Se o aplicativo precisar de informações ou contexto adicionais, recomendamos usar nossa API HTTP para fazer solicitações de acompanhamento.
Novas tentativas
Se ocorrer um erro (resposta de código de status diferente de 200) ou tempo-limite durante a entrega do webhook para seu serviço, o conteúdo será tentado novamente três vezes, totalizando quatro tentativas de entrega.
Segurança
Por padrão, todos os webhooks são fornecidos com uma chave de assinatura.Isso não é configurável.Essa chave pode ser usada para verificar se a solicitação se origina do Frame.io.
Verificar assinaturas de webhook
Para proteger uma integração contra ataques “man-in-the-middle” e de repetição, é essencial verificar as assinaturas de webhooks.A verificação garante que os conteúdos de webhook foram realmente enviados pelo Frame.io e que o conteúdo não foi modificado durante o transporte.
Incluídos na solicitação POST estão os seguintes cabeçalhos:
Siga estas etapas para verificar a assinatura:
- Extraia a assinatura dos cabeçalhos HTTP
- Crie uma mensagem para assinar combinando a versão, a hora da entrega e o corpo da solicitação:
v0:timestamp:body - Compute a assinatura HMAC SHA-256 utilizando seu segredo de assinatura.Observação: A assinatura fornecida tem o prefixo
v0=.Atualmente, o Frame.io possui apenas essa versão para assinar solicitações.Certifique-se de que este prefixo seja anexado à sua assinatura computada. - Compare!