A implementação do endpoint /extension_packages
ocorre em fluxo, à medida que os recursos são adicionados, removidos e retrabalhados.
Um pacote de extensão representa uma extensão criada por um desenvolvedor de extensões. Um pacote de extensão define recursos adicionais que podem ser disponibilizados para usuários de tags. Normalmente, esses recursos vêm na forma de componentes de regra (eventos, condições e ações) e elementos de dados, mas também podem incluir módulos principais e compartilhados.
Os pacotes de extensão são exibidos no catálogo de extensões na interface do usuário da coleção de dados e na interface do usuário do Adobe Experience Platform para que os usuários instalem. A adição de um pacote de extensão a uma propriedade é realizada por meio da criação de uma extensão com um link para o pacote de extensão.
Um pacote de extensão pertence à empresa do desenvolvedor que o criou.
O endpoint usado neste manual faz parte da API do Reactor. Antes de continuar, consulte o Guia de introdução para obter informações importantes sobre como realizar a autenticação na API.
Além de entender como fazer chamadas para a API do reator, também é importante entender como um pacote de extensão status
e availability
os atributos afetam quais ações você pode executar nela. Elas são explicadas nas seções abaixo.
Os pacotes de extensão têm três status possíveis: pending
, succeeded
e failed
.
Status | Descrição |
---|---|
pending |
Quando um pacote de extensão é criado, seu status está definida como pending . Isso indica que o sistema recebeu as informações do pacote de extensão e começará o processamento. Pacotes de extensão com status pending não estão disponíveis para utilização. |
succeeded |
O status de um pacote de extensão é atualizado para succeeded se o processamento for concluído com êxito. |
failed |
O status de um pacote de extensão é atualizado para failed se o processamento não for concluído com êxito. Um pacote de extensão com o status de failed pode ser atualizado até que o processamento seja bem-sucedido. Pacotes de extensão com status failed não estão disponíveis para utilização. |
Há níveis de disponibilidade para um pacote de extensão: development
, private
e public
.
Disponibilidade | Descrição |
---|---|
development |
Um pacote de extensão em development só é visível e disponível na empresa proprietária. Além disso, ele só pode ser usado em propriedades que estão configuradas para desenvolvimento de extensão. |
private |
A private o pacote de extensão só é visível para a empresa proprietária e só pode ser instalado nas propriedades que a empresa possui. |
public |
A public o pacote de extensão é visível e está disponível para todas as empresas e propriedades. |
Quando um pacote de extensão é criado, availability
está definida como development
. Depois que o teste for concluído, é possível fazer a transição do pacote de extensão para private
ou public
.
É possível recuperar uma lista de pacotes de extensão fazendo uma solicitação GET para /extension_packages
.
Formato da API
GET /extension_packages
Usando parâmetros de consulta, os pacotes de extensão listados podem ser filtrados com base nos seguintes atributos:
archive
created_at
name
stage
token
updated_at
Solicitação
curl -X GET \
https://reactor.adobe.io/extension_packages \
-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'
Resposta
Uma resposta bem-sucedida retorna uma lista de pacotes de extensão.
{
"data": [
{
"id": "EP6860e2485de2413ea9b295d6f5321ad3",
"type": "extension_packages",
"attributes": {
"actions": [
],
"author": {
"url": "http://adobe.com",
"name": "Adobe Systems",
"email": "reactor@adobe.com"
},
"availability": "development",
"cdn_path": "https://assets.adobedtm.com/staging/extensions/EP6860e2485de2413ea9b295d6f5321ad3",
"conditions": [
],
"configuration": null,
"created_at": "2020-11-09T17:58:32.694Z",
"data_elements": [
],
"description": "Provides nothing.",
"discontinued": false,
"display_name": "Kessel Template Test",
"events": [
],
"exchange_url": null,
"hosted_lib_files": null,
"icon_path": "resources/icons/core.svg",
"main": null,
"name": "test-1604944710",
"owner_org_id": "08364A825824E04F0A494115@AdobeOrg",
"resources": null,
"shared_modules": null,
"status": "succeeded",
"platform": "web",
"updated_at": "2020-11-09T17:58:35.754Z",
"version": "1.0.0",
"view_base_path": "dist/"
},
"links": {
"self": "https://reactor.adobe.io/extension_packages/EP6860e2485de2413ea9b295d6f5321ad3"
}
},
{
"id": "EP1b173c8316954e0986e5a405b4e715e3",
"type": "extension_packages",
"attributes": {
"actions": [
],
"author": {
"url": "http://adobe.com",
"name": "Adobe Systems",
"email": "reactor@adobe.com"
},
"availability": "development",
"cdn_path": "https://assets.adobedtm.com/staging/extensions/EP1b173c8316954e0986e5a405b4e715e3",
"conditions": [
],
"configuration": null,
"created_at": "2020-11-09T17:58:34.632Z",
"data_elements": [
],
"description": "Provides nothing.",
"discontinued": false,
"display_name": "Kessel Template Test",
"events": [
],
"exchange_url": null,
"hosted_lib_files": null,
"icon_path": "resources/icons/core.svg",
"main": null,
"name": "test-1604944712",
"owner_org_id": "08364A825824E04F0A494115@AdobeOrg",
"resources": null,
"shared_modules": null,
"status": "succeeded",
"platform": "web",
"updated_at": "2020-11-09T17:58:36.655Z",
"version": "1.0.0",
"view_base_path": "dist/"
},
"links": {
"self": "https://reactor.adobe.io/extension_packages/EP1b173c8316954e0986e5a405b4e715e3"
}
},
{
"id": "EPb8eca81769a64af3892af5202a57ce15",
"type": "extension_packages",
"attributes": {
"actions": [
],
"author": {
"url": "http://adobe.com",
"name": "Adobe Systems",
"email": "reactor@adobe.com"
},
"availability": "development",
"cdn_path": "https://assets.adobedtm.com/staging/extensions/EPb8eca81769a64af3892af5202a57ce15",
"conditions": [
],
"configuration": null,
"created_at": "2020-11-09T18:32:29.271Z",
"data_elements": [
],
"description": "Provides nothing.",
"discontinued": false,
"display_name": "Kessel Template Test",
"events": [
],
"exchange_url": null,
"hosted_lib_files": null,
"icon_path": "resources/icons/core.svg",
"main": null,
"name": "test-1604946740",
"owner_org_id": "08364A825824E04F0A494115@AdobeOrg",
"resources": null,
"shared_modules": null,
"status": "succeeded",
"platform": "web",
"updated_at": "2020-11-09T18:32:43.710Z",
"version": "1.0.0",
"view_base_path": "dist/"
},
"links": {
"self": "https://reactor.adobe.io/extension_packages/EPb8eca81769a64af3892af5202a57ce15"
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 3
}
}
}
É possível pesquisar um pacote de extensão informando a respectiva ID no caminho de uma solicitação GET.
Formato da API
GET /extension_packages/{EXTENSION_PACKAGE_ID}
Parâmetro | Descrição |
---|---|
EXTENSION_PACKAGE_ID |
O id do pacote de extensão que você deseja consultar. |
Solicitação
curl -X GET \
https://reactor.adobe.io/extension_packages/EP75db2452065b44e2b8a38ca883ce369a \
-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'
Resposta
Uma resposta bem-sucedida retorna os detalhes do pacote de extensão, incluindo seus recursos delegados, como actions
, conditions
, data_elements
, entre outros. O exemplo de resposta a seguir foi truncado por questões de espaço.
{
"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"
}
}
}
Os pacotes de extensão são criados usando uma ferramenta de andaime Node.js e salvos em seu computador local antes de serem enviados à API do Reactor. Para obter mais informações sobre como configurar um pacote de extensão, consulte o manual sobre introdução ao desenvolvimento de extensões.
Depois de criar o arquivo de pacote de extensão, você pode enviá-lo para a API do Reactor por meio de uma solicitação POST.
Formato da API
POST /extension_packages
Solicitação
A solicitação a seguir cria um novo pacote de extensão. O caminho local para o arquivo de pacote que está sendo carregado é referenciado como dados de formulário (package
). Portanto, esse endpoint requer um cabeçalho Content-Type
de multipart/form-data
.
curl -X POST \
https://reactor.adobe.io/extension_packages \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: multipart/form-data' \
-F 'package=@"/Users/temp/extension-package.zip"'
Resposta
Uma resposta bem-sucedida retorna os detalhes do pacote de extensão recém-criado.
{
"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"
}
}
}
Você pode atualizar um pacote de extensão incluindo sua ID no caminho de uma solicitação de PATCH.
Formato da API
PATCH /extension_packages/{EXTENSION_PACKAGE_ID}
Parâmetro | Descrição |
---|---|
EXTENSION_PACKAGE_ID |
O id do pacote de extensão que você deseja atualizar. |
Solicitação
Assim como na criação de um pacote de extensão, uma versão local do pacote atualizado deve ser carregada por meio de dados de formulário.
curl -X PATCH \
https://reactor.adobe.io/extension_packages/EP10bb503178694d73bc0cd84387b82172 \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {ORG_ID}' \
-H 'Content-Type: multipart/form-data' \
-F 'package=@"/Users/temp/extension-package.zip"'
Resposta
Uma resposta bem-sucedida retorna os detalhes do pacote de extensão atualizado.
{
"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"
}
}
}
Depois de concluir o teste do pacote de extensão, você pode liberá-lo de forma privada. Isso o torna disponível para qualquer propriedade na empresa.
Depois de liberá-lo de forma privada, é possível iniciar o processo de liberação pública preenchendo o formulário de solicitação de liberação pública.
Formato da API
PATCH /extension_packages/{EXTENSION_PACKAGE_ID}
Parâmetro | Descrição |
---|---|
EXTENSION_PACKAGE_ID |
O id do pacote de extensão que você deseja liberar de forma privada. |
Solicitação
Uma liberação privada é realizada mediante o fornecimento de um action
com um valor release_private
no meta
dos dados da solicitação.
curl -X PATCH \
https://reactor.adobe.io/extension_packages/EP10bb503178694d73bc0cd84387b82172 \
-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": {
"meta": {
"action": "release_private"
},
"id": "EP27e9323eb585411fae6086fc78a3b70b",
"type": "extension_packages"
}
}'
Resposta
Uma resposta bem-sucedida retorna os detalhes do pacote de extensão.
{
"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"
}
}
}
É possível descontinuar um pacote de extensão definindo seu atributo discontinued
como true
por meio de uma solicitação PATCH.
Formato da API
PATCH /extension_packages/{EXTENSION_PACKAGE_ID}
Parâmetro | Descrição |
---|---|
EXTENSION_PACKAGE_ID |
O id do pacote de extensão que você deseja descontinuar. |
Solicitação
Uma liberação privada é realizada mediante o fornecimento de um action
com um valor release_private
no meta
dos dados da solicitação.
curl -X PATCH \
https://reactor.adobe.io/extension_packages/EP10bb503178694d73bc0cd84387b82172 \
-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": {
"discontinued": true
},
"id": "EP5705a5d99aba406692e0ac666fcab160",
"type": "extension_packages"
}
}'
Resposta
Uma resposta bem-sucedida retorna os detalhes do pacote de extensão.
{
"data": {
"id": "EP5705a5d99aba406692e0ac666fcab160",
"type": "extension_packages",
"attributes": {
"actions": [
],
"author": {
"url": "http://adobe.com",
"name": "Adobe Systems",
"email": "reactor@adobe.com"
},
"availability": "private",
"cdn_path": "https://assets.adobedtm.com/staging/extensions/EP5705a5d99aba406692e0ac666fcab160",
"conditions": [
],
"configuration": null,
"created_at": "2020-12-14T17:39:36.932Z",
"data_elements": [
],
"description": "Provides nothing.",
"discontinued": true,
"display_name": "Kessel Template Test",
"events": [
],
"exchange_url": null,
"hosted_lib_files": null,
"icon_path": "resources/icons/core.svg",
"main": null,
"name": "test-1607967575",
"owner_org_id": "08364A825824E04F0A494115@AdobeOrg",
"resources": null,
"shared_modules": null,
"status": "succeeded",
"platform": "web",
"updated_at": "2020-12-14T17:39:43.883Z",
"version": "1.0.0",
"view_base_path": "dist/"
},
"links": {
"self": "https://reactor.adobe.io/extension_packages/EP5705a5d99aba406692e0ac666fcab160"
}
}
}
Você pode listar as versões de um pacote de extensão acrescentando /versions
ao caminho de uma solicitação de pesquisa.
Formato da API
GET /extension_packages/{EXTENSION_PACKAGE_ID}/versions
Parâmetro | Descrição |
---|---|
EXTENSION_PACKAGE_ID |
O id do pacote de extensão cujas versões você deseja listar. |
Solicitação
curl -X GET \
https://reactor.adobe.io/extension_packages/EP10bb503178694d73bc0cd84387b82172/versions \
-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'
Resposta
Uma resposta bem-sucedida retorna uma matriz de versões anteriores do pacote de extensão. Um exemplo de resposta foi omitido por razões de espaço.