Un secreto es un recurso que existe únicamente dentro de las propiedades de reenvío de eventos (propiedades con un platform
establecido en edge
). Permiten que el reenvío de eventos se autentique en otro sistema para un intercambio seguro de datos.
Esta guía le muestra cómo realizar llamadas al /secrets
en la API de Reactor. Para obtener una explicación detallada de los distintos tipos de secretos y cómo utilizarlos, consulte la información general de alto nivel sobre secretos antes de volver a esta guía.
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.
Puede enumerar los secretos que pertenecen a una propiedad realizando una solicitud de GET.
Formato de API
GET /properties/{PROPERTY_ID}/secrets
Parámetro | Descripción |
---|---|
{PROPERTY_ID} |
El ID de la propiedad cuyos secretos desea enumerar. |
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 pertenecientes 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
}
}
}
Puede enumerar los secretos que pertenecen a un entorno realizando una solicitud de GET.
Formato de API
GET /environments/{ENVIRONMENT_ID}/secrets
Parámetro | Descripción |
---|---|
{ENVIRONMENT_ID} |
ID del entorno cuyos secretos desea enumerar. |
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 pertenecientes 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
}
}
}
Puede buscar un secreto incluyendo su ID en la ruta de una solicitud de GET.
Formato de API
GET /secrets/{SECRET_ID}
Parámetro | Descripción |
---|---|
{SECRET_ID} |
El ID del secreto que desea buscar. |
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"
}
}
}
Puede crear un secreto realizando una solicitud de POST.
Cuando crea un nuevo secreto, la API devuelve una respuesta inmediata que contiene información para ese recurso. Al mismo tiempo, se activa una tarea de intercambio secreto para probar que el intercambio de credenciales funciona. Esta tarea se procesa asincrónicamente y actualiza el atributo de estado del secreto a succeeded
o failed
según el resultado.
Formato de API
POST /properties/{PROPERTY_ID}/secrets
Parámetro | Descripción |
---|---|
{PROPERTY_ID} |
El ID de la propiedad en la que desea definir el secreto. |
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"
}
}'
Propiedad | Descripción |
---|---|
name |
Un nombre único y descriptivo para el secreto. |
type_of |
Tipo de credencial de autenticación que representa el secreto. Tiene tres valores aceptados:
|
credentials |
Un objeto que contiene los valores de credencial del secreto. Según el type_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.environment |
Cada secreto debe asociarse a un entorno cuando se crea por primera vez. La variable data El objeto de esta propiedad debe contener la variable id del entorno al que se asigna el secreto, junto con un type valor de environments . |
type |
El tipo de recurso que se crea. Para esta llamada, el valor debe ser secrets . |
Respuesta
Una respuesta correcta devuelve los detalles del secreto. Tenga en cuenta que, según el tipo de secreto, algunas propiedades de credentials
puede estar oculto.
{
"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"
}
}
}
oauth2
secretoEsta operación solo se puede realizar en secretos con una type_of
valor de oauth2
.
Puede probar un oauth2
secreto al incluir su ID en la ruta de una solicitud de PATCH. La operación de prueba realiza un intercambio e incluye la respuesta del servicio de autorización en el test_exchange
en el meta
objeto. Esta operación no actualiza el propio secreto.
Formato de API
PATCH /secrets/{SECRET_ID}
Parámetro | Descripción |
---|---|
{SECRET_ID} |
El ID de la variable oauth2 secreto 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"
}
}'
Propiedad | Descripción |
---|---|
attributes |
Debe contener un type_of propiedad con un valor de oauth2 . |
meta |
Debe contener un action propiedad con un valor de test . |
id |
El ID del secreto que está probando. Debe coincidir con el ID proporcionado en la ruta de solicitud. |
type |
Tipo de recurso en el que se está operando. Debe definirse en secrets . |
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",
}
}
}
}
Reintentar un secreto es la acción de activar manualmente el intercambio secreto. Puede reintentar un secreto incluyendo su ID en la ruta de una solicitud del PATCH.
Formato de API
PATCH /secrets/{SECRET_ID}
Parámetro | Descripción |
---|---|
{SECRET_ID} |
El ID del secreto que desea reintentar. |
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"
}
}'
Propiedad | Descripción |
---|---|
attributes |
Debe contener un type_of propiedad que coincida con la del secreto que se está actualizando (token , simple-http o oauth2 ). |
meta |
Debe contener un action propiedad con un valor de retry . |
id |
El ID del secreto que está reintentando. Debe coincidir con el ID proporcionado en la ruta de solicitud. |
type |
Tipo de recurso en el que se está operando. Debe definirse en secrets . |
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"
}
}
}
oauth2-google
secretoCada oauth2-google
el secreto contiene un 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 renueve el proceso de autenticación.
Para volver a autorizar una oauth2-google
secreto, hacer una solicitud PATCH del secreto en cuestión.
Formato de API
PATCH /secrets/{SECRET_ID}
Parámetro | Descripción |
---|---|
{SECRET_ID} |
La variable id del secreto que desea volver a autorizar. |
Solicitud
La variable data
El objeto de la carga útil de la solicitud debe contener un meta.action
propiedad 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 el 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"
}
}
}
Puede eliminar un secreto incluyendo su ID en la ruta de una solicitud del DELETE. Se trata de una eliminación grave con un efecto inmediato y no requiere que una biblioteca vuelva a publicarse.
Esta operación elimina el secreto del entorno al que está relacionado y el recurso subyacente se elimina.
Si tiene alguna regla implementada que haga referencia a un secreto eliminado, esas reglas dejarán de funcionar inmediatamente. Los elementos de datos que hagan referencia a este secreto deben actualizarse o eliminarse posteriormente.
Formato de API
DELETE /secrets/{SECRET_ID}
Parámetro | Descripción |
---|---|
{SECRET_ID} |
El ID del secreto que desea eliminar. |
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, lo que indica que el secreto se ha eliminado del sistema.
La API de Reactor permite añadir notas a determinados recursos, incluidos secretos. Las notas son anotaciones que no afectan al comportamiento de los recursos y que pueden utilizarse en diversos casos de uso.
Consulte la guía de extremo de notas para obtener más información sobre cómo crear y editar notas para recursos de API de Reactor.
Puede recuperar todas las notas relacionadas con un secreto realizando una solicitud de GET.
Formato de API
GET /secrets/{SECRET_ID}/notes
Parámetro | Descripción |
---|---|
{SECRET_ID} |
El ID del secreto cuyas notas desea enumerar. |
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 pertenecientes 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
}
}
}
Las siguientes llamadas muestran cómo recuperar los recursos relacionados para un secreto. When buscar un secreto, estas relaciones se enumeran en la sección relationships
propiedad.
Consulte la guía de relaciones para obtener más información sobre las relaciones en la API de reactor.
Puede consultar el entorno que utiliza un secreto añadiendo /environment
a la ruta de una solicitud de GET.
Formato de API
GET /secrets/{SECRET_ID}/environment
Parámetro | Descripción |
---|---|
{SECRET_ID} |
El ID del secreto cuyo entorno desea buscar. |
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
}
}
}
Puede consultar la propiedad que posee un secreto adjuntando /property
a la ruta de una solicitud de GET.
Formato de API
GET /secrets/{SECRET_ID}/property
Parámetro | Descripción |
---|---|
{SECRET_ID} |
El ID del secreto cuya propiedad desea buscar. |
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"
]
}
}
}