L’ API HTTP Assets consente operazioni di creazione-lettura-aggiornamento-eliminazione (CRUD) sulle risorse digitali, compresi i metadati, le rappresentazioni e i commenti, nonché contenuti strutturati utilizzando Experience Manager Frammenti di contenuto. Viene esposto in /api/assets
e implementato come API REST. Include il supporto di Frammenti di contenuto.
Per accedere all’API:
https://[hostname]:[port]/api.json
.https://[hostname]:[server]/api/assets.json
.La risposta API è un file JSON per alcuni tipi MIME e un codice di risposta per tutti i tipi MIME. La risposta JSON è facoltativa e potrebbe non essere disponibile, ad esempio per i file PDF. Per ulteriori analisi o azioni, fai riferimento al codice di risposta.
Tutte le chiamate API relative al caricamento o all’aggiornamento di risorse o file binari in generale (come le rappresentazioni) sono obsolete per Experience Manager come distribuzione Cloud Service. Per caricare i file binari, utilizza invece le API di caricamento binario diretto a1/> .
Un Frammento di contenuto è un tipo speciale di risorsa. Può essere utilizzato per accedere a dati strutturati, quali testi, numeri, date, tra gli altri. Poiché esistono diverse differenze tra le risorse standard
(ad esempio immagini o documenti), per la gestione dei frammenti di contenuto si applicano alcune regole aggiuntive.
Per ulteriori informazioni, consulta Supporto dei frammenti di contenuto in Experience Manager Assets API HTTP.
L’ API HTTP Assets espone due elementi principali, cartelle e risorse (per le risorse standard). Inoltre, espone elementi più dettagliati per i modelli di dati personalizzati che descrivono contenuti strutturati in Frammenti di contenuto. Per ulteriori informazioni, consulta Modelli di dati dei frammenti di contenuto .
Le cartelle sono simili alle directory dei file system tradizionali. Le cartelle possono contenere solo risorse, solo cartelle o cartelle e risorse. Le cartelle hanno i seguenti componenti:
Entità: Le entità di una cartella sono i relativi elementi secondari, che possono essere cartelle e risorse.
Proprietà:
name
è il nome della cartella. È lo stesso dell’ultimo segmento nel percorso URL senza estensione.title
è un titolo facoltativo della cartella che può essere visualizzato al posto del suo nome.Alcune proprietà della cartella o della risorsa sono mappate a un prefisso diverso. Il prefisso jcr
di jcr:title
, jcr:description
e jcr:language
viene sostituito con il prefisso dc
. Quindi nei JSON restituiti, dc:title
e dc:description
contengono rispettivamente i valori di jcr:title
e jcr:description
.
LinksFolders mostrano tre collegamenti:
self
: Collega a se stesso.parent
: Collega alla cartella principale.thumbnail
: (Facoltativo) collega a un'immagine miniatura della cartella.In Experience Manager una risorsa contiene i seguenti elementi:
Per informazioni sugli elementi nei frammenti di contenuto, consulta Supporto dei frammenti di contenuto in Experience Manager Assets HTTP API.
In Experience Manager una cartella contiene i seguenti componenti:
L'API HTTP Assets include le seguenti funzionalità:
Per semplificare la leggibilità, gli esempi seguenti omettono le notazioni cURL complete. La notazione è correlata con Resty che è un wrapper di script per cURL.
Recupera una rappresentazione Siren di una cartella esistente e delle relative entità secondarie (sottocartelle o risorse).
Richiesta: GET /api/assets/myFolder.json
Codici di risposta: I codici di risposta sono:
Risposta: La classe dell’entità restituita è una risorsa o una cartella. Le proprietà delle entità contenute sono un sottoinsieme dell'intero insieme di proprietà di ciascuna entità. Per ottenere una rappresentazione completa dell’entità, i client devono recuperare il contenuto dell’URL indicato dal collegamento con un rel
di self
.
Crea un elemento sling
: OrderedFolder
nel percorso specificato. Se viene fornito *
al posto del nome di un nodo, il servlet utilizza il nome del parametro come nome del nodo. La richiesta accetta uno dei seguenti elementi:
application/www-form-urlencoded
o multipart
/ form
- data
. Sono utili per creare una cartella direttamente da un modulo HTML.Inoltre, le proprietà della cartella possono essere specificate come parametri di query URL.
Una chiamata API non riesce con un codice di risposta 500
se il nodo principale del percorso fornito non esiste. Una chiamata restituisce un codice di risposta 409
se la cartella esiste.
Parametri: name
è il nome della cartella.
Richiesta
POST /api/assets/myFolder -H"Content-Type: application/json" -d '{"class":"assetFolder","properties":{"title":"My Folder"}}'
POST /api/assets/* -F"name=myfolder" -F"title=My Folder"
Codici di risposta: I codici di risposta sono:
Per informazioni su come creare una risorsa, consulta Caricamento risorse . Non puoi creare una risorsa utilizzando l’API HTTP.
Per informazioni su come aggiornare i file binari delle risorse, consulta Caricamento risorse . Non è possibile aggiornare un binario di risorse utilizzando l’API HTTP.
Aggiorna le proprietà dei metadati della risorsa. Se aggiorni una proprietà nello spazio dei nomi dc:
, l’API aggiorna la stessa proprietà nello spazio dei nomi jcr
. L’API non sincronizza le proprietà sotto i due namespace.
Richiesta: PUT /api/assets/myfolder/myAsset.png -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc:title":"My Asset"}}'
Codici di risposta: I codici di risposta sono:
Crea un rendering per una risorsa. Se il nome del parametro della richiesta non viene fornito, il nome del file viene utilizzato come nome di rendering.
Parametri: I parametri sono name
per il nome del rendering e file
come riferimento al file.
Richiesta
POST /api/assets/myfolder/myasset.png/renditions/web-rendition -H"Content-Type: image/png" --data-binary "@myRendition.png"
POST /api/assets/myfolder/myasset.png/renditions/* -F"name=web-rendition" -F"file=@myRendition.png"
Codici di risposta
Gli aggiornamenti sostituiscono rispettivamente il rendering di una risorsa con i nuovi dati binari.
Richiesta: PUT /api/assets/myfolder/myasset.png/renditions/myRendition.png -H"Content-Type: image/png" --data-binary @myRendition.png
Codici di risposta: I codici di risposta sono:
Parametri: I parametri sono message
per il corpo del messaggio del commento e annotationData
per i dati di annotazione in formato JSON.
Richiesta: POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"
Codici di risposta: I codici di risposta sono:
Copia una cartella o una risorsa disponibile nel percorso specificato in una nuova destinazione.
Intestazioni richieste: I parametri sono:
X-Destination
- un nuovo URI di destinazione nell’ambito della soluzione API in cui copiare la risorsa.X-Depth
- infinity
o 0
. Utilizzando 0
viene copiata solo la risorsa e le relative proprietà e non le relative risorse figlie.X-Overwrite
- Da utilizzare F
per impedire la sovrascrittura di una risorsa nella destinazione esistente.Richiesta: COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"
Codici di risposta: I codici di risposta sono:
Sposta una cartella o una risorsa nel percorso specificato in una nuova destinazione.
Intestazioni richieste: I parametri sono:
X-Destination
- un nuovo URI di destinazione nell’ambito della soluzione API in cui copiare la risorsa.X-Depth
- infinity
o 0
. Utilizzando 0
viene copiata solo la risorsa e le relative proprietà e non le relative risorse figlie.X-Overwrite
- Utilizzare T
per eliminare forzatamente una risorsa esistente o F
per impedire la sovrascrittura di una risorsa esistente.Richiesta: MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"
Codici di risposta: I codici di risposta sono:
Elimina una risorsa (-tree) nel percorso specificato.
Richiesta
DELETE /api/assets/myFolder
DELETE /api/assets/myFolder/myAsset.png
DELETE /api/assets/myFolder/myAsset.png/renditions/original
Codici di risposta: I codici di risposta sono:
Dopo il Tempo di disattivazione, una risorsa e le relative rappresentazioni non sono disponibili tramite l’interfaccia web Assets e tramite l’API HTTP. L'API restituisce un messaggio di errore 404 se il Al momento è nel futuro o se il Tempo di disattivazione è nel passato.
L’API HTTP di Assets non restituisce i metadati completi. Gli spazi dei nomi sono codificati e vengono restituiti solo questi spazi dei nomi. Per metadati completi, vedi il percorso della risorsa /jcr_content/metadata.json
.
Alcune proprietà della cartella o della risorsa vengono mappate su un prefisso diverso quando vengono aggiornate utilizzando le API. Il prefisso jcr
di jcr:title
, jcr:description
e jcr:language
viene sostituito con il prefisso dc
. Quindi nei JSON restituiti, dc:title
e dc:description
contengono rispettivamente i valori di jcr:title
e jcr:description
.