Extremo de extensiones
En la API de Reactor, una extensión representa la instancia instalada de un paquete de extensiones. Una extensión hace que las funciones definidas por un paquete de extensiones estén disponibles para una propiedad. Estas funciones se aprovechan al crear extensiones y componentes de regla.
Una extensión pertenece exactamente a una propiedad. Una propiedad puede tener muchas extensiones, pero no más de una instancia instalada de un paquete de extensión determinado.
Primeros pasos
El extremo utilizado en esta guía forma parte de la API de Reactor. Antes de continuar, consulte la guía de introducción para obtener información importante sobre cómo autenticarse en la API.
Recuperación de una lista de extensiones list
Puede recuperar una lista de extensiones para una propiedad realizando una petición GET.
Formato de API
GET properties/{PROPERTY_ID}/extensions
{PROPERTY_ID}
id
de la propiedad cuyas extensiones desea enumerar.created_at
dirty
display_name
enabled
name
origin_id
published
published_at
revision_number
updated_at
version
Solicitud
curl -X GET \
https://reactor.adobe.io/properties/PRee071cb5b7794f42b74c913e1ad2e325/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'
Respuesta
Una respuesta correcta devuelve una lista de extensiones definidas en la propiedad especificada.
{
"data": [
{
"id": "EXd9d80c87afb6432ba823a58d3e78299b",
"type": "extensions",
"attributes": {
"created_at": "2020-12-14T17:40:21.000Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "kessel-test",
"published": false,
"published_at": null,
"revision_number": 0,
"updated_at": "2020-12-14T17:40:21.000Z",
"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/EXd9d80c87afb6432ba823a58d3e78299b/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd9d80c87afb6432ba823a58d3e78299b/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd9d80c87afb6432ba823a58d3e78299b/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd9d80c87afb6432ba823a58d3e78299b/property"
},
"data": {
"id": "PRee071cb5b7794f42b74c913e1ad2e325",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd9d80c87afb6432ba823a58d3e78299b/origin"
},
"data": {
"id": "EXd9d80c87afb6432ba823a58d3e78299b",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd9d80c87afb6432ba823a58d3e78299b/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd9d80c87afb6432ba823a58d3e78299b/extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRee071cb5b7794f42b74c913e1ad2e325",
"origin": "https://reactor.adobe.io/extensions/EXd9d80c87afb6432ba823a58d3e78299b",
"self": "https://reactor.adobe.io/extensions/EXd9d80c87afb6432ba823a58d3e78299b",
"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
}
}
}
Búsqueda de una extensión lookup
Puede buscar una extensión proporcionando su ID en la ruta de una petición GET.
deleted_at
en el meta
de los datos de extensión devueltos.Formato de API
GET /extensions/{EXTENSION_ID}
EXTENSION_ID
id
de la extensión que desea buscar.Solicitud
curl -X GET \
https://reactor.adobe.io/extensions/EX2ba586f436ac48e390a1ee7e8c9a8f6e \
-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'
Respuesta
Una respuesta correcta devuelve los detalles de la extensión.
{
"data": {
"id": "EX2ba586f436ac48e390a1ee7e8c9a8f6e",
"type": "extensions",
"attributes": {
"created_at": "2020-12-14T17:40:09.823Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "kessel-test",
"published": false,
"published_at": null,
"revision_number": 0,
"updated_at": "2020-12-14T17:40:09.823Z",
"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/EX2ba586f436ac48e390a1ee7e8c9a8f6e/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX2ba586f436ac48e390a1ee7e8c9a8f6e/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX2ba586f436ac48e390a1ee7e8c9a8f6e/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX2ba586f436ac48e390a1ee7e8c9a8f6e/property"
},
"data": {
"id": "PR2254ac6a096c4df38508700093d3e153",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX2ba586f436ac48e390a1ee7e8c9a8f6e/origin"
},
"data": {
"id": "EX2ba586f436ac48e390a1ee7e8c9a8f6e",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX2ba586f436ac48e390a1ee7e8c9a8f6e/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX2ba586f436ac48e390a1ee7e8c9a8f6e/extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR2254ac6a096c4df38508700093d3e153",
"origin": "https://reactor.adobe.io/extensions/EX2ba586f436ac48e390a1ee7e8c9a8f6e",
"self": "https://reactor.adobe.io/extensions/EX2ba586f436ac48e390a1ee7e8c9a8f6e",
"extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a",
"latest_extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a"
},
"meta": {
"latest_revision_number": 1
}
}
}
Creación o actualización de una extensión create
Las extensiones se crean haciendo referencia a un paquete de extensiones y añadiendo la extensión instalada a una propiedad. Cuando finaliza la tarea de instalación, se devuelve una respuesta que indica si la extensión se ha instalado correctamente.
Formato de API
POST /properties/{PROPERTY_ID}/extensions
PROPERTY_ID
id
de la propiedad en la que desea instalar la extensión.Solicitud
curl -X POST \
https://reactor.adobe.io/properties/PRee071cb5b7794f42b74c913e1ad2e325/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' \
-d '{
"data": {
"attributes": {
"delegate_descriptor_id": "example-package::extensionConfiguration::config",
"enabled": true,
"settings": "{\"elementProperty\":\"html\",\"elementSelector\":\".target-element\"}"
},
"relationships": {
"extension_package": {
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
}
},
"type": "extensions"
}
}'
relationships.extension_package
attributes.delegate_descriptor_id
attributes.enabled
attributes.settings
Respuesta
Una respuesta correcta devuelve los detalles de la extensión recién creada.
{
"data": {
"id": "EX8ce7ced633f34bd48d33089ff8fad082",
"type": "extensions",
"attributes": {
"created_at": "2020-12-14T17:32:56.137Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "kessel-test",
"published": false,
"published_at": null,
"revision_number": 0,
"updated_at": "2020-12-14T17:32:56.137Z",
"delegate_descriptor_id": "example-package::extensionConfiguration::config",
"display_name": "Kessel Test",
"review_status": "unsubmitted",
"version": "1.2.0",
"settings": "{\"elementProperty\":\"html\",\"elementSelector\":\".target-element\"}"
},
"relationships": {
"libraries": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/property"
},
"data": {
"id": "PRcf1f3e4c218b4caab8191fab003a8355",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/origin"
},
"data": {
"id": "EX8ce7ced633f34bd48d33089ff8fad082",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRcf1f3e4c218b4caab8191fab003a8355",
"origin": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082",
"self": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082",
"extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a",
"latest_extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a"
},
"meta": {
"latest_revision_number": 1
}
}
}
Revisión de una extensión revise
Puede revisar una extensión incluyendo su ID en la ruta de una petición PATCH.
Formato de API
PATCH /extensions/{EXTENSION_ID}
EXTENSION_ID
id
de la extensión que desea revisar.Solicitud
Al igual que con la creación de una extensión, se debe cargar una versión local del paquete revisado a través de los datos del formulario.
curl -X PATCH \
https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082 \
-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' \
-d '{
"data": {
"attributes": {
"enabled": false,
},
"meta": {
"action": "revise"
},
"id": "EX85509bc7baea4f8599bc44024ed3f110",
"type": "extensions"
}
}'
attributes
delegate_descriptor_id
, enabled
y settings
.meta.action
revise
al realizar una revisión.Respuesta
Una respuesta correcta devuelve los detalles de la extensión revisada, con su propiedad meta.latest_revision_number
aumentada en 1.
{
"data": {
"id": "EX8ce7ced633f34bd48d33089ff8fad082",
"type": "extensions",
"attributes": {
"created_at": "2020-12-14T17:32:56.137Z",
"deleted_at": null,
"dirty": false,
"enabled": false,
"name": "kessel-test",
"published": false,
"published_at": null,
"revision_number": 0,
"updated_at": "2020-12-14T17:32:56.137Z",
"delegate_descriptor_id": "example-package::extensionConfiguration::config",
"display_name": "Kessel Test",
"review_status": "unsubmitted",
"version": "1.2.0",
"settings": "{\"elementProperty\":\"html\",\"elementSelector\":\".target-element\"}"
},
"relationships": {
"libraries": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/property"
},
"data": {
"id": "PRcf1f3e4c218b4caab8191fab003a8355",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/origin"
},
"data": {
"id": "EX8ce7ced633f34bd48d33089ff8fad082",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRcf1f3e4c218b4caab8191fab003a8355",
"origin": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082",
"self": "https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082",
"extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a",
"latest_extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a"
},
"meta": {
"latest_revision_number": 2
}
}
}
Eliminación de una extensión private-release
Puede eliminar una extensión incluyendo su ID en la ruta de una petición DELETE.
Formato de API
DELETE /extensions/{EXTENSION_ID}
EXTENSION_ID
id
de la extensión que desea eliminar.Solicitud
curl -X DELETE \
https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}'
Respuesta
Una respuesta correcta devuelve el estado HTTP 204 (sin contenido) sin cuerpo de respuesta, lo que indica que la extensión se ha eliminado.
Administración de notas de una extensión notes
Las extensiones son recursos “anotables”, lo que significa que puede crear y recuperar notas basadas en texto en cada recurso individual. Consulte la guía de extremo de notas para obtener más información sobre cómo administrar notas para extensiones y otros recursos compatibles.
Recuperación de recursos relacionados para una extensión related
Las siguientes llamadas muestran cómo recuperar los recursos relacionados para una extensión. Cuando busca una extensión, estas relaciones se enumeran en la propiedad relationships
.
Consulte la guía de relaciones para obtener más información sobre las relaciones en la API de Reactor.
Enumeración de las bibliotecas relacionadas para una extensión libraries
Puede enumerar las bibliotecas que utilizan una extensión añadiendo /libraries
a la ruta de una solicitud de búsqueda.
Formato de API
GET /extensions/{EXTENSION_ID}/libraries
{EXTENSION_ID}
id
de la extensión cuyas bibliotecas desea enumerar.Solicitud
curl -X GET \
https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/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'
Respuesta
Una respuesta correcta devuelve una lista de bibliotecas que utilizan la extensión especificada.
{
"data": [
{
"id": "LB62d20ad807a949e6b13b0a2c7299eb65",
"type": "libraries",
"attributes": {
"created_at": "2020-12-14T17:50:19.589Z",
"name": "My Library",
"published_at": null,
"state": "development",
"updated_at": "2020-12-14T17:50:19.589Z",
"build_required": true
},
"relationships": {
"builds": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/builds"
}
},
"environment": {
"links": {
"self": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/relationships/environment"
},
"data": null
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/data_elements",
"self": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/relationships/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/extensions",
"self": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/relationships/extensions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/notes"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/rules",
"self": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/relationships/rules"
}
},
"upstream_library": {
"data": null
},
"property": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/property"
},
"data": {
"id": "PR241ba9cd56324ac192de68d658f20cb0",
"type": "properties"
}
},
"last_build": {
"links": {
"related": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65/last_build"
},
"data": null
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR241ba9cd56324ac192de68d658f20cb0",
"self": "https://reactor.adobe.io/libraries/LB62d20ad807a949e6b13b0a2c7299eb65"
},
"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
}
}
}
Enumeración de las revisiones relacionadas para una extensión revisions
Puede enumerar las revisiones anteriores de una extensión adjuntando /revisions
a la ruta de una solicitud de consulta.
Formato de API
GET /extensions/{EXTENSION_ID}/revisions
{EXTENSION_ID}
id
de la extensión cuyas revisiones desea enumerar.Solicitud
curl -X GET \
https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/revisions \
-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'
Respuesta
Una respuesta correcta devuelve una lista de revisiones para la extensión especificada.
{
"data": [
{
"id": "EXbfcca9f3ce9d40318b9115159a951e09",
"type": "extensions",
"attributes": {
"created_at": "2020-12-14T17:41:09.023Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "kessel-test",
"published": false,
"published_at": null,
"revision_number": 1,
"updated_at": "2020-12-14T17:41:09.023Z",
"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/EXbfcca9f3ce9d40318b9115159a951e09/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXbfcca9f3ce9d40318b9115159a951e09/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXbfcca9f3ce9d40318b9115159a951e09/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXbfcca9f3ce9d40318b9115159a951e09/property"
},
"data": {
"id": "PR92de152ae31e48a692142ea65c1efeb9",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXbfcca9f3ce9d40318b9115159a951e09/origin"
},
"data": {
"id": "EXd485e07fb3d3429b997768ae40de8f02",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXbfcca9f3ce9d40318b9115159a951e09/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXbfcca9f3ce9d40318b9115159a951e09/extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR92de152ae31e48a692142ea65c1efeb9",
"origin": "https://reactor.adobe.io/extensions/EXd485e07fb3d3429b997768ae40de8f02",
"self": "https://reactor.adobe.io/extensions/EXbfcca9f3ce9d40318b9115159a951e09",
"extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a",
"latest_extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a"
},
"meta": {
"latest_revision_number": 1
}
},
{
"id": "EXd485e07fb3d3429b997768ae40de8f02",
"type": "extensions",
"attributes": {
"created_at": "2020-12-14T17:41:09.002Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "kessel-test",
"published": false,
"published_at": null,
"revision_number": 0,
"updated_at": "2020-12-14T17:41:09.002Z",
"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/EXd485e07fb3d3429b997768ae40de8f02/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd485e07fb3d3429b997768ae40de8f02/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd485e07fb3d3429b997768ae40de8f02/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd485e07fb3d3429b997768ae40de8f02/property"
},
"data": {
"id": "PR92de152ae31e48a692142ea65c1efeb9",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd485e07fb3d3429b997768ae40de8f02/origin"
},
"data": {
"id": "EXd485e07fb3d3429b997768ae40de8f02",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd485e07fb3d3429b997768ae40de8f02/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EXd485e07fb3d3429b997768ae40de8f02/extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR92de152ae31e48a692142ea65c1efeb9",
"origin": "https://reactor.adobe.io/extensions/EXd485e07fb3d3429b997768ae40de8f02",
"self": "https://reactor.adobe.io/extensions/EXd485e07fb3d3429b997768ae40de8f02",
"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": 2
}
}
}
Búsqueda del paquete de extensión relacionado para una extensión extension
Puede buscar el paquete de extensión en el que se basa una extensión añadiendo /extension_package
a la ruta de una petición GET.
Formato de API
GET /extensions/{EXTENSION_ID}/extension_package
{EXTENSION_ID}
id
de la extensión cuya extensión desea buscar.Solicitud
curl -X GET \
https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/extension \
-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'
Respuesta
Una respuesta correcta devuelve los detalles del paquete de extensión en los que se basa la extensión especificada. La respuesta de ejemplo siguiente se ha truncado para el espacio.
{
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages",
"attributes": {
"actions": [
{
"id": "kessel-test::actions::custom-code",
"name": "custom-code",
"schema": {
"type": "object",
"oneOf": [
{
"required": [
"language",
"source"
],
"properties": {
"global": {
"type": "boolean"
},
"source": {
"type": "string",
"minLength": 1
},
"language": {
"enum": [
"javascript"
]
}
},
"additionalProperties": false
},
{
"required": [
"language",
"source"
],
"properties": {
"source": {
"type": "string",
"minLength": 1
},
"language": {
"enum": [
"html"
]
}
},
"additionalProperties": false
}
],
"$schema": "http://json-schema.org/draft-04/schema#"
},
"libPath": "src/lib/actions/customCode.js",
"viewPath": "actions/customCode.html",
"displayName": "Custom Code"
}
],
"author": {
"url": "http://adobe.com",
"name": "Adobe Systems",
"email": "reactor@adobe.com"
},
"availability": "private",
"cdn_path": "https://assets.adobedtm.com/staging/extensions/EP75db2452065b44e2b8a38ca883ce369a",
"conditions": [
{
"id": "kessel-test::conditions::browser",
"name": "browser",
"schema": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"required": [
"browsers"
],
"properties": {
"browsers": {
"type": "array",
"items": {
"enum": [
"Chrome",
"Firefox",
"IE",
"Edge",
"Safari",
"Mobile Safari"
],
"type": "string"
}
}
},
"additionalProperties": false
},
"libPath": "src/lib/conditions/browser.js",
"viewPath": "conditions/browser.html",
"displayName": "Browser",
"categoryName": "Technology"
}
],
"configuration": null,
"created_at": "2020-11-09T17:51:59.433Z",
"data_elements": [
{
"id": "kessel-test::dataElements::cookie",
"name": "cookie",
"schema": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
"libPath": "src/lib/dataElements/cookie.js",
"viewPath": "dataElements/cookie.html",
"displayName": "Cookie"
}
],
"description": "Provides default event, condition, and data element types available to all tags users.",
"discontinued": false,
"display_name": "Kessel Test",
"events": [
{
"id": "kessel-test::events::blur",
"name": "blur",
"schema": {
"type": "object",
"$schema": "http://json-schema.org/draft-04/schema#",
"properties": {
"bubbleStop": {
"type": "boolean"
},
"elementSelector": {
"type": "string",
"minLength": 1
},
"elementProperties": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"value"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"value": {
"type": "string"
},
"valueIsRegex": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"bubbleFireIfParent": {
"type": "boolean"
},
"bubbleFireIfChildFired": {
"type": "boolean"
}
},
"additionalProperties": false
},
"libPath": "src/lib/events/blur.js",
"viewPath": "events/blur.html",
"displayName": "Blur",
"categoryName": "Form"
}
],
"exchange_url": null,
"hosted_lib_files": null,
"icon_path": "resources/icons/core.svg",
"main": null,
"name": "kessel-test",
"owner_org_id": "08364A825824E04F0A494115@AdobeOrg",
"resources": null,
"shared_modules": null,
"status": "succeeded",
"platform": "web",
"updated_at": "2020-11-09T17:54:01.487Z",
"version": "1.2.0",
"view_base_path": "dist/"
},
"links": {
"self": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a"
}
}
}
Búsqueda del origen relacionado para una extensión origin
Puede buscar el origen de una extensión añadiendo /origin
a la ruta de una petición GET. El origen de una extensión es la revisión anterior que se actualizó para crear la revisión actual.
Formato de API
GET /extensions/{EXTENSION_ID}/origin
{EXTENSION_ID}
id
de la extensión cuyo origen desea buscar.Solicitud
curl -X GET \
https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/origin \
-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'
Respuesta
Una respuesta correcta devuelve los detalles del origen de la extensión especificada.
{
"data": {
"id": "EX524f2cd22ae4490eaf73cc9214eb217d",
"type": "extensions",
"attributes": {
"created_at": "2020-12-14T17:41:21.397Z",
"deleted_at": null,
"dirty": false,
"enabled": true,
"name": "kessel-test",
"published": false,
"published_at": null,
"revision_number": 0,
"updated_at": "2020-12-14T17:41:21.397Z",
"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/EX524f2cd22ae4490eaf73cc9214eb217d/libraries"
}
},
"revisions": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX524f2cd22ae4490eaf73cc9214eb217d/revisions"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX524f2cd22ae4490eaf73cc9214eb217d/notes"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX524f2cd22ae4490eaf73cc9214eb217d/property"
},
"data": {
"id": "PR88d6b8ee423b44a49de1dee26391e25b",
"type": "properties"
}
},
"origin": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX524f2cd22ae4490eaf73cc9214eb217d/origin"
},
"data": {
"id": "EX524f2cd22ae4490eaf73cc9214eb217d",
"type": "extensions"
}
},
"updated_with_extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX524f2cd22ae4490eaf73cc9214eb217d/updated_with_extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
},
"extension_package": {
"links": {
"related": "https://reactor.adobe.io/extensions/EX524f2cd22ae4490eaf73cc9214eb217d/extension_package"
},
"data": {
"id": "EP75db2452065b44e2b8a38ca883ce369a",
"type": "extension_packages"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PR88d6b8ee423b44a49de1dee26391e25b",
"origin": "https://reactor.adobe.io/extensions/EX524f2cd22ae4490eaf73cc9214eb217d",
"self": "https://reactor.adobe.io/extensions/EX524f2cd22ae4490eaf73cc9214eb217d",
"extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a",
"latest_extension_package": "https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a"
},
"meta": {
"latest_revision_number": 1
}
}
}
Búsqueda de la propiedad relacionada para una extensión property
Puede buscar la propiedad que posee una extensión anexando /property
a la ruta de una petición GET.
Formato de API
GET /extensions/{EXTENSION_ID}/property
{EXTENSION_ID}
id
de la extensión cuya propiedad desea buscar.Solicitud
curl -X GET \
https://reactor.adobe.io/extensions/EX8ce7ced633f34bd48d33089ff8fad082/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'
Respuesta
Una respuesta correcta devuelve los detalles de la propiedad que posee la extensión especificada.
{
"data": {
"id": "PR96fd3675be144ddc8c4540d79430355a",
"type": "properties",
"attributes": {
"created_at": "2020-12-14T17:53:06.993Z",
"enabled": true,
"name": "Kessel Example Property",
"updated_at": "2020-12-14T17:53:06.993Z",
"platform": "web",
"development": false,
"token": "bf75a40b3c34",
"domains": [
"example.com"
],
"undefined_vars_return_empty": false,
"rule_component_sequencing_enabled": false
},
"relationships": {
"company": {
"links": {
"related": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/company"
},
"data": {
"id": "CO2bf094214ffd4785bb4bcf88c952a7c1",
"type": "companies"
}
},
"callbacks": {
"links": {
"related": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/callbacks"
}
},
"hosts": {
"links": {
"related": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/hosts"
}
},
"environments": {
"links": {
"related": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/environments"
}
},
"libraries": {
"links": {
"related": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/libraries"
}
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/extensions"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/rules"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/notes"
}
}
},
"links": {
"company": "https://reactor.adobe.io/companies/CO2bf094214ffd4785bb4bcf88c952a7c1",
"data_elements": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/data_elements",
"environments": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/environments",
"extensions": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/extensions",
"rules": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a/rules",
"self": "https://reactor.adobe.io/properties/PR96fd3675be144ddc8c4540d79430355a"
},
"meta": {
"rights": [
"approve",
"develop",
"manage_environments",
"manage_extensions",
"publish"
]
}
}
}