Templates
Un Template es una receta que define cómo procesar los archivos entrantes.
Puedes enviarnos tus Assembly Instructions
directamente con cada solicitud, o guardarlas en un Template y hacer referencia a su template_id en
tus solicitudes.
Builtin Templates
Transloadit también proporciona Templates que mantenemos y versionamos. Estos Builtin Templates son puntos de partida estables y listos para usar en transformaciones comunes.
Consulta Builtin Templates para conocer los builtins disponibles y cómo enumerarlos mediante la API.
Enviar Instructions directamente permite crear prototipos con rapidez, pero guardarlas en un Template ofrece algunas ventajas:
- Puedes evitar transmitir datos confidenciales y detalles de implementación con cada solicitud de encoding. Esto resulta especialmente útil cuando realizas integraciones con navegadores.
- En combinación con
"allow_steps_override": false, las Instructions no pueden manipularse. - En combinación con las Assembly Notifications, puedes habilitar las Assembly Replays.
- Si integraste Transloadit en una aplicación, puedes cambiar la configuración de encoding sin realizar un despliegue ni esperar a que una App Store publique una nueva versión.
Cómo crear un Template
- Crea un Template en tu cuenta.
- Asigna un nombre a tu Template para poder identificarlo fácilmente en el futuro.
- Proporciona el JSON de Assembly Instructions para tu Template. Puedes seleccionar ejemplos de una lista, permitir que nuestro asistente genere Instructions, duplicar un Template existente o comenzar desde cero.
- Guarda los cambios.
Una vez guardado el Template, se muestra una página con el Template que creaste. En la parte superior de la
página aparece el ID del Template, por ejemplo, 4b62ee4dbb38455d96fe13d972ec3211. Después puedes copiar y pegar
este ID en el template_id del código de tu integración, o desplazarte hacia abajo en el
Template Editor, donde ya mostramos ejemplos que incluyen este ID.
El Template Editor también tiene un área de pruebas donde puedes probar tus Templates junto con un formulario de subida directamente en el navegador, sin actualizar tu integración (ni siquiera tienes que guardar los cambios).
Modificar Templates en tiempo de ejecución
Podrías pensar que son mutuamente excluyentes, pero es posible proporcionar tanto template_id como
steps dentro de params, ya que esto te permite cambiar el comportamiento del Template en tiempo de ejecución. De hecho, cualquier otra
propiedad dentro de params, excepto allow_steps_override, se combinará de forma recursiva
sobre el Template cargado mediante template_id.
Por ejemplo, veamos el siguiente Template, que gestiona una subida, codifica un video para reproducirlo correctamente en iPads y guarda el resultado en S3:
{
"steps": {
":original": {
"robot": "/upload/handle"
},
"encoded": {
"use": ":original",
"robot": "/video/encode",
"preset": "ipad-high"
},
"exported": {
"use": "encoded",
"robot": "/s3/store",
"credentials": "YOUR_S3_CREDENTIALS",
"bucket": "main-bucket"
}
}
}
Cuando creas una Assembly, podemos ajustar el comportamiento del Template
en tiempo de ejecución, por ejemplo, agregando una propiedad steps:
{
"template_id": "4b62ee4dbb38455d96fe13d972ec3211",
"steps": {
"exported": {
"bucket": "another-bucket"
}
}
}
Luego, Transloadit combina esto para crear las siguientes Assembly Instructions:
{
"steps": {
"encoded": {
"use": ":original",
"robot": "/video/encode",
"preset": "ipad-high"
},
"exported": {
"use": "encoded",
"robot": "/s3/store",
"credentials": "YOUR_S3_CREDENTIALS",
"bucket": "another-bucket"
}
}
}
Como puedes ver, el valor de bucket cambió de "main-bucket" a "another-bucket". Esto puede ser
práctico y potente en entornos de confianza.
En otros entornos, quizá quieras impedir que se sobrescriban los
Steps para que un navegador no pueda modificar el comportamiento. Para
hacerlo, establece allow_steps_override en false dentro del Template guardado, de esta manera:
{
"allow_steps_override": false,
"steps": {
// …
},
}
Ahora siempre se utilizará únicamente main-bucket, independientemente de que se hayan proporcionado steps adicionales.
Opciones de Template
Además de steps y allow_steps_override, existen más opciones para controlar el comportamiento de una
Assembly.
Como la mayoría también puede configurarse cuando no se usan Templates, están documentadas en la documentación de la API para crear una nueva Assembly. Sin embargo, si integras Transloadit en entornos que no son de confianza, como los navegadores, una persona malintencionada podría cambiarlas fácilmente. Por lo tanto, para permitir el cambio dinámico de los parámetros de un Template en entornos que no son de confianza, considera usar Signature Authentication.