Crear una nueva Assembly
https://api2.transloadit.com/assembliesassemblies:write.Una Assembly puede procesar y exportar archivos.
Las Assembly Instructions determinan cómo debemos procesarlos.
Las Instructions pueden proporcionarse directamente (dentro de un parámetro steps) o guardarse en un
Template (al que se hace referencia mediante un parámetro template_id). Los Templates te permiten
reutilizar Instructions, modificarlas sin desplegar tu aplicación y evitar exponer secretos en el entorno
donde está desplegada tu aplicación.
Aceptamos solicitudes POST multipart/form-data para admitir subidas habituales mediante <form> a nuestro servicio
(además del uso de XHR o SDK).
Se pueden incluir varios archivos como parte de esta solicitud. Si quieres realizar subidas reanudables de archivos, estos no se incluyen en esta solicitud, como se describe en Subidas reanudables.
Transloadit admite archivos de hasta 200 GB. Si necesitas un límite mayor para tu aplicación, ponte en contacto con nosotros.
Campos de POST
- Incluir
signaturees opcional. Para obtener más información, consulta Signature Authentication. - Es obligatorio incluir
params. Debe contener un objeto codificado en JSON con las claves que se muestran en la siguiente tabla. - Incluir
num_expected_upload_fileses opcional. Cuando se usan subidas reanudables, especifica la cantidad de archivos que se subirán. Encontrarás más detalles en Subidas reanudables.
También puedes proporcionar aquí otros campos POST (que no se llamen params, signature ni
num_expected_upload_files). Puedes usarlos como variables para hacer dinámicas tus Assembly
Instructions.
Claves admitidas en el campo params
auth— obligatorioobjectContiene, como mínimo, tu Auth Key de Transloadit en la propiedad
key.Si habilitas Signature Authentication, también debes establecer una fecha de vencimiento para la solicitud en la propiedad expires:
{ "key": "23c96d084c744219a2ce156772ec3211", "expires": "2009-08-28T01:02:03.000Z" }Recomendamos encarecidamente incluir la propiedad
nonce: un valor único generado aleatoriamente para cada solicitud que evita el procesamiento duplicado durante los reintentos, puede ayudar con la depuración y evita vectores de ataque como la reutilización de claves de firma:{ // … "nonce": "04ac6cb6-df43-41fb-a7fd-e5dd711a64e1" }La propiedad
refereres una expresión regular que se compara con el referente HTTP de esta subida, como"example\.org". Especifica esta clave para asegurarte de que las subidas solo procedan de tu dominio.Las subidas sin referente siempre pasarán la comprobación, ya que algunos navegadores lo desactivan, por lo que esto solo resulta útil en unos pocos casos de uso. Para obtener detalles sobre las expresiones regulares, consulta la documentación de RegExp de Mozilla.
La propiedad
max_sizepuede utilizarse para establecer el tamaño máximo en bytes de una subida, como1048576(1 MB). Especifícalo para impedir que los usuarios suban archivos excesivamente grandes. El tamaño de los archivos se comprueba en cuanto comienza la subida. Si supera el tamaño máximo, se cancela todo el proceso de subida y la Assembly genera un error, aunque contenga archivos que no superen el límite demax_size. Si solo quieres ignorar los archivos que superen cierto tamaño y procesar todos los demás, usa 🤖/file/filter.La propiedad
max_number_of_filespuede utilizarse para establecer la cantidad máxima de archivos que puede contener una subida, como100. Especifícalo para impedir que los usuarios suban una cantidad excesiva de archivos, tanto mediante subidas de archivos como mediante Robots de importación.Estas propiedades pueden establecerse como parte de la solicitud de la Assembly o como parte del Template.
allow_steps_overridebooleanEstablece este valor en false para impedir que se anulen Templates durante la ejecución. Si lo estableces en false, template_id y steps serán mutuamente excluyentes y solo podrás proporcionar uno de esos parámetros. Se recomienda al implementar Transloadit en entornos que no sean de confianza. Es conveniente establecerlo como parte de un Template, en lugar de hacerlo en la propia Assembly al crearla.
notify_urlstring | nullTransloadit puede enviar una devolución de llamada a tu servidor cuando se complete la Assembly. Enviaremos el estado de la Assembly como una cadena JSON con codificación URL para formularios dentro de un campo transloadit, en una solicitud POST multipart a la URL proporcionada aquí. Usa
notification_payloadpara reducir el tamaño de la carga útil (p. ej.,without_uploads,without_results,without_params); el mismo filtrado se aplica a los reenvíos de notificaciones.notification_payloadArray<without_params | without_result_meta_data | without_results | without_upload_meta_data | without_uploads>Controla el tamaño de la carga útil enviada en las notificaciones de la Assembly, tanto en la notificación inicial como en cualquier reenvío. Un arreglo vacío (valor predeterminado) envía el Assembly Status completo. Añade
"without_params"para eliminar los campos JSON sin procesar de Assembly Instructions (params,templateymerged_params). Añade"without_upload_meta_data"para eliminarmetade los archivos enuploads. Añade"without_result_meta_data"para eliminarmetade los archivos enresults. Añade"without_uploads"para eliminar por completouploads. Añade"without_results"para eliminar por completoresults. El filtrado se aplica antes de la serialización, por lo que usar estas opciones reduce el uso de memoria y ayuda a evitar fallos por cargas útiles demasiado grandes o por falta de memoria en Assemblies grandes.fieldsRecord<string, any>Un objeto de valores identificados por claves de cadena (nombre -> valor) que pueden utilizarse como Assembly Variables, al igual que los campos adicionales de un formulario. Puedes usar como valor cualquier elemento que pueda serializarse como JSON
quietbooleanEstablece este valor en true para reducir la respuesta de una solicitud POST de una Assembly únicamente a los campos necesarios. Esto impide que se revele información potencialmente confidencial al usuario final que realiza la solicitud de la Assembly. Una Assembly exitosa solo incluirá los campos ok y assembly_id. Una Assembly con errores solo incluirá los campos error, http_code, message y assembly_id. El Assembly Status completo se seguirá enviando a notify_url si se especificó uno.
stepsRecord<string, object & object>Contiene Assembly Instructions.
template_idstringEl ID del Template que contiene tus Assembly Instructions. Si configuras
allow_steps_overridecomofalseen tu Template,stepsytemplate_idserán mutuamente excluyentes; solo puedes proporcionar uno de estos parámetros.
Respuesta
Este es un ejemplo del cuerpo de la respuesta:
{
"ok": "ASSEMBLY_EXECUTING",
"http_code": 200,
"message": "The assembly is currently being executed.",
"assembly_id": "0fce5b1063e611e88d8eb130f7921d8a",
"parent_id": null,
"account_id": "6c8b8d10d68b11e3a799b579dfce333a",
"template_id": null,
"instance": "morven.transloadit.com",
"assembly_url": "http://api2.morven.transloadit.com/assemblies/0fce5b1063e611e88d8eb130f7921d8a",
"assembly_ssl_url": "https://api2-morven.transloadit.com/assemblies/0fce5b1063e611e88d8eb130f7921d8a",
"uppyserver_url": "https://api2-morven.transloadit.com/uppy-server/",
"websocket_url": "https://api2-morven.transloadit.com/ws20243",
"tus_url": "https://api2-morven.transloadit.com/resumable/files/",
"bytes_received": 1687,
"bytes_expected": 1687,
"upload_duration": 0.049,
"start_date": "2018/05/30 08:47:19 GMT",
"warnings": [],
"execution_start": "2018/05/30 08:47:19 GMT",
"execution_duration": 0.001,
"queue_duration": 0.04,
"jobs_queue_duration": 0,
"fields": {},
"bytes_usage": 0,
"template": null,
"uploads": [
// …
],
"results": {
// …
}
}Para obtener más información sobre la respuesta, consulta nuestra documentación sobre la Respuesta de Assembly Status.