Obtén un recurso de almacenamiento
Devuelve la versión actual o conservada explícitamente de un recurso de un Workspace mediante su identidad estable.
https://api2.transloadit.com/ dam/ assets/ {assetId}Antes de llamar a este endpoint, obtén los IDs de activos existentes en el mismo Workspace que la Auth Key utilizada para la solicitud.
Para los archivos almacenados con /transloadit/store, recupera su Assembly Status y espera a que se alcance ASSEMBLY_COMPLETED. En los arrays results[stepName] devueltos, conserva los valores de workspace, asset_id, version_id y el path devuelto de cada archivo almacenado. El id habitual del archivo no es su ID de activo de almacenamiento. Usa asset_id para ASSET_ID o params.asset_ids en los ejemplos siguientes.
Usa asset_id para seguir un activo a través de movimientos y cambios de nombre nativos. Añade version_id al importar para seleccionar los mismos bytes conservados después de una sobrescritura. Una ruta guardada es una ubicación mutable, no una referencia inmutable. El acceso y la retención de versiones siguen siendo aplicables.
Omite version_id para recuperar la versión actual. Inclúyelo para recuperar una versión conservada específica de este activo. Una versión inexistente, eliminada o con otro propietario devuelve un error; nunca se recurre a los bytes de la versión actual como alternativa.
El asset devuelto tiene la misma estructura de referencia que un resultado almacenado de una Assembly. Su ruta refleja la ubicación actual del activo incluso cuando se selecciona una versión anterior.
Ejemplo de solicitud
Establece ASSET_ID con el valor de tu recurso sin aplicar 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, establece TRANSLOADIT_KEY y TRANSLOADIT_SECRET con 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=dam:read dam: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 esta shell abierta y ejecuta la solicitud siguiente. Reutiliza el token mientras siga siendo válido.
curl --fail-with-body -sS --request GET --get \
--url "https://api2.transloadit.com/dam/assets/${ASSET_ID:?Set ASSET_ID}" \
--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.
Ámbitos requeridos para el Auth Key o el token de portador: dam:read, dam: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
assetId(segmento de ruta), obligatorio. patrón:^[A-Za-z0-9_-]{21}[AQgw]$, longitud mínima: 22, longitud máxima: 22
Parámetros de consulta
params(cadena JSON). 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 en el campo firmado 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 una solicitud de metadatos de almacenamiento.
|
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. | 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. | stringVersión conservada del recurso seleccionado (opcional). Omítela para usar la versión actual. Una versión inexistente o eliminada devuelve un error y nunca utiliza los bytes de la versión actual como alternativa. Patrón de validación (expresión regular)^[A-Za-z0-9_-]{21}[AQgw]$ |
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.version_id
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.version_id
| Campo | Tipo y descripción |
|---|---|
params. | Contiene la clave de API de Transloadit y los metadatos de Signature Authentication para una solicitud de metadatos de almacenamiento.
|
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 |
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. |
Respuesta
Este es un ejemplo del cuerpo de la respuesta:
{
"asset": {
"asset_id": "AAAAAAAAAAAAAAAAAAAAAA",
"height": 600,
"mime": "image/jpeg",
"path": "renamed.jpg",
"size": 12345,
"version_id": "AAAAAAAAAAAAAAAAAAAAAQ",
"width": 800,
"workspace": "example-workspace"
},
"message": "The Storage asset was successfully found.",
"ok": "DAM_ASSET_FOUND"
}éxito 2xx
Cuerpo de respuesta JSON. application/json text/plain; charset=utf-8
Esquema del cuerpo de la respuesta
JSON Schema completo
La respuesta contiene únicamente los campos listados para este objeto.
| Campo | Tipo y descripción |
|---|---|
assetobligatorio |
|
asset.obligatorio | stringID estable del recurso. Se conserva tras las operaciones nativas de movimiento y cambio de nombre; úsalo sin una versión para seleccionar los bytes actuales. Patrón de validación (expresión regular)^[A-Za-z0-9_-]{21}[AQgw]$ |
asset. | integer (mínimo exclusivo: 0, máximo: 9007199254740991)Altura de visualización en píxeles, después de aplicar la orientación EXIF, cuando se conoce. |
asset. | stringSuma de comprobación MD5 en minúsculas de los bytes almacenados, cuando esté disponible. Patrón de validación (expresión regular)^[a-f0-9]{32}$ |
asset.obligatorio | null | stringTipo MIME de los bytes almacenados, o null si se desconoce. |
asset.obligatorio | string (longitud mínima: 1)Ubicación actual modificable relativa al Workspace. Un cambio de nombre deja obsoleta la ruta anterior; una sobrescritura puede cambiar los bytes en esta ruta. |
asset. | stringSuma de verificación SHA-256 en minúsculas de los bytes almacenados, cuando esté disponible. Patrón de validación (expresión regular)^[a-f0-9]{64}$ |
asset.obligatorio | integer (mínimo: 0, máximo: 9007199254740991)Tamaño del archivo almacenado en bytes. |
asset.obligatorio | stringVersión inmutable exacta de este recurso. Combínala con asset_id para seleccionar los bytes conservados; si falta la versión, nunca se recurre a la versión actual. Patrón de validación (expresión regular)^[A-Za-z0-9_-]{21}[AQgw]$ |
asset. | integer (mínimo exclusivo: 0, máximo: 9007199254740991)Ancho de visualización en píxeles, después de aplicar la orientación EXIF, cuando se conoce. |
asset.obligatorio | string (longitud mínima: 1)Slug del Workspace al que pertenece este recurso. Autentícate para el mismo Workspace cuando lo leas o lo gestiones. |
messageobligatorio | string (longitud mínima: 1) |
okobligatorio | string (siempre: "DAM_ASSET_FOUND") |
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: nullnullstringstringnumbernumberbooleanbooleanArray<cualquier valor>Array<cualquier valor>Esquema de los elementos del arraycualquier valorobjectobjectEsquema de propiedades adicionalescualquier valor |