Récupérer une ressource de stockage
Renvoie la version actuelle ou explicitement conservée d’une ressource d’un Workspace à partir de son identité stable.
https://api2.transloadit.com/ dam/ assets/ {assetId}Avant d’appeler ce point de terminaison, obtenez les identifiants des ressources existantes dans le même Workspace que l’Auth Key utilisée pour la requête.
Pour les fichiers stockés avec /transloadit/store, récupérez leur Assembly Status et attendez ASSEMBLY_COMPLETED. Dans les tableaux results[stepName] renvoyés, conservez pour chaque fichier stocké les valeurs workspace, asset_id, version_id et le path renvoyé. L’id ordinaire du fichier n’est pas son identifiant de ressource de stockage. Utilisez asset_id pour ASSET_ID ou params.asset_ids dans les exemples ci-dessous.
Utilisez asset_id pour suivre une ressource à travers les déplacements et les renommages natifs. Ajoutez version_id lors de l’importation pour sélectionner les mêmes octets conservés après un écrasement. Un chemin enregistré est un emplacement modifiable, et non une référence immuable. Les contrôles d’accès et la conservation des versions s’appliquent toujours.
Omettez version_id pour récupérer la version actuelle. Incluez-le pour récupérer une version conservée précise de cette ressource. Une version absente, supprimée ou appartenant à un autre propriétaire renvoie une erreur. Il n’y a jamais de repli sur les octets actuels.
La valeur asset renvoyée a la même forme de référence qu’un résultat d’Assembly stocké. Son chemin reflète l’emplacement actuel de la ressource, même lorsqu’une version plus ancienne est sélectionnée.
Exemple de requête
Définissez ASSET_ID sur la valeur de votre ressource, sans l’encoder en pourcentage.
Exécutez cette requête dans un shell côté serveur avec curl et un jeton porteur approprié dans TRANSLOADIT_TOKEN. Si vous avez besoin d’un jeton, dépliez la configuration ci-dessous.
Besoin d’un jeton porteur ?
Dans un shell côté serveur de confiance disposant de curl et de jq, définissez TRANSLOADIT_KEY et TRANSLOADIT_SECRET sur votre Auth Key et votre Auth Secret. Gardez secrets ces deux informations d’identification et le jeton obtenu. N’exécutez jamais cette configuration dans du code de navigateur.
Commencez par créer un jeton avec les portées requises par ce point de terminaison. Votre Auth Key doit déjà accorder ces portées.
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
Gardez ce shell ouvert et exécutez la requête ci-dessous. Réutilisez le jeton tant qu’il reste valide.
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={}'
Authentification
Ce point de terminaison accepte des params signés ou un jeton porteur. Consultez la section Authentification pour les instructions de configuration.
Portées requises pour l’Auth Key ou le jeton porteur : dam:read, dam:write.
Les requêtes signées nécessitent à la fois une signature et un horodatage params.auth.expires situé dans le futur. Les jetons porteurs ne nécessitent ni l’un ni l’autre.
Paramètres de chemin
assetId(segment de chemin), obligatoire. motif :^[A-Za-z0-9_-]{21}[AQgw]$, longueur minimale : 22, longueur maximale : 22
Paramètres de requête
params(Chaîne JSON). Un objet encodé en JSON dont les clés prises en charge sont répertoriées ci-dessous.signature(chaîne de caractères). Obligatoire pour les requêtes signées. Omettez ce champ lorsque vous utilisez un jeton porteur.
Clés prises en charge dans le champ signé params
Les champs d’authentification de cette liste s’appliquent aux requêtes signées. Avec un jeton porteur, vous pouvez omettre params.auth et le champ distinct signature. Comparez les paramètres de requête spécifiques à l’authentification ci-dessous.
Schéma JSON complet
params: Seuls les champs répertoriés pour cet objet sont acceptés.
| Champ | Type et description |
|---|---|
params.obligatoire pour les requêtes signées ; facultatif avec un jeton porteur | Contient la clé API Transloadit et les métadonnées de Signature Authentication pour une requête de métadonnées de stockage.
|
params.obligatoire | stringHorodatage d’expiration au format ISO 8601 situé dans le futur. Obligatoire lorsqu’une requête est signée ou nécessite Signature Authentication ; les requêtes authentifiées par jeton porteur peuvent l’omettre. |
params.obligatoire | stringClé API Transloadit utilisée pour authentifier les requêtes |
params. | string | integerValeur unique et aléatoire incluse dans les paramètres de la requête signée pour rendre chaque signature unique et empêcher la réutilisation accidentelle d’une signature. |
params. | stringVersion conservée facultative de la ressource sélectionnée. Omettez ce paramètre pour utiliser la version actuelle. Si la version est manquante ou supprimée, une erreur est renvoyée et les octets de la version actuelle ne sont jamais utilisés en remplacement. Motif de validation (expression régulière)^[A-Za-z0-9_-]{21}[AQgw]$ |
Paramètres de requête par méthode d’authentification
Avec des paramètres signés
Incluez votre Auth Key dans params.auth.key. Lors de la signature de la requête, incluez un horodatage futur dans params.auth.expires et envoyez la signature dans le champ distinct signature. Les définitions des champs ci-dessous utilisent des chemins à l’intérieur de params.
Schéma JSON complet
params: Seuls les champs répertoriés pour cet objet sont acceptés.
Utilise les définitions des champs ci-dessus : params.auth, params.nonce, params.version_id
Avec un jeton porteur
Envoyez le jeton porteur dans l’en-tête Authorization. Vous pouvez omettre params.auth et le champ distinct signature. Les autres paramètres obligatoires restent requis. Les définitions des champs ci-dessous utilisent des chemins à l’intérieur de params.
Schéma JSON complet
params: Seuls les champs répertoriés pour cet objet sont acceptés.
Utilise les définitions des champs ci-dessus : params.nonce, params.version_id
| Champ | Type et description |
|---|---|
params. | Contient la clé API Transloadit et les métadonnées de Signature Authentication pour une requête de métadonnées de stockage.
|
params. | stringHorodatage d’expiration au format ISO 8601 situé dans le futur. Obligatoire lorsqu’une requête est signée ou nécessite Signature Authentication ; les requêtes authentifiées par jeton porteur peuvent l’omettre. |
params. | stringClé API Transloadit utilisée pour authentifier les requêtes |
Réponse
Voici un exemple de corps de réponse :
{
"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"
}Succès 2xx
Corps de la réponse JSON. application/json text/plain; charset=utf-8
Schéma du corps de la réponse
Schéma JSON complet
La réponse contient uniquement les champs répertoriés pour cet objet.
| Champ | Type et description |
|---|---|
assetobligatoire |
|
asset.obligatoire | stringIdentifiant stable de la ressource. Il reste inchangé lors des déplacements et renommages natifs ; utilisez-le sans version pour sélectionner les octets actuels. Motif de validation (expression régulière)^[A-Za-z0-9_-]{21}[AQgw]$ |
asset. | booleanIndique si l’image possède un canal alpha, même si tous ses pixels sont opaques. Présent lorsque l’extraction ThumbHash réussit ; son absence signifie que l’information est inconnue. |
asset. | integer (minimum exclusif : 0, maximum : 9007199254740991)Hauteur d’affichage en pixels, après application de l’orientation EXIF, lorsqu’elle est connue. |
asset. | stringSomme de contrôle MD5 en minuscules des octets stockés, lorsqu’elle est disponible. Motif de validation (expression régulière)^[a-f0-9]{32}$ |
asset.obligatoire | null | stringType MIME des octets stockés, ou null si ce type est inconnu. |
asset.obligatoire | string (longueur minimale : 1)Emplacement actuel modifiable, relatif au Workspace. Un renommage rend le chemin précédent obsolète ; un écrasement peut modifier les octets à ce chemin. |
asset. | stringSomme de contrôle SHA-256 en minuscules des octets stockés, lorsqu’elle est disponible. Motif de validation (expression régulière)^[a-f0-9]{64}$ |
asset.obligatoire | integer (minimum : 0, maximum : 9007199254740991)Taille du fichier stocké en octets. |
asset. | stringThumbHash encodé en Base64 des pixels affichés de cette version, lorsqu’il est demandé avec output_meta.thumbhash sur le Step qui l’a produite. Il s’agit de données d’image : appliquez les mêmes contrôles d’accès que pour l’original. Motif de validation (expression régulière)^(?:[A-Za-z0-9+/]{4}){1,15}(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)$ |
asset.obligatoire | stringVersion exacte et immuable de cette ressource. Associez-la à asset_id pour sélectionner les octets conservés ; une version manquante n’entraîne jamais de repli vers la version actuelle. Motif de validation (expression régulière)^[A-Za-z0-9_-]{21}[AQgw]$ |
asset. | integer (minimum exclusif : 0, maximum : 9007199254740991)Largeur d’affichage en pixels, après application de l’orientation EXIF, lorsqu’elle est connue. |
asset.obligatoire | string (longueur minimale : 1)Slug du Workspace propriétaire de cette ressource. Authentifiez-vous pour ce même Workspace lorsque vous la consultez ou la gérez. |
messageobligatoire | string (longueur minimale : 1) |
okobligatoire | string (toujours : "DAM_ASSET_FOUND") |
Réponse d’erreur
Corps de la réponse JSON. application/json text/plain; charset=utf-8
Schéma du corps de la réponse
Schéma JSON complet
La réponse peut contenir des champs supplémentaires.
| Champ | Type et description |
|---|---|
assembly_id | string |
error | string (longueur minimale : 1) |
http_code | number | string
|
message | stringExplication de l’erreur destinée à être lue par un humain. Sa formulation peut varier ; utilisez le code |
reason | null | string | number | boolean | Array<n’importe quelle valeur> | objectN’importe lequel des schémas suivants peut s’appliquer : nullstringnumberbooleanArray<n’importe quelle valeur>Array<n’importe quelle valeur>Schéma d’un élément de tableaun’importe quelle valeurobjectobjectSchéma de la propriété supplémentairen’importe quelle valeur |