Reexecutar uma Assembly
Inicia uma nova Assembly a partir das entradas e das Instructions de uma Assembly anterior.
https://api2.transloadit.com/ assemblies/ {assemblyId}/ replaySe uma Assembly tiver falhado e conseguirmos recuperar os arquivos de entrada, a Transloadit poderá tentar executá-la novamente.
Você pode especificar um novo parâmetro notify_url em params para evitar um novo envio à URL já
especificada para a Assembly.
Especifique o parâmetro steps para substituir os Steps da Assembly original
que está sendo reexecutada.
A Assembly recém-criada incorpora o objeto Assembly Status original em
parent_assembly_status. Seu assembly_url identifica a Assembly que falhou e está sendo reexecutada.
Exemplo de requisição
Defina ASSEMBLY_ID com o valor do seu recurso, sem aplicar codificação percentual.
Execute esta requisição em um shell no servidor com curl e um token bearer adequado em TRANSLOADIT_TOKEN. Se precisar de um token, expanda as instruções de configuração abaixo.
Precisa de um token bearer?
Em um shell confiável no servidor com curl e jq, defina TRANSLOADIT_KEY e TRANSLOADIT_SECRET com sua Auth Key e seu Auth Secret. Mantenha ambas as credenciais e o token resultante em segredo; nunca execute esta configuração em código de navegador.
Primeiro, crie um token com os escopos exigidos por este endpoint. Sua Auth Key já deve conceder esses escopos.
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
Mantenha este shell aberto e execute a requisição abaixo. Reutilize o token enquanto ele permanecer 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={}'
Autenticação
Este endpoint aceita params assinados ou um token bearer. Consulte Autenticação para instruções de configuração.
Escopo necessário para a Auth Key ou o token bearer: assemblies:write.
Requisições assinadas exigem tanto uma signature quanto um timestamp params.auth.expires no futuro. Tokens Bearer não exigem nenhum dos dois.
Parâmetros de caminho
assemblyId(segmento de caminho), obrigatório. padrão:^[a-z0-9]{32}$
Campos do formulário
Tipo de conteúdo: application/x-www-form-urlencoded
params(string JSON), obrigatório. Um objeto codificado em JSON cujas chaves suportadas estão listadas abaixo.signature(string). Obrigatório para requisições assinadas. Omita este campo ao usar um bearer token.
Chaves compatíveis dentro do campo params
Os campos de autenticação desta lista se aplicam a requisições assinadas. Com um bearer token, você pode omitir params.auth e o campo signature separado. Compare os parâmetros de requisição específicos de autenticação abaixo.
Esquema JSON completo
params: Somente os campos listados para este objeto são aceitos.
| Campo | Tipo e descrição | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
params.obrigatório para requisições assinadas; opcional com um bearer token | Contém a chave de API da Transloadit e os metadados de Signature Authentication para um Assembly Replay.
| ||||||||||||||||||||||
params.obrigatório | stringTimestamp de expiração no formato ISO 8601 situado no futuro. Obrigatório quando uma requisição é assinada ou exige autenticação por assinatura; requisições autenticadas por bearer podem omiti-lo. | ||||||||||||||||||||||
params.obrigatório | stringChave de API da Transloadit usada para autenticar as requisições | ||||||||||||||||||||||
params. | string | integerValor único e aleatório incluído nos parâmetros da requisição assinada para tornar cada assinatura única e evitar a reutilização acidental de assinaturas. | ||||||||||||||||||||||
params. | objectValores mesclados sobre os campos originais da Assembly e disponibilizados como Assembly Variables no replay. Esquema de propriedade adicionalqualquer valor | ||||||||||||||||||||||
params. | string | integerValor único e aleatório incluído nos parâmetros da requisição assinada para tornar cada assinatura única e evitar a reutilização acidental de assinaturas. | ||||||||||||||||||||||
params. | null | stringSubstitui a Notification URL da Assembly reexecutada. Um valor omitido, null ou vazio não substitui a URL herdada. Por padrão, ou quando a Assembly original não tem Template, a URL das Assembly Instructions mescladas originais é reavaliada usando os campos da reexecução e as Assembly Variables. Com | ||||||||||||||||||||||
params. | 0 | 1Especifique | ||||||||||||||||||||||
params. | object | Array<esquema referenciado>Sobrescritas de Steps do Replay. Steps em formato de objeto são o formato normal da Assembly; Steps em formato de array são aceitos por compatibilidade com Replays legados e são normalizados antes da execução. Qualquer um dos esquemas a seguir pode ser aplicado: objectobjectEsquema de propriedade adicionalobjectUm Step completo de Assembly ou uma substituição parcial de Step de replay. O Replay mantém isso permissivo para que credenciais e propriedades de Robot ausentes possam ser mescladas de volta a partir do Template original antes que a validação normal da Assembly seja executada. Detalhes adicionais do esquema estão disponíveis no JSON Schema completo. Array<esquema referenciado>Array<esquema referenciado>Esquema do item do arrayUm Step completo de Assembly ou uma substituição parcial de Step de replay. O Replay mantém isso permissivo para que credenciais e propriedades de Robot ausentes possam ser mescladas de volta a partir do Template original antes que a validação normal da Assembly seja executada.
|
Parâmetros de requisição por método de autenticação
Com parâmetros assinados
Inclua sua Auth Key como params.auth.key. Ao assinar a requisição, inclua um timestamp futuro em params.auth.expires e envie a assinatura no campo separado signature. As definições de campos abaixo usam caminhos dentro de params.
Esquema JSON completo
params: Somente os campos listados para este objeto são aceitos.
Usa as definições de campo acima: params.auth, params.fields, params.nonce, params.notify_url, params.reparse_template, params.steps
Com um token bearer
Envie o token bearer no cabeçalho Authorization. Você pode omitir params.auth e o campo signature separado. Os demais parâmetros obrigatórios continuam se aplicando. As definições de campos abaixo usam caminhos dentro de params.
Esquema JSON completo
params: Somente os campos listados para este objeto são aceitos.
Usa as definições de campo acima: params.fields, params.nonce, params.notify_url, params.reparse_template, params.steps
| Campo | Tipo e descrição |
|---|---|
params. | Contém a chave de API da Transloadit e os metadados de Signature Authentication para um Assembly Replay.
|
params. | stringTimestamp de expiração no formato ISO 8601 situado no futuro. Obrigatório quando uma requisição é assinada ou exige autenticação por assinatura; requisições autenticadas por bearer podem omiti-lo. |
params. | stringChave de API da Transloadit usada para autenticar as requisições |
params. | string | integerValor único e aleatório incluído nos parâmetros da requisição assinada para tornar cada assinatura única e evitar a reutilização acidental de assinaturas. |
Resposta
Veja um exemplo de corpo de resposta:
{
"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
}sucesso 2xx
Corpo da resposta JSON. application/json text/plain; charset=utf-8
Esquema do corpo da resposta
Esquema JSON completo
A resposta pode conter campos adicionais.
| Campo | Tipo e descrição |
|---|---|
assembly_idobrigatório | string |
assembly_ssl_urlobrigatório | string |
assembly_urlobrigatório | string |
messageobrigatório | string |
notify_urlobrigatório | null | string |
okobrigatório | string (sempre: "ASSEMBLY_REPLAYING") |
successobrigatório | boolean (sempre: true) |
Resposta de erro
Corpo da resposta JSON. application/json text/plain; charset=utf-8
Esquema do corpo da resposta
Esquema JSON completo
A resposta pode conter campos adicionais.
| Campo | Tipo e descrição |
|---|---|
assembly_id | string |
error | string (comprimento mínimo: 1) |
http_code | number | string
|
message | stringExplicação do erro legível por humanos. A redação pode variar; use o código |
reason | null | string | number | boolean | Array<qualquer valor> | objectQualquer um dos esquemas a seguir pode ser aplicado: nullnullstringstringnumbernumberbooleanbooleanArray<qualquer valor>Array<qualquer valor>Esquema do item do arrayqualquer valorobjectobjectEsquema de propriedade adicionalqualquer valor |