Passer au contenu principal
Toutes les collectionsDéveloppement & intégrationDAM
Comment ajouter un nouveau média / asset à votre DAM via l'API Quable ?
Comment ajouter un nouveau média / asset à votre DAM via l'API Quable ?
Lucien Berkani avatar
Écrit par Lucien Berkani
Mis à jour il y a plus d'un an

Quable vous donne la possibilité de pousser vos médias via API.

Vous pouvez ajouter un média :

  • Soit avec un lien externe

  • soit en ajoutant votre fichier média dans le CDN Quable, avec un lien dit interne.

Avec un lien externe

Voici un exemple avec Python, qui appel l'API [POST] /api/assets :

import requests
import json

url = "{{host}}/api/assets"

payload = json.dumps({
"id": "sweat-capuche-bleu",
"classification": {
"id": "dam_sort"
},
"attributes": {
"media_nom_photographe": {
"fr_FR": "John Doe"
}
},
"remotePath": "https://www.mydomain.com/myfile.jpg"
})
headers = {
'Accept': 'application/ld+json',
'Authorization': 'Bearer {{pim_token}}',
'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

À noter que, dans ce cas, le DAM Quable référence l'asset fourni, mais la source binaire du fichier reste l'URL que vous avez fourni (remotePath).

Avec un lien interne

Dans ce cas, il faut faire deux appels API :

  • le premier pour charger votre fichier média dans le stockage Quable

  • le second pour créer votre fiche média dans votre DAM

Charger votre fichier média

Voici un exemple avec Python, qui appel l'API [POST] /api/files :

import requests

url = "{{host}}/api/files"

payload={'fileType': 'asset'}
files=[
('file',('file',open('/path/to/file','rb'),'application/octet-stream'))
]
headers = {
'Authorization': 'Bearer {{pim_token}}'
}

response = requests.request("POST", url, headers=headers, data=payload, files=files)

print(response.text)

Un "id" est renvoyé dans la réponse JSON :

{
"id": "__ID__",
"name": "votre_nom_de_fichier.jpg",
"location": {
"container": "votre-instance-dam",
"filename": "98c0640d-dfbe-429f-9802-28f9ad7f9d54"
},
"metadatas": {
"mime_type": "image/jpg"
},
"status": "available",
"type": "asset",
"dateCreated": "2023-04-26T14:41:12+00:00",
"dateModified": "2023-04-26T14:41:12+00:00"
}

Associer ce fichier à un asset dans le DAM Quable

Vous utilisez ensuite cette ID pour créer une fiche média dans le DAM Quable, comme dans l'exemple ci-dessous :

import requests
import json

url = "{{host}}/api/assets"

payload = json.dumps({
"id": "sweat-capuche-bleu",
"file": {
"id": "__ID__"
},
"classification": {
"id": "dam_sort"
},
"attributes": {
"media_nom_photographe": {
"fr_FR": "John Doe"
}
}
})
headers = {
'Authorization': 'Bearer {{pim_token}}',
'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Dans ce cas, le lien de téléchargement de votre fiche média pointe vers le CDN de Quable. Il a le format suivant :

Avez-vous trouvé la réponse à votre question ?