Reejecutar una Assembly
Inicia una nueva Assembly a partir de las entradas e Instructions de una Assembly anterior.
https://api2.transloadit.com/ assemblies/ {assemblyId}/ replaySi una Assembly falló y podemos recuperar los archivos de entrada, Transloadit puede volver a intentar su ejecución.
Puedes especificar un nuevo parámetro notify_url en params para evitar el reenvío a la URL ya
especificada para la Assembly.
Especifica el parámetro steps para sustituir los Steps de la Assembly original
que se está reejecutando.
La Assembly recién creada incluye el objeto Assembly Status original en
parent_assembly_status. Su assembly_url identifica la Assembly que falló y que se está reejecutando.
Ejemplo de solicitud
Asigna a ASSEMBLY_ID el valor de tu recurso sin aplicarle codificación porcentual.
Ejecuta esta solicitud en una shell del lado del servidor con curl y un token Bearer adecuado en TRANSLOADIT_TOKEN. Si necesitas un token, despliega la configuración que aparece a continuación.
¿Necesitas un token Bearer?
En una shell de confianza del lado del servidor con curl y jq, asigna a TRANSLOADIT_KEY y TRANSLOADIT_SECRET los valores de tu Auth Key y tu Auth Secret. Mantén en secreto ambas credenciales y el token resultante; nunca ejecutes esta configuración en código del navegador.
Primero, crea un token con los ámbitos requeridos por este endpoint. Tu Auth Key ya debe conceder esos ámbitos.
if ! TOKEN_RESPONSE="$(curl --fail-with-body -sS \
--request POST \
--url 'https://api2.transloadit.com/token' \
--user "${TRANSLOADIT_KEY:?Set TRANSLOADIT_KEY}:${TRANSLOADIT_SECRET:?Set TRANSLOADIT_SECRET}" \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'aud=api2' \
--data-urlencode 'scope=assemblies:write')"; then
printf '%s\n' "$TOKEN_RESPONSE" >&2
exit 1
fi
TRANSLOADIT_TOKEN="$(printf '%s' "$TOKEN_RESPONSE" |
jq -er '.access_token | strings | select(length > 0)')" || exit 1
Mantén abierta esta shell y ejecuta la solicitud que aparece a continuación. Reutiliza el token mientras siga siendo válido.
curl --fail-with-body -sS --request POST \
--url "https://api2.transloadit.com/assemblies/${ASSEMBLY_ID:?Set ASSEMBLY_ID}/replay" \
--header "Authorization: Bearer ${TRANSLOADIT_TOKEN:?Set TRANSLOADIT_TOKEN}" \
--data-urlencode 'params={}'
Autenticación
Este endpoint acepta params firmados o un token Bearer. Consulta Autenticación para ver las instrucciones de configuración.
Ámbito requerido para el Auth Key o el token de portador: assemblies:write.
Las solicitudes firmadas requieren tanto una signature como una marca de tiempo futura en params.auth.expires. Los tokens Bearer no requieren ninguno de estos dos elementos.
Parámetros de ruta
assemblyId(segmento de ruta), obligatorio. patrón:^[a-z0-9]{32}$
Campos del formulario
Tipo de contenido: application/x-www-form-urlencoded
params(cadena JSON), obligatorio. Un objeto codificado en JSON cuyas claves compatibles se enumeran a continuación.signature(cadena). Obligatorio para las solicitudes firmadas. Omite este campo cuando uses un token Bearer.
Claves admitidas dentro del campo params
Los campos de autenticación de esta lista se aplican a las solicitudes firmadas. Con un token Bearer puedes omitir params.auth y el campo separado signature. Compara a continuación los parámetros de solicitud de cada método de autenticación.
JSON Schema completo
params: Solo se aceptan los campos enumerados para este objeto.
| Campo | Tipo y descripción | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params.obligatorio para las solicitudes firmadas; opcional con un token Bearer | Contiene la clave de API de Transloadit y los metadatos de Signature Authentication para la reejecución de una Assembly.
| ||||||||||||||||||||||
params.obligatorio | stringMarca de tiempo de vencimiento ISO 8601 en el futuro. Es obligatoria cuando una solicitud está firmada o requiere autenticación mediante firma; las solicitudes autenticadas con Bearer pueden omitirla. | ||||||||||||||||||||||
params.obligatorio | stringClave de API de Transloadit utilizada para autenticar solicitudes | ||||||||||||||||||||||
params. | objectValores que se combinan con los campos originales de la Assembly y quedan disponibles como Assembly Variables durante la reejecución. Esquema de propiedades adicionalescualquier valor | ||||||||||||||||||||||
params. | string | integerValor aleatorio y único incluido en los parámetros de las solicitudes firmadas para que cada firma sea única y evitar su reutilización accidental. | ||||||||||||||||||||||
params. | null | stringSustituye la Notification URL de la Assembly que se vuelve a ejecutar. Un valor omitido, null o vacío no sustituye la URL heredada. De forma predeterminada, o cuando la Assembly original no tiene un Template, la URL de las Assembly Instructions originales combinadas se vuelve a evaluar usando los campos y las Assembly Variables de la nueva ejecución. Con | ||||||||||||||||||||||
params. | 0 | 1Especifica | ||||||||||||||||||||||
params. | object | Array<esquema referenciado>Modificaciones de Steps para la reejecución. Los Steps con formato de objeto son la estructura habitual de una Assembly; los Steps con formato de arreglo se aceptan para mantener la compatibilidad con reejecuciones heredadas y se normalizan antes de la ejecución. Puede aplicarse cualquiera de los esquemas siguientes: objectobjectEsquema de propiedades adicionalesobjectUn Step completo de Assembly o una sobrescritura parcial de Step para volver a ejecutarla. La repetición mantiene esta validación flexible para poder reincorporar las credenciales y las propiedades de Robot que falten desde el Template original antes de la validación normal de la Assembly. Los detalles adicionales del esquema están disponibles en el JSON Schema completo. Array<esquema referenciado>Array<esquema referenciado>Esquema de los elementos del arrayUn Step completo de Assembly o una sobrescritura parcial de Step para volver a ejecutarla. La repetición mantiene esta validación flexible para poder reincorporar las credenciales y las propiedades de Robot que falten desde el Template original antes de la validación normal de la Assembly.
|
Parámetros de solicitud según el método de autenticación
Con parámetros firmados
Incluye tu Auth Key como params.auth.key. Al firmar la solicitud, incluye una marca de tiempo futura en params.auth.expires y envía la Signature en el campo separado signature. Las definiciones de los campos que aparecen a continuación usan rutas dentro de params.
JSON Schema completo
params: Solo se aceptan los campos enumerados para este objeto.
Utiliza las definiciones de campos indicadas arriba: params.auth, params.fields, params.nonce, params.notify_url, params.reparse_template, params.steps
Con un token Bearer
Envía el token Bearer en el encabezado Authorization. Puedes omitir params.auth y el campo independiente signature. Los demás parámetros obligatorios siguen siendo necesarios. Las definiciones de los campos que aparecen a continuación usan rutas dentro de params.
JSON Schema completo
params: Solo se aceptan los campos enumerados para este objeto.
Utiliza las definiciones de campos indicadas arriba: params.fields, params.nonce, params.notify_url, params.reparse_template, params.steps
| Campo | Tipo y descripción |
|---|---|
params. | Contiene la clave de API de Transloadit y los metadatos de Signature Authentication para la reejecución de una Assembly.
|
params. | stringMarca de tiempo de vencimiento ISO 8601 en el futuro. Es obligatoria cuando una solicitud está firmada o requiere autenticación mediante firma; las solicitudes autenticadas con Bearer pueden omitirla. |
params. | stringClave de API de Transloadit utilizada para autenticar solicitudes |
Respuesta
Este es un ejemplo del cuerpo de la respuesta:
{
"assembly_id": "7828446e5acd4aa996dce3455ec914e9",
"assembly_ssl_url": "https://api2-example.transloadit.com/assemblies/7828446e5acd4aa996dce3455ec914e9",
"assembly_url": "http://api2.example.transloadit.com/assemblies/7828446e5acd4aa996dce3455ec914e9",
"message": "The Assembly is now in the process of being replayed.",
"notify_url": null,
"ok": "ASSEMBLY_REPLAYING",
"success": true
}éxito 2xx
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
La respuesta puede contener campos adicionales.
| Campo | Tipo y descripción |
|---|---|
assembly_idobligatorio | string |
assembly_ssl_urlobligatorio | string |
assembly_urlobligatorio | string |
messageobligatorio | string |
notify_urlobligatorio | null | string |
okobligatorio | string (siempre: "ASSEMBLY_REPLAYING") |
successobligatorio | boolean (siempre: true) |
Respuesta de error
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
La respuesta puede contener campos adicionales.
| Campo | Tipo y descripción |
|---|---|
assembly_id | string |
error | string (longitud mínima: 1) |
http_code | number | string
|
message | stringExplicación del error legible por humanos. Su redacción puede variar; usa el código |
reason | null | string | number | boolean | Array<cualquier valor> | objectPuede aplicarse cualquiera de los esquemas siguientes: nullstringnumberbooleanArray<cualquier valor>Array<cualquier valor>Esquema de los elementos del arraycualquier valorobjectobjectEsquema de propiedades adicionalescualquier valor |