Extremo secreto
Un secreto es un recurso que sólo existe dentro de propiedades de reenvío de eventos (propiedades con un atributo platform establecido en edge). Permiten que el reenvío de eventos se autentique en otro sistema para un intercambio de datos seguro.
Esta guía muestra cómo realizar llamadas al extremo /secrets en la API de Reactor. Para obtener una explicación detallada de los diferentes tipos de secretos y cómo utilizarlos, consulte la descripción general de alto nivel de secretos antes de volver a esta guía.
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 secretos para una propiedad list-property
Puede enumerar los secretos que pertenecen a una propiedad realizando una solicitud de GET.
Formato de API
GET /properties/{PROPERTY_ID}/secrets
{PROPERTY_ID}Solicitud
curl -X GET \
https://reactor.adobe.io/properties/PRe005d921bb724bc88c3ff28e3e916f04/secrets \
-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/vnd.api+json'
Respuesta
Una respuesta correcta devuelve una lista de secretos que pertenecen a la propiedad.
{
"data": [
{
"id": "SE8bd20bd5d16b49ee9d925929e292526c",
"type": "secrets",
"attributes": {
"created_at": "2021-07-16T22:29:29.777Z",
"updated_at": "2021-07-16T22:29:29.777Z",
"name": "Example Secret",
"type_of": "token",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c/property"
},
"data": {
"id": "PRe005d921bb724bc88c3ff28e3e916f04",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c/environment"
},
"data": {
"id": "EN80ad9efbf4ff4f15bebd770613378a75",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c",
"property": "https://reactor.adobe.io/secrets/SE8bd20bd5d16b49ee9d925929e292526c/property"
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Recuperar una lista de secretos para un entorno list-environment
Puede enumerar los secretos que pertenecen a un entorno realizando una solicitud de GET.
Formato de API
GET /environments/{ENVIRONMENT_ID}/secrets
{ENVIRONMENT_ID}Solicitud
curl -X GET \
https://reactor.adobe.io/environments/EN0a1b00749daf4ff48a34d2ec37286aa7/secrets \
-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/vnd.api+json'
Respuesta
Una respuesta correcta devuelve una lista de secretos que pertenecen al entorno.
{
"data": [
{
"id": "SE57b5ea69acde4595825b85befd1675b3",
"type": "secrets",
"attributes": {
"created_at": "2021-07-16T22:29:35.447Z",
"updated_at": "2021-07-16T22:29:35.447Z",
"name": "Example Secret",
"type_of": "token",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3/property"
},
"data": {
"id": "PRb302ca3557334c13b130da719222ec97",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3/environment"
},
"data": {
"id": "EN0a1b00749daf4ff48a34d2ec37286aa7",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3",
"property": "https://reactor.adobe.io/secrets/SE57b5ea69acde4595825b85befd1675b3/property"
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Buscar un secreto lookup
Puede buscar un secreto incluyendo su ID en la ruta de una petición GET.
Formato de API
GET /secrets/{SECRET_ID}
{SECRET_ID}Solicitud
curl -X GET \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3 \
-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/vnd.api+json'
Respuesta
Una respuesta correcta devuelve los detalles del secreto.
{
"data": {
"id": "SEa3756b962e964fadb61e31df1f7dd5a3",
"type": "secrets",
"attributes": {
"created_at": "2021-07-16T22:29:41.135Z",
"updated_at": "2021-07-16T22:29:41.135Z",
"name": "Example Secret",
"type_of": "token",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property"
},
"data": {
"id": "PR19717d5acf114209a5aebd0f2b228438",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/environment"
},
"data": {
"id": "EN04d820606cc74d5eaf51616e8b50201a",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3",
"property": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property"
}
}
}
Crear un secreto create
Puede crear un secreto realizando una solicitud al POST.
succeeded o failed según el resultado.Formato de API
POST /properties/{PROPERTY_ID}/secrets
{PROPERTY_ID}Solicitud
curl -X POST \
https://reactor.adobe.io/properties/PR9eff664dc6014217b76939bb78b83976/secrets \
-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/vnd.api+json' \
-d '{
"data": {
"attributes": {
"name": "Example Secret",
"type_of": "simple-http",
"credentials": {
"username": "example_username",
"password": "pass12345"
}
},
"relationships": {
"environment": {
"data": {
"id": "EN04cdddbdb6574170bcac9f470f3b8087",
"type": "environments"
}
}
},
"type": "secrets"
}
}'
nametype_ofEl tipo de credencial de autenticación que representa el secreto. Tiene tres valores aceptados:
token: una cadena de token.simple-http: nombre de usuario y contraseña.oauth2: credenciales que cumplen con el estándar OAuth.
credentialstype_of, se deben proporcionar propiedades diferentes. Consulte la sección sobre credenciales en la guía de secretos para obtener detalles sobre los requisitos de cada tipo.relationships.environmentdata de esta propiedad debe contener id del entorno al que se asigna el secreto, junto con un valor type de environments.typesecrets.Respuesta
Una respuesta correcta devuelve los detalles del secreto. Tenga en cuenta que, según el tipo de secreto, algunas propiedades de credentials pueden estar ocultas.
{
"data": {
"id": "SE39fdf431f8ad4600bbc24ea73fcb1154",
"type": "secrets",
"attributes": {
"created_at": "2021-07-14T19:33:25.628Z",
"updated_at": "2021-07-14T19:33:25.628Z",
"name": "Example Secret",
"type_of": "simple-http",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
"username": "example_username"
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/property"
},
"data": {
"id": "PR9eff664dc6014217b76939bb78b83976",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/environment"
},
"data": {
"id": "EN04cdddbdb6574170bcac9f470f3b8087",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154",
"property": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/property"
}
}
}
Probar un secreto oauth2 test
type_of de oauth2.Puede probar un secreto oauth2 incluyendo su ID en la ruta de una petición de PATCH. La operación de prueba realiza un intercambio e incluye la respuesta del servicio de autorización en el atributo test_exchange del objeto meta del secreto. Esta operación no actualiza el secreto en sí.
Formato de API
PATCH /secrets/{SECRET_ID}
{SECRET_ID}oauth2 que desea probar.Solicitud
curl -X PATCH \
https://reactor.adobe.io/secrets/SE6c15a7a64f9041b5985558ed3e19a449 \
-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/vnd.api+json' \
-d '{
"data": {
"attributes": {
"type_of": "oauth2"
},
"meta": {
"action": "test"
},
"id": "SE6c15a7a64f9041b5985558ed3e19a449",
"type": "secrets"
}
}'
attributestype_of con un valor de oauth2.metaaction con un valor de test.idtypesecrets.Respuesta
Una respuesta correcta devuelve los detalles del secreto, con la respuesta del servicio de autorización contenida en meta.test_exchange.
{
"data": {
"id": "SE6c15a7a64f9041b5985558ed3e19a449",
"type": "secrets",
"attributes": {
"activated_at": null,
"created_at": "2021-07-14T19:33:25.628Z",
"credentials": {
"token_url": "https://token_url.test/token/authorize?required_param=value",
"client_id": "test_client_id",
"client_secret": "test_client_secret",
"refresh_offset": 14400,
},
"expires_at": null,
"name": "Example Secret",
"refresh_at": null,
"status": "pending",
"type_of": "oauth2",
"updated_at": "2021-07-14T19:33:25.628Z",
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/property"
},
"data": {
"id": "PR9eff664dc6014217b76939bb78b83976",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/environment"
},
"data": {
"id": "EN04cdddbdb6574170bcac9f470f3b8087",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154",
"property": "https://reactor.adobe.io/secrets/SE39fdf431f8ad4600bbc24ea73fcb1154/property"
},
"meta": {
"test_exchange": {
"access_token": "FpIkBn3zxW0fH6EBC4MB",
"expires_in": 36000,
"token_type": "Bearer",
}
}
}
}
Volver a intentar un secreto retry
Reintentar un secreto es la acción de activar manualmente el intercambio secreto. Puede volver a intentar un secreto incluyendo su ID en la ruta de una petición de PATCH.
Formato de API
PATCH /secrets/{SECRET_ID}
{SECRET_ID}Solicitud
curl -X PATCH \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3 \
-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/vnd.api+json' \
-d '{
"data": {
"attributes": {
"type_of": "token"
},
"meta": {
"action": "retry"
},
"id": "SEa3756b962e964fadb61e31df1f7dd5a3",
"type": "secrets"
}
}'
attributestype_of que coincida con la del secreto que se está actualizando (token, simple-http o oauth2).metaaction con un valor de retry.idtypesecrets.Respuesta
Una respuesta correcta devuelve los detalles del secreto, con su estado restablecido a pending. Una vez finalizado el intercambio, el estado del secreto se actualizará a succeeded o failed según el resultado.
{
"data": {
"id": "SEa3756b962e964fadb61e31df1f7dd5a3",
"type": "secrets",
"attributes": {
"created_at": "2021-07-16T22:29:41.135Z",
"updated_at": "2021-07-16T22:29:41.135Z",
"name": "Example Secret",
"type_of": "token",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property"
},
"data": {
"id": "PR19717d5acf114209a5aebd0f2b228438",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/environment"
},
"data": {
"id": "EN04d820606cc74d5eaf51616e8b50201a",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3",
"property": "https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property"
}
}
}
Volver a autorizar un secreto oauth2-google reauthorize
Cada secreto oauth2-google contiene una propiedad meta.authorization_url_expires_at que indica cuándo caducará la dirección URL de autorización. Después de este tiempo, el secreto debe volver a autorizarse para que pueda renovar el proceso de autenticación.
Para volver a autorizar un secreto oauth2-google, realice una solicitud de PATCH para el secreto en cuestión.
Formato de API
PATCH /secrets/{SECRET_ID}
{SECRET_ID}id del secreto que desea volver a autorizar.Solicitud
El objeto data de la carga de la solicitud debe contener una propiedad meta.action establecida en reauthorize.
curl -X PATCH \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3 \
-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/vnd.api+json' \
-d '{
"data": {
"attributes": {
"type_of": "oauth2-google"
},
"meta": {
"action": "reauthorize"
},
"id": "SEa3756b962e964fadb61e31df1f7dd5a3",
"type": "secrets"
}
}'
Respuesta
Una respuesta correcta devuelve los detalles del secreto actualizado. Desde aquí, debe copiar y pegar meta.authorization_url en un explorador para completar el proceso de autorización.
{
"data": {
"id": "SE5fdfa4c0a2d8404e8b1bc38827cc41c9",
"type": "secrets",
"attributes": {
"created_at": "2021-07-15T19:00:25.628Z",
"updated_at": "2021-07-15T19:00:25.628Z",
"name": "Example Secret",
"type_of": "oauth2-google",
"activated_at": null,
"expires_at": null,
"refresh_at": null,
"status": "pending",
"credentials": {
"scopes": [
"https://www.googleapis.com/auth/adwords",
"https://www.googleapis.com/auth/pubsub"
],
}
},
"relationships": {
"property": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9/property"
},
"data": {
"id": "PR9eff664dc6014217b76939bb78b83976",
"type": "properties"
}
},
"environment": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9/environment"
},
"data": {
"id": "EN04cdddbdb6574170bcac9f470f3b8087",
"type": "environments"
},
"meta": {
"stage": "development"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9/notes"
}
}
},
"links": {
"self": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9",
"property": "https://reactor.adobe.io/secrets/SE5fdfa4c0a2d8404e8b1bc38827cc41c9/property"
},
"meta": {
"authorization_url": "https://accounts.google.com/o/oauth2/auth?access_type=offline&approval_prompt=force&client_id=434635668552-0qvlu519fdjtnkvk8hu8c8dj8rg3723r.apps.googleusercontent.com&redirect_uri=https%3A%2F%2Freactor.adobe.io%2Foauth2%2Fcallback&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fadwords&state=state",
"authorization_url_expires_at": "2021-07-15T20:00:25.628Z"
}
}
}
Eliminar un secreto delete
Puede eliminar un secreto incluyendo su ID en la ruta de una petición de DELETE. Se trata de una eliminación completa con un efecto inmediato y no requiere que vuelva a publicar la biblioteca.
Esta operación elimina el secreto del entorno con el que está relacionado y se elimina el recurso subyacente.
Formato de API
DELETE /secrets/{SECRET_ID}
{SECRET_ID}Solicitud
curl -X DELETE \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3 \
-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/vnd.api+json'
Respuesta
Una respuesta correcta devuelve el estado HTTP 204 (sin contenido) y un cuerpo de respuesta vacío, que indica que el secreto se ha eliminado del sistema.
Enumerar las notas de un secreto notes
La API de Reactor le permite agregar notas a determinados recursos, incluidos secretos. Las notas son anotaciones de texto que no afectan al comportamiento de los recursos y que se pueden utilizar para varios casos de uso.
Puede recuperar todas las notas relacionadas con un secreto realizando una solicitud de GET.
Formato de API
GET /secrets/{SECRET_ID}/notes
{SECRET_ID}Solicitud
curl -X GET \
https://reactor.adobe.io/secrets/SE591d3b86910f4e6883f0e1c36e54bff1/notes \
-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/vnd.api+json'
Respuesta
Una respuesta correcta devuelve una lista de notas que pertenecen al secreto.
{
"data": [
{
"id": "NTe666dbcc2f204218b6fde2fe60ab7043",
"type": "notes",
"attributes": {
"author_display_name": "John Doe",
"author_email": "jdoe@example.com",
"created_at": "2021-07-16T22:29:58.259Z",
"text": "This is a secret note."
},
"relationships": {
"resource": {
"links": {
"related": "https://reactor.adobe.io/secrets/SE591d3b86910f4e6883f0e1c36e54bff1"
},
"data": {
"id": "SE591d3b86910f4e6883f0e1c36e54bff1",
"type": "secrets"
}
}
},
"links": {
"resource": "https://reactor.adobe.io/secrets/SE591d3b86910f4e6883f0e1c36e54bff1",
"self": "https://reactor.adobe.io/notes/NTe666dbcc2f204218b6fde2fe60ab7043"
}
}
],
"meta": {
"pagination": {
"current_page": 1,
"next_page": null,
"prev_page": null,
"total_pages": 1,
"total_count": 1
}
}
}
Recuperación de recursos relacionados para un secreto related
Las siguientes llamadas muestran cómo recuperar los recursos relacionados para un secreto. Cuando busca un secreto, 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.
Buscar un secreto en el entorno relacionado environment
Puede buscar el entorno que utiliza un secreto anexando /environment a la ruta de una solicitud de GET.
Formato de API
GET /secrets/{SECRET_ID}/environment
{SECRET_ID}Solicitud
curl -X GET \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/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/vnd.api+json'
Respuesta
Una respuesta correcta devuelve los detalles del entorno.
{
"data": {
"id": "EN33e8d63ac647448da1f77ced5c3c8580",
"type": "environments",
"attributes": {
"archive": false,
"created_at": "2021-07-16T22:19:13.438Z",
"library_path": "bc12f2b85d11/b9a3067414ff",
"library_name": "launch-3b6c4eea15ae-development.min.js",
"library_entry_points": [
{
"library_name": "launch-3b6c4eea15ae-development.min.js",
"minified": true,
"references": [
"bc12f2b85d11/b9a3067414ff/launch-3b6c4eea15ae-development.min.js"
],
"license_path": "bc12f2b85d11/b9a3067414ff/launch-3b6c4eea15ae-development.js"
},
{
"library_name": "launch-3b6c4eea15ae-development.js",
"minified": false,
"references": [
"bc12f2b85d11/b9a3067414ff/launch-3b6c4eea15ae-development.js"
]
}
],
"name": "Development Environment A",
"path": null,
"stage": "development",
"updated_at": "2021-07-16T22:19:13.438Z",
"status": "succeeded",
"token": "3b6c4eea15ae"
},
"relationships": {
"library": {
"links": {
"related": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/library"
},
"data": null
},
"builds": {
"links": {
"related": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/builds"
}
},
"host": {
"links": {
"related": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/host",
"self": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/relationships/host"
},
"data": {
"id": "HT7d5cf665463e46a1968ada1ceb1b5ca7",
"type": "hosts"
}
},
"property": {
"links": {
"related": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580/property"
},
"data": {
"id": "PRba81d3027db846b084212391aa5d2f1f",
"type": "properties"
}
}
},
"links": {
"property": "https://reactor.adobe.io/properties/PRba81d3027db846b084212391aa5d2f1f",
"self": "https://reactor.adobe.io/environments/EN33e8d63ac647448da1f77ced5c3c8580"
},
"meta": {
"archive_encrypted": false
}
}
}
Búsqueda de la propiedad relacionada para un secreto property
Puede buscar la propiedad que posee un secreto anexando /property a la ruta de una solicitud de GET.
Formato de API
GET /secrets/{SECRET_ID}/property
{SECRET_ID}Solicitud
curl -X GET \
https://reactor.adobe.io/secrets/SEa3756b962e964fadb61e31df1f7dd5a3/property \
-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/vnd.api+json'
Respuesta
Una respuesta correcta devuelve los detalles de la propiedad.
{
"data": {
"id": "PR2d191feafef54c5da4ddb5ef647d4867",
"type": "properties",
"attributes": {
"created_at": "2021-07-16T22:26:25.320Z",
"enabled": true,
"name": "Kessel Edge Example Property",
"updated_at": "2021-07-16T22:26:25.320Z",
"platform": "edge",
"development": false,
"token": "8efbe7023155"
},
"relationships": {
"company": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/company"
},
"data": {
"id": "COc26fb19f87d24cbe827a70ad2a672093",
"type": "companies"
}
},
"callbacks": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/callbacks"
}
},
"hosts": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/hosts"
}
},
"environments": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/environments"
}
},
"libraries": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/libraries"
}
},
"data_elements": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/data_elements"
}
},
"extensions": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/extensions"
}
},
"rules": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/rules"
}
},
"notes": {
"links": {
"related": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/notes"
}
}
},
"links": {
"company": "https://reactor.adobe.io/companies/COc26fb19f87d24cbe827a70ad2a672093",
"data_elements": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/data_elements",
"environments": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/environments",
"extensions": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/extensions",
"rules": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867/rules",
"self": "https://reactor.adobe.io/properties/PR2d191feafef54c5da4ddb5ef647d4867"
},
"meta": {
"rights": [
"approve",
"develop",
"edit_property",
"manage_environments",
"manage_extensions",
"publish"
]
}
}
}