Presentamos el Robot /dropbox/store para exportaciones fáciles

¡Es hora de Re-Loadit!
Esta publicación será la primera de una serie que llamamos Re-loadit. En esta serie cubriremos varias funciones de Transloadit que todavía no han recibido una presentación adecuada para nuestros usuarios.
Al igual que en otras presentaciones de Robots, te daremos algunos ejemplos, explicaremos la funcionalidad clave del Robot y te ofreceremos algunos consejos para empezar. Espero que disfrutes aprendiendo más sobre cómo aprovechar la amplitud de funciones de Transloadit.
El Robot /dropbox/store
A medida que el almacenamiento en la nube sigue ganando popularidad, parece que guardar archivos únicamente en tu propio disco pronto correrá la misma suerte que los teléfonos plegables. Con la enorme cifra de 500 millones de cuentas de usuario registradas, Dropbox destaca como uno de los servicios de almacenamiento en la nube más prominentes que existen. Queremos que nuestros usuarios tengan la libertad de integrar el servicio directamente en sus Templates de Transloadit.
Por eso presentamos el Robot /dropbox/store, que forma parte de la familia de Robots de Transloadit desde mayo de este año.

¿Qué puede hacer?
Su funcionalidad no podría ser más sencilla: el Robot /dropbox/store exportará todos los resultados de encoding de tu Assembly a la ubicación de almacenamiento de Dropbox que elijas. Un buen ejemplo que podemos usar aquí para mostrar sus capacidades es cómo este Robot puede ayudarte a llevar un mejor control de documentos digitales importantes, como tus recibos de nómina o tus facturas.
A menudo, las empresas entregan sus facturas como una página HTML. Archivar correctamente estos documentos, algo a lo que estás obligado si tienes tu propia empresa, puede ser una tarea engorrosa si se hace a mano. Personalmente, me gusta guardar mis facturas en Dropbox para tenerlas todas en un único lugar seguro. Así que, para este ejemplo, te mostraré cómo puedes usar Transloadit para «imprimir» automáticamente páginas HTML y almacenarlas como PDF en Dropbox.
Crear la Assembly
Antes de empezar a crear mi Assembly, necesito obtener mi token de acceso de Dropbox. Esto es necesario para que nuestras Assemblies puedan usar la API de Dropbox. Para generar mi token de acceso, tendré que ir a la sección para desarrolladores de Dropbox. Te recomiendo encarecidamente que guardes tu token de acceso en las credenciales de Template aquí en Transloadit. Así, tu clave de acceso se mantiene cifrada en nuestra base de datos y se ayuda a evitar que usuarios malintencionados accedan a ella. Como puedes ver en la captura de pantalla de abajo, he llamado my_invoice_uploader a mi credencial de Dropbox. Necesitaré este nombre más adelante, cuando empiece a crear mi Assembly.

Estas son las Assembly Instructions que usé después de configurar correctamente mi token de acceso:
{
"steps": {
"screenshot": {
"robot": "/html/convert",
"format": "pdf",
"url": "https://demos.transloadit.com/b2-invoice-example/2018-11-29-backblaze-tyler-invoice.htm",
"width": 1024
},
"exported": {
"robot": "/dropbox/store",
"use": "screenshot",
"credentials": "my_invoice_uploader",
"path": "invoices/${file.original_basename}.${file.ext}"
}
}
}
Todo aquí es bastante sencillo. El Robot /html/convert
toma capturas de pantalla de una página web HTML proporcionada. Con el parámetro url puedo
obtener una página web directamente desde su URL. A continuación, el parámetro format determina el
formato de la captura de pantalla, como png, aunque en este caso elijo pdf. Y, por último, el parámetro width
está configurado en 1024. La altura de la captura de pantalla se escala entonces automáticamente
junto con este valor para seguir manteniendo la relación de aspecto deseada.
¡Ah, y por si empezabas a preocuparte, cambiamos los números de esa factura HTML de ejemplo de Backblaze para que ya no tengan ningún sentido! 😄
En el siguiente Step, exporto la captura de pantalla en PDF al
Robot /dropbox/store. El parámetro credentials
accede al token de acceso de Dropbox que guardé en mis credenciales de Template, con el nombre
my_invoice_uploader. El parámetro path guarda entonces el PDF exportado en una carpeta llamada
invoices en mi almacenamiento de Dropbox y nombra cada archivo con su nombre de archivo original. Si te
preocupan las colisiones, podrías añadir
Assembly Variables adicionales a esta ruta, como un
hash MD5 (${file.md5hash}) o el ${unique_prefix}.
Para probar el Template que acabo de crear, ejecuto el siguiente código de Node.js, que toma como argumento la página web que quiero. No dudes en probarlo tú mismo.
const { Transloadit } = require('transloadit')
const transloadit = new Transloadit({
authKey: process.env.TRANSLOADIT_AUTH_KEY,
authSecret: process.env.TRANSLOADIT_SECRET_KEY,
})
const options = {
waitForCompletion: true,
params: {
steps: {
screenshot: {
robot: '/html/convert',
format: 'pdf',
url: process.argv[2],
width: 1024,
},
exported: {
robot: '/dropbox/store',
use: 'screenshot',
credentials: 'my_invoice_uploader',
path: 'invoices/${file.id}.${file.ext}',
},
},
},
}
transloadit.createAssembly(options)
.then((result) => {
console.log({ result })
})
.catch((err) => {
console.error(err)
process.exitCode = 1
})
Los resultados
Al revisar mi Dropbox, parece que todo se ejecutó correctamente. Mi factura está muy a gusto como PDF en la ruta de archivo especificada 💖

Espero que esta publicación haya demostrado lo potente que es el Robot /dropbox/store y con qué facilidad se puede combinar con las demás funciones que ofrece Transloadit. Eso es todo por el debut inicial de la serie Re-loadit. ¡Espero que ya estés esperando con ganas la próxima parte!