Point d’entrée des bibliothèques
Une bibliothèque est un ensemble de ressources de balises (extensions, règles et éléments de données) qui représentent le comportement souhaité d’une propriété. Le point d’entrée /libraries
de l’API Reactor vous permet de gérer les bibliothèques de vos propriétés de balise par programme.
Une bibliothèque appartient à une seule propriété exactement. Une propriété peut comporter de nombreuses bibliothèques.
Prise en main
Le point d’entrée utilisé dans ce guide fait partie de lʼAPI Reactor. Avant de poursuivre, consultez le guide de prise en main pour obtenir des informations importantes sur la procédure à suivre pour s’authentifier auprès de l’API.
Avant de travailler avec des bibliothèques dans l’API Reactor, il est important de comprendre les rôles joués par l’état et les environnements d’une bibliothèque pour déterminer les actions que vous pouvez effectuer sur une bibliothèque particulière. Pour plus d’informations, consultez le guide sur le flux de publication des bibliothèques.
Récupération dʼune liste de bibliothèques list
Vous pouvez récupérer une liste de bibliothèques pour une propriété en incluant l’identifiant de la propriété dans le chemin d’accès d’une requête GET.
Format d’API
GET /properties/{PROPERTY_ID}/libraries
PROPERTY_ID
id
de la propriété qui détient les bibliothèques.created_at
name
published_at
stale
state
updated_at
Requête
curl -X GET \
https://reactor.adobe.io/properties/PR4bc17fb09ed845b1acfb0f6600a1f3c0/libraries \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Réponse
Une réponse réussie renvoie une liste de bibliothèques pour la propriété spécifiée.
{
"data": [
{
"id": "LBb174d60bdbd34f87a2e9466fadaacae0",
"type": "libraries",
"attributes": {
"created_at": "2020-12-14T17:44:10.776Z",
"name": "My Library",
"published_at": null,
"state": "development",
"updated_at": "2020-12-14T17:44:10.776Z",
"build_required": true
},
"relationships": {
"builds": {
"links": {
"related": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/builds"
}
},
"environment": {
"links": {
"self": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/relationships/environment"
},
"data": null
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/data_elements",
"self": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/relationships/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/extensions",
"self": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/relationships/extensions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/notes"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/rules",
"self": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/relationships/rules"
}
},
"upstream_library": {
"data": null
},
"property": {
"links": {
"related": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/property"
},
"data": {
"id": "PR4bc17fb09ed845b1acfb0f6600a1f3c0",
"type": "properties"
}
},
"last_build": {
"links": {
"related": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0/last_build"
},
"data": null
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR4bc17fb09ed845b1acfb0f6600a1f3c0",
"self": "https://reactor.adobe.io/libraries/LBb174d60bdbd34f87a2e9466fadaacae0"
},
"meta": {
"build_status": null,
"build_required_detail": "No build found since last state change"
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Recherche d’une bibliothèque lookup
Vous pouvez rechercher une bibliothèque en fournissant son identifiant dans le chemin d’accès d’une requête GET.
Format d’API
GET /libraries/{LIBRARY_ID}
LIBRARY_ID
id
de la bibliothèque que vous souhaitez rechercher.Requête
curl -X GET \
https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Réponse
Une réponse réussie renvoie les détails de la bibliothèque.
{
"data": {
"id": "LB5862ee2dc21b4646a5536c8d6edb0c84",
"type": "libraries",
"attributes": {
"created_at": "2020-12-14T17:44:00.476Z",
"name": "My Library",
"published_at": null,
"state": "development",
"updated_at": "2020-12-14T17:44:00.476Z",
"build_required": true
},
"relationships": {
"builds": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/builds"
}
},
"environment": {
"links": {
"self": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/relationships/environment"
},
"data": null
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/data_elements",
"self": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/relationships/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/extensions",
"self": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/relationships/extensions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/notes"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/rules",
"self": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/relationships/rules"
}
},
"upstream_library": {
"data": null
},
"property": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/property"
},
"data": {
"id": "PRc90084c615844db58201d4e70d47b8bf",
"type": "properties"
}
},
"last_build": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/last_build"
},
"data": null
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRc90084c615844db58201d4e70d47b8bf",
"self": "https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84"
},
"meta": {
"build_status": null,
"build_required_detail": "No build found since last state change"
}
}
}
créer une bibliothèque ; create
Vous pouvez créer une bibliothèque en effectuant une requête POST.
Format d’API
POST /properties/{PROPERTY_ID}/libraries
PROPERTY_ID
id
de la propriété sous laquelle vous définissez la bibliothèque.Requête
La requête suivante crée une bibliothèque pour la propriété spécifiée. Lors de la création initiale d’une bibliothèque, seul son attribut name
peut être configuré. Pour ajouter des éléments de données, des extensions et des règles à la bibliothèque, vous devez créer des relations. Pour plus d’informations, consultez la section sur la gestion des ressources de bibliothèques.
curl -X POST \
https://reactor.adobe.io/properties/PR97d92a379a5f48758947cdf44f607a0d/libraries \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"attributes": {
"name": "My Library"
},
"type": "libraries"
}
}'
attributes.name
type
libraries
.Réponse
Une réponse réussie renvoie les détails de la bibliothèque nouvellement créée.
{
"data": {
"id": "DE8667bc64ceba4b599e8458ea4ab58b8f",
"type": "libraries",
"attributes": {
"created_at": "2020-12-14T17:33:21.774Z",
"deleted_at": null,
"dirty": true,
"enabled": true,
"name": "My library 2020-12-14 17:33:21 +0000",
"published": false,
"published_at": null,
"revision_number": 0,
"updated_at": "2020-12-14T17:33:21.774Z",
"clean_text": false,
"default_value": null,
"delegate_descriptor_id": "kessel-test::dataElements::dom-attribute",
"force_lower_case": false,
"review_status": "unsubmitted",
"storage_duration": null,
"settings": "{\"elementSelector\":\".target-element\",\"elementProperty\":\"html\"}"
},
"relationships": {
"libraries": {
"links": {
"related": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f/property"
},
"data": {
"id": "PR05ad70a8078f44c1a229ecf0da2802f2",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f/origin"
},
"data": {
"id": "DE8667bc64ceba4b599e8458ea4ab58b8f",
"type": "libraries"
}
},
"extension": {
"links": {
"related": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f/extension"
},
"data": {
"id": "EX28788723a8e24a2f927fce1b55eb7ffc",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"updated_with_extension": {
"links": {
"related": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f/updated_with_extension"
},
"data": {
"id": "EXd6bf04b143e64fe0ae7efe55a6655fa9",
"type": "extensions"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR05ad70a8078f44c1a229ecf0da2802f2",
"origin": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f",
"self": "https://reactor.adobe.io/libraries/DE8667bc64ceba4b599e8458ea4ab58b8f",
"extension": "https://reactor.adobe.io/extensions/EX28788723a8e24a2f927fce1b55eb7ffc"
},
"meta": {
"latest_revision_number": 0
}
}
}
Gestion des ressources pour une bibliothèque resources
Les éléments de données, les extensions, les règles et l’environnement associés à une bibliothèque sont établis par le biais de relations. Les sections ci-dessous expliquent comment gérer ces relations par le biais d’appels d’API.
Ajout de ressources à une bibliothèque add-resources
Vous pouvez ajouter des ressources à une bibliothèque en ajoutant /relationships
au chemin d’accès d’une requête POST, suivi du type de ressource.
Format d’API
POST /libraries/{LIBRARY_ID}/relationships/{RESOURCE_TYPE}
{LIBRARY_ID}
{RESOURCE_TYPE}
Type de ressource que vous ajoutez à la bibliothèque. Les valeurs suivantes sont acceptées :
data_elements
extensions
rules
Requête
La requête suivante ajoute deux éléments de données à une bibliothèque.
curl -X POST \
https://reactor.adobe.io/libraries/LBdd2f55e9c3bb4ce0a582a0b0c586a6f5/relationships/data_elements \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/json' \
-d '{
"data": [
{
"id": "DEce7fdee2afe44efeb4d974247d1e8dbe",
"type": "data_elements"
},
{
"id": "DE8097636264104451ac3a18c95d5ff833",
"type": "data_elements"
}
]
}'
id
type
Réponse
Une réponse réussie renvoie les détails des relations ajoutées. L’exécution d’une requête de recherche pour la bibliothèque affiche les relations ajoutées sous la propriété relationships
.
{
"data": [
{
"type": "data_elements",
"id": "DEce7fdee2afe44efeb4d974247d1e8dbe"
},
{
"id": "DE8097636264104451ac3a18c95d5ff833",
"type": "data_elements"
}
],
"links": {
"related": "https://reactor.adobe.io/libraries/LB09eca17e012842b49466506f419283a7/data_elements",
"self": "https://reactor.adobe.io/libraries/LB09eca17e012842b49466506f419283a7/relationships/data_elements"
}
}
Remplacement des ressources d’une bibliothèque replace-resources
Vous pouvez remplacer toutes les ressources d’un certain type qui existent pour une bibliothèque en ajoutant /relationships
au chemin d’accès d’une requête PATCH, suivi du type de ressource que vous remplacez.
Format d’API
PATCH /libraries/{LIBRARY_ID}/relationships/{RESOURCE_TYPE}
{LIBRARY_ID}
{RESOURCE_TYPE}
Type de ressource que vous remplacez. Les valeurs suivantes sont acceptées :
data_elements
extensions
rules
Requête
La requête suivante remplace les extensions d’une bibliothèque par celles fournies dans le tableau data
.
curl -X PATCH \
https://reactor.adobe.io/libraries/LBdd2f55e9c3bb4ce0a582a0b0c586a6f5/relationships/environment \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/json' \
-d '{
"data": [
{
"id": "EX58312732fd0f43f98037d765ef96c4cd",
"type": "extensions"
}
]
}'
id
type
Réponse
Une réponse réussie renvoie les détails des relations mises à jour. L’exécution d’une requête de recherche pour la bibliothèque affiche les relations sous la propriété relationships
.
{
"data": [
{
"type": "extensions",
"id": "EX58312732fd0f43f98037d765ef96c4cd"
}
],
"links": {
"related": "https://reactor.adobe.io/libraries/LBdbc7c49ac8f040bc9576db26b127444d/extensions",
"self": "https://reactor.adobe.io/libraries/LBdbc7c49ac8f040bc9576db26b127444d/relationships/extensions"
}
}
Suppression de ressources d’une bibliothèque remove-resources
Vous pouvez supprimer des ressources existantes d’une bibliothèque en ajoutant /relationships
au chemin d’accès d’une requête DELETE, suivi du type de ressource que vous supprimez.
Format d’API
DELETE /libraries/{LIBRARY_ID}/relationships/{RESOURCE_TYPE}
{LIBRARY_ID}
{RESOURCE_TYPE}
Type de ressource que vous supprimez. Les valeurs suivantes sont acceptées :
data_elements
extensions
rules
Requête
La requête suivante supprime une règle d’une bibliothèque. Les règles existantes qui ne sont pas incluses dans le tableau data
ne sont pas supprimées.
curl -X DELETE \
https://reactor.adobe.io/libraries/LBdd2f55e9c3bb4ce0a582a0b0c586a6f5/relationships/environment \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/json' \
-d '{
"data": [
{
"id": "RLa16f7859c7404239940c2cf2ec02b03c",
"type": "rules"
}
]
}'
id
type
Réponse
Une réponse réussie renvoie les détails des relations mises à jour pour le type de ressource. S’il n’existe aucune relation pour ce type de ressource, la propriété data
est renvoyée sous la forme d’un tableau vide. L’exécution d’une requête de recherche pour la bibliothèque affiche les relations sous la propriété relationships
.
{
"data": [
],
"links": {
"related": "https://reactor.adobe.io/libraries/LBbde5759742844fe59458ca0c988ecd61/rules",
"self": "https://reactor.adobe.io/libraries/LBbde5759742844fe59458ca0c988ecd61/relationships/rules"
}
}
Affectation d’une bibliothèque à un environnement environment
Vous pouvez affecter une bibliothèque à un environnement en ajoutant /relationships/environment
au chemin d’accès d’une requête POST.
Format d’API
POST /libraries/{LIBRARY_ID}/relationships/environment
{LIBRARY_ID}
Requête
curl -X POST \
https://reactor.adobe.io/libraries/LBdd2f55e9c3bb4ce0a582a0b0c586a6f5/relationships/environment \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Accept: application/vnd.api+json;revision=1' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"id": "EN867c480dc5ea4158be3ea68e5543bd85",
"type": "environments"
}
}'
id
type
environments
.Réponse
Une réponse réussie renvoie les détails de la relation. L’exécution d’une requête de recherche pour la bibliothèque affiche la relation ajoutée sous la propriété relationships
.
{
"data": {
"id": "EN867c480dc5ea4158be3ea68e5543bd85",
"type": "environments"
},
"links": {
"related": "https://reactor.adobe.io/libraries/LBdd2f55e9c3bb4ce0a582a0b0c586a6f5/environment",
"self": "https://reactor.adobe.io/libraries/LBdd2f55e9c3bb4ce0a582a0b0c586a6f5/relationships/environment"
}
}
Transition d’une bibliothèque transition
Vous pouvez effectuer la transition d’une bibliothèque vers un autre état de publication en incluant son identifiant dans le chemin d’accès d’une requête PATCH et en fournissant une valeur meta.action
appropriée dans le payload.
Format d’API
PATCH /libraries/{LIBRARY_ID}
LIBRARY_ID
id
de la bibliothèque dont vous souhaitez effectuer la transition.Requête
La requête suivante entraîne la transition de l’état d’une bibliothèque existante, en fonction de la valeur meta.action
fournie dans le payload. Les actions disponibles pour une bibliothèque dépendent de son état de publication actuel, comme indiqué dans le flux de publication.
curl -X PATCH \
https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json' \
-d '{
"data": {
"id": "LB80c337c956804738b2db2ea2f69fcdf0",
"type": "libraries",
"meta": {
"action": "submit"
}
}
}'
meta.action
Action de transition spécifique que vous souhaitez effectuer sur la bibliothèque. Les actions suivantes sont disponibles, selon l’état de publication actuel de la bibliothèque :
develop
submit
approve
reject
id
id
de la bibliothèque que vous souhaitez mettre à jour. Cela doit correspondre à la valeur {LIBRARY_ID}
fournie dans le chemin d’accès de la requête.type
libraries
.Réponse
Une réponse réussie renvoie les détails de la bibliothèque mise à jour.
{
"data": {
"id": "LB80c337c956804738b2db2ea2f69fcdf0",
"type": "libraries",
"attributes": {
"created_at": "2020-12-14T17:47:57.783Z",
"name": "My Library",
"published_at": null,
"state": "submitted",
"updated_at": "2020-12-14T17:48:06.431Z",
"build_required": true
},
"relationships": {
"builds": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/builds"
}
},
"environment": {
"links": {
"self": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/relationships/environment"
},
"data": null
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/data_elements",
"self": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/relationships/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/extensions",
"self": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/relationships/extensions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/notes"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/rules",
"self": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/relationships/rules"
}
},
"upstream_library": {
"data": null
},
"property": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/property"
},
"data": {
"id": "PRbc84c93c1c9f48c9836ade5ea4199006",
"type": "properties"
}
},
"last_build": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/last_build"
},
"data": {
"id": "BL8d6e931f2f6d48ea96d6730122f13bcc",
"type": "builds"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRbc84c93c1c9f48c9836ade5ea4199006",
"self": "https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0"
},
"meta": {
"build_status": null,
"build_required_detail": "No build found since last state change"
}
}
}
Publication d’une bibliothèque publish
Pour publier une bibliothèque en production, vérifiez qu’un environnement de production a été ajouté à la bibliothèque, puis créez une version.
Format d’API
POST /libraries/{LIBRARY_ID}/builds
LIBRARY_ID
id
de la bibliothèque que vous souhaitez publier.Requête
Cette requête ne nécessite pas de payload.
curl -X POST \
https://reactor.adobe.io/libraries/LB80c337c956804738b2db2ea2f69fcdf0/builds \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: application/json'
Réponse
{
"data": {
"id": "BL162b63703eb74c6bb3c12471e0062c05",
"type": "builds",
"attributes": {
"created_at": "2020-12-14T17:48:18.731Z",
"status": "pending",
"updated_at": "2020-12-14T17:48:18.731Z",
"token": "b223fc55df1c"
},
"relationships": {
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/builds/BL162b63703eb74c6bb3c12471e0062c05/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/builds/BL162b63703eb74c6bb3c12471e0062c05/extensions"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/builds/BL162b63703eb74c6bb3c12471e0062c05/rules"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/builds/BL162b63703eb74c6bb3c12471e0062c05/environment"
},
"data": {
"id": "EN5428335fff304c749f06a241db137a60",
"type": "environments"
}
},
"library": {
"links": {
"related": "https://reactor.adobe.io/builds/BL162b63703eb74c6bb3c12471e0062c05/library"
},
"data": {
"id": "LBa937e62887e94d85b77cbe703f5dfc56",
"type": "libraries"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/builds/BL162b63703eb74c6bb3c12471e0062c05/property"
},
"data": {
"id": "PR7e2b7aaaffcb499398010ba964603415",
"type": "properties"
}
}
},
"links": {
"environment": "https://reactor.adobe.io/environments/EN5428335fff304c749f06a241db137a60",
"library": "https://reactor.adobe.io/libraries/LBa937e62887e94d85b77cbe703f5dfc56",
"self": "https://reactor.adobe.io/builds/BL162b63703eb74c6bb3c12471e0062c05"
},
"meta": {
"artifact_url": "https://assets.adobedtm.com/staging/f9fd106ab399/8b659dd115cf/launch-5986a1b644a4-development.min.js",
"direct_artifact_url": "https://assets.adobedtm.com/staging/f9fd106ab399/8b659dd115cf/b223fc55df1c/launch-5986a1b644a4-development.min.js",
"archive": false,
"host_type_of": "akamai"
}
}
}
Gestion des notes d’une bibliothèque notes
Les bibliothèques sont des ressources « notables », ce qui signifie que vous pouvez créer et récupérer des notes textuelles sur chaque ressource. Pour plus d’informations sur la gestion des notes pour les bibliothèques et d’autres ressources compatibles, consultez le guide des points d’entrée de notes.
Récupération de ressources associées pour une bibliothèque related
Les appels suivants montrent comment récupérer les ressources associées pour une bibliothèque. Lors d’une recherche de bibliothèque, ces relations sont répertoriées sous la propriété relationships
.
Pour plus d’informations sur les relations dans l’API Reactor, consultez le guide des relations.
Liste des éléments de données associés pour une bibliothèque data-elements
Vous pouvez répertorier les éléments de données utilisés par une bibliothèque en ajoutant /data_elements
au chemin d’accès d’une requête de recherche.
Format d’API
GET /libraries/{LIBRARY_ID}/data_elements
{LIBRARY_ID}
id
de la bibliothèque dont vous souhaitez répertorier les éléments de données.Requête
curl -X GET \
https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/data_elements \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Réponse
Une réponse réussie renvoie une liste d’éléments de données qui utilisent la bibliothèque spécifiée.
{
"data": [
{
"id": "DE4956628e8baa4b358cc592337049b37b",
"type": "data_elements",
"attributes": {
"created_at": "2020-12-14T17:45:11.694Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "My Data Element 2020-12-14 17:45:10 +0000",
"published": false,
"published_at": null,
"revision_number": 1,
"updated_at": "2020-12-14T17:45:11.694Z",
"clean_text": false,
"default_value": null,
"delegate_descriptor_id": "kessel-test::dataElements::dom-attribute",
"force_lower_case": false,
"review_status": "unsubmitted",
"storage_duration": null,
"settings": "{\"elementProperty\":\"html\",\"elementSelector\":\".target-element\"}"
},
"relationships": {
"libraries": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE4956628e8baa4b358cc592337049b37b/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE4956628e8baa4b358cc592337049b37b/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE4956628e8baa4b358cc592337049b37b/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE4956628e8baa4b358cc592337049b37b/property"
},
"data": {
"id": "PR245ca5e560784249b2a88ef82f2851b6",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE4956628e8baa4b358cc592337049b37b/origin"
},
"data": {
"id": "DE4c027939f2004fdcb15e3b4099e70974",
"type": "data_elements"
}
},
"extension": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE4956628e8baa4b358cc592337049b37b/extension"
},
"data": {
"id": "EX5942ffd7fac94428875bd664e397bd47",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE4956628e8baa4b358cc592337049b37b/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"updated_with_extension": {
"links": {
"related": "https://reactor.adobe.io/data_elements/DE4956628e8baa4b358cc592337049b37b/updated_with_extension"
},
"data": {
"id": "EXbf411638b90843c486254b5ca0fe47d6",
"type": "extensions"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR245ca5e560784249b2a88ef82f2851b6",
"origin": "https://reactor.adobe.io/data_elements/DE4c027939f2004fdcb15e3b4099e70974",
"self": "https://reactor.adobe.io/data_elements/DE4956628e8baa4b358cc592337049b37b",
"extension": "https://reactor.adobe.io/extensions/EX5942ffd7fac94428875bd664e397bd47"
},
"meta": {
"latest_revision_number": 1
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Liste des extensions associées pour une bibliothèque extensions
Vous pouvez répertorier les extensions utilisées par une bibliothèque en ajoutant /extensions
au chemin d’accès d’une requête de recherche.
Format d’API
GET /libraries/{LIBRARY_ID}/extensions
{LIBRARY_ID}
id
de la bibliothèque dont vous souhaitez répertorier les extensions.Requête
curl -X GET \
https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/extensions \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Réponse
Une réponse réussie renvoie une liste d’extensions qui utilisent la bibliothèque spécifiée.
{
"data": [
{
"id": "EXac1e55883e5b47eb9a3589b311960677",
"type": "extensions",
"attributes": {
"created_at": "2020-12-14T17:45:23.759Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "kessel-test",
"published": false,
"published_at": null,
"revision_number": 1,
"updated_at": "2020-12-14T17:45:23.759Z",
"delegate_descriptor_id": null,
"display_name": "Kessel Test",
"review_status": "unsubmitted",
"version": "1.2.0",
"settings": "{}"
},
"relationships": {
"libraries": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXac1e55883e5b47eb9a3589b311960677/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXac1e55883e5b47eb9a3589b311960677/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXac1e55883e5b47eb9a3589b311960677/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXac1e55883e5b47eb9a3589b311960677/property"
},
"data": {
"id": "PR2d1f3ba867204dc7a4c17614d23bbab0",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXac1e55883e5b47eb9a3589b311960677/origin"
},
"data": {
"id": "EX63cf3b91ec8146889759bbacb15627c3",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXac1e55883e5b47eb9a3589b311960677/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXac1e55883e5b47eb9a3589b311960677/extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR2d1f3ba867204dc7a4c17614d23bbab0",
"origin": "https://reactor.adobe.io/extensions/EX63cf3b91ec8146889759bbacb15627c3",
"self": "https://reactor.adobe.io/extensions/EXac1e55883e5b47eb9a3589b311960677",
"extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a",
"latest_extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a"
},
"meta": {
"latest_revision_number": 1
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Liste des règles associées pour une bibliothèque rules
Vous pouvez répertorier les règles utilisées par une bibliothèque en ajoutant /rules
au chemin d’accès d’une requête de recherche.
Format d’API
GET /libraries/{LIBRARY_ID}/rules
{LIBRARY_ID}
id
de la bibliothèque dont vous souhaitez répertorier les règles.Requête
curl -X GET \
https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/rules \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Réponse
Une réponse réussie renvoie une liste de règles qui utilisent la bibliothèque spécifiée.
{
"data": [
{
"id": "RL460e550125054fffb824cce56c8cb1ac",
"type": "rules",
"attributes": {
"created_at": "2020-12-14T17:45:36.405Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "Example Rule",
"published": false,
"published_at": null,
"revision_number": 1,
"updated_at": "2020-12-14T17:45:36.405Z",
"review_status": "unsubmitted"
},
"relationships": {
"libraries": {
"links": {
"related": "https://reactor.adobe.io/rules/RL460e550125054fffb824cce56c8cb1ac/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/rules/RL460e550125054fffb824cce56c8cb1ac/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/rules/RL460e550125054fffb824cce56c8cb1ac/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/rules/RL460e550125054fffb824cce56c8cb1ac/property"
},
"data": {
"id": "PRa68d0d2c6e0a4ae380fb30f17f7c435d",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/rules/RL460e550125054fffb824cce56c8cb1ac/origin"
},
"data": {
"id": "RL04911614524d463a9c115bea442bce72",
"type": "rules"
}
},
"rule_components": {
"links": {
"related": "https://reactor.adobe.io/rules/RL460e550125054fffb824cce56c8cb1ac/rule_components"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRa68d0d2c6e0a4ae380fb30f17f7c435d",
"origin": "https://reactor.adobe.io/rules/RL04911614524d463a9c115bea442bce72",
"self": "https://reactor.adobe.io/rules/RL460e550125054fffb824cce56c8cb1ac",
"rule_components": "https://reactor.adobe.io/rules/RL460e550125054fffb824cce56c8cb1ac/rule_components"
},
"meta": {
"latest_revision_number": 1
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Recherche de l’environnement associé pour une bibliothèque related-environment
Vous pouvez rechercher l’environnement auquel une bibliothèque est affectée en ajoutant /environment
au chemin d’accès d’une requête GET.
Format d’API
GET /libraries/{LIBRARY_ID}/environment
{LIBRARY_ID}
id
de la bibliothèque dont vous souhaitez rechercher l’environnement.Requête
curl -X GET \
https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/environment \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Réponse
Une réponse réussie renvoie les détails de l’environnement auquel la bibliothèque spécifiée est affectée.
{
"data": {
"id": "ENe66122e6793641d8a8453f63c42e4270",
"type": "environments",
"attributes": {
"archive": false,
"created_at": "2020-12-14T17:39:12.484Z",
"library_path": "f9fd106ab399/2df53b69e8a2",
"library_name": "launch-1d2ffee7eef5-development.min.js",
"library_entry_points": [
{
"library_name": "launch-1d2ffee7eef5-development.min.js",
"minified": true,
"references": [
"f9fd106ab399/2df53b69e8a2/launch-1d2ffee7eef5-development.min.js"
],
"license_path": "f9fd106ab399/2df53b69e8a2/launch-1d2ffee7eef5-development.js"
},
{
"library_name": "launch-1d2ffee7eef5-development.js",
"minified": false,
"references": [
"f9fd106ab399/2df53b69e8a2/launch-1d2ffee7eef5-development.js"
]
}
],
"name": "Development Environment A",
"path": "https://assets.adobedtm.com/staging",
"stage": "development",
"updated_at": "2020-12-14T17:39:13.988Z",
"status": "succeeded",
"token": "1d2ffee7eef5"
},
"relationships": {
"library": {
"links": {
"related": "https://reactor.adobe.io/environments/ENe66122e6793641d8a8453f63c42e4270/library"
},
"data": {
"id": "LB52ccd7f1e99146999f90cb3bca4940a2",
"type": "libraries"
}
},
"builds": {
"links": {
"related": "https://reactor.adobe.io/environments/ENe66122e6793641d8a8453f63c42e4270/builds"
}
},
"host": {
"links": {
"related": "https://reactor.adobe.io/environments/ENe66122e6793641d8a8453f63c42e4270/host",
"self": "https://reactor.adobe.io/environments/ENe66122e6793641d8a8453f63c42e4270/relationships/host"
},
"data": {
"id": "HT53a4ebcb177d431e8fd26929930de0af",
"type": "hosts"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/environments/ENe66122e6793641d8a8453f63c42e4270/property"
},
"data": {
"id": "PR79de7e0885a9451786f1bf4b9136a72c",
"type": "properties"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR79de7e0885a9451786f1bf4b9136a72c",
"self": "https://reactor.adobe.io/environments/ENe66122e6793641d8a8453f63c42e4270"
},
"meta": {
"archive_encrypted": false
}
}
}
Recherche de la propriété associée pour une bibliothèque property
Vous pouvez rechercher la propriété qui détient une bibliothèque en ajoutant /property
au chemin d’accès d’une requête GET.
Format d’API
GET /libraries/{LIBRARY_ID}/property
{LIBRARY_ID}
id
de la bibliothèque dont vous souhaitez rechercher la propriété.Requête
curl -X GET \
https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/property \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Réponse
Une réponse réussie renvoie les détails de la propriété qui détient la bibliothèque spécifiée.
{
"data": {
"id": "PRb18ac8f8b69d4f99af43870e91c17543",
"type": "properties",
"attributes": {
"created_at": "2020-12-14T17:51:56.180Z",
"enabled": true,
"name": "Kessel Example Property",
"updated_at": "2020-12-14T17:51:56.180Z",
"platform": "web",
"development": false,
"token": "9d97006b0f9b",
"domains": [
"example.com"
],
"undefined_vars_return_empty": false,
"rule_component_sequencing_enabled": false
},
"relationships": {
"company": {
"links": {
"related": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/company"
},
"data": {
"id": "CO2bf094214ffd4785bb4bcf88c952a7c1",
"type": "companies"
}
},
"callbacks": {
"links": {
"related": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/callbacks"
}
},
"hosts": {
"links": {
"related": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/hosts"
}
},
"environments": {
"links": {
"related": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/environments"
}
},
"libraries": {
"links": {
"related": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/libraries"
}
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/extensions"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/rules"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/notes"
}
}
},
"links": {
"company": "https://reactor.adobe.io/companies/CO2bf094214ffd4785bb4bcf88c952a7c1",
"data_elements": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/data_elements",
"environments": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/environments",
"extensions": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/extensions",
"rules": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543/rules",
"self": "https://reactor.adobe.io/properties/PRb18ac8f8b69d4f99af43870e91c17543"
},
"meta": {
"rights": [
"approve",
"develop",
"manage_environments",
"manage_extensions",
"publish"
]
}
}
}
Recherche d’une bibliothèque en amont upstream
Vous pouvez rechercher la bibliothèque suivante en amont à partir d’une bibliothèque en ajoutant /upstream_library
au chemin d’accès d’une requête GET.
Format d’API
GET /libraries/{LIBRARY_ID}/upstream_library
{LIBRARY_ID}
id
de la bibliothèque dont vous souhaitez rechercher la bibliothèque en amont.Requête
curl -X GET \
https://reactor.adobe.io/libraries/LB5862ee2dc21b4646a5536c8d6edb0c84/upstream_library \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H "Content-Type: application/vnd.api+json" \
-H 'Accept: application/vnd.api+json;revision=1'
Réponse
Une réponse réussie renvoie les détails de la bibliothèque en amont.
{
"data": {
"id": "LB29cc2f86b3684e00a10d196a60f4b0c0",
"type": "libraries",
"attributes": {
"created_at": "2020-12-14T17:49:32.459Z",
"name": "My Library",
"published_at": null,
"state": "submitted",
"updated_at": "2020-12-14T17:49:41.070Z",
"build_required": true
},
"relationships": {
"builds": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/builds"
}
},
"environment": {
"links": {
"self": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/relationships/environment"
},
"data": null
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/data_elements",
"self": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/relationships/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/extensions",
"self": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/relationships/extensions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/notes"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/rules",
"self": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/relationships/rules"
}
},
"upstream_library": {
"data": null
},
"property": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/property"
},
"data": {
"id": "PR7c206ed399644222aef329488cee7fa7",
"type": "properties"
}
},
"last_build": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0/last_build"
},
"data": {
"id": "BL87cde018ecd44ac7a20b0271ab06d04b",
"type": "builds"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR7c206ed399644222aef329488cee7fa7",
"self": "https://reactor.adobe.io/libraries/LB29cc2f86b3684e00a10d196a60f4b0c0"
},
"meta": {
"build_status": null,
"build_required_detail": "No build found since last state change"
}
}
}