O que é um Template?
Um Template armazena com segurança as Assembly Instructions da Transloadit em um Workspace e é referenciado em requisições à API por meio de um template_id. Ele permite que os clientes invoquem um fluxo de processamento predefinido sem enviar suas Instructions completas.
Como os Templates funcionam
Um Template da Transloadit é uma definição de fluxo de trabalho gerenciada pelo Workspace cujo JSON descreve Assembly Steps nomeados, seus parâmetros e como os resultados de Steps anteriores passam para os seguintes. Referenciar uma definição armazenada evita o envio de Instructions completas em cada requisição de criação, mas não torna o fluxo de trabalho confidencial: o Assembly Status pode expor template e merged_params. As propriedades fornecidas em params no momento da requisição, exceto o próprio allow_steps_override, são mescladas recursivamente sobre o Template carregado, respeitando a política de sobrescrita de Steps do Template. Essa mesclagem também permite variações em tempo de execução. Os Templates ficam entre as requisições da aplicação e a execução das Assemblies, portanto, a gestão de suas alterações faz parte do contrato de integração.
Informações essenciais
- 1Os nomes dos Steps formam referências nas Assembly Instructions, portanto, renomear um Step pode romper relações
usecom Steps posteriores, mesmo quando cada operação individual permanece sintaticamente válida. - 2Um
template_idseleciona Instructions armazenadas, mas não autentica, por si só, uma requisição à API; a autenticação da conta e quaisquer requisitos de assinatura de requisições continuam sendo controles separados. - 3Defina
allow_steps_overridecomofalseno Template armazenado para rejeitar requisições que também forneçam Steps. Outros parâmetros da requisição ainda podem sobrescrever valores armazenados. Exija Signature Authentication para requisições com Auth Key e faça com que um back-end confiável assine apenas parâmetros aprovados; tokens bearer válidos dispensam esse requisito e continuam sujeitos às suas restrições de escopo e público-alvo. As assinaturas cobrem a versão serializada deparams, não os campos separados do formulário de upload. Esses campos não assinados preenchem${fields.*}e sobrescrevem os valores assinados defieldscom o mesmo nome, portanto, esses controles, por si só, não protegem as entradas dinâmicas. Não use esses campos para derivar configurações que os chamadores não devem escolher. - 4Templates criados em um Workspace não permitem fixar uma versão. Para fazer uma alteração incompatível com versões anteriores com segurança, crie um novo Template com seu próprio
template_ide migre os chamadores para ele. Apenas os Builtin Templates da Transloadit são versionados pela Transloadit.
Quando os Templates são importantes
Use um Template para centralizar alterações no fluxo de trabalho e evitar o envio de Assembly Instructions completas em cada requisição de criação. Defina allow_steps_override como false para impedir a sobrescrita de Steps e exija Signature Authentication com assinatura feita por um sistema confiável para requisições com Auth Key. Esses controles não restringem campos de upload não assinados nem substituem as restrições de escopo de tokens bearer, portanto, revise as entradas dinâmicas separadamente. Atualizar um Template compartilhado pode afetar todos os chamadores, portanto, alterações incompatíveis podem exigir um novo Template.