Um segredo é um recurso que existe somente nas propriedades do encaminhamento de eventos (propriedades com um platform
atributo definido como edge
). Eles permitem que o encaminhamento de eventos seja autenticado em outro sistema para troca segura de dados.
Este guia mostra como fazer chamadas para a variável /secrets
ponto de extremidade na API do Reator. Para obter uma explicação detalhada dos diferentes tipos secretos e como usá-los, consulte a visão geral de alto nível em segredos antes de retornar a este guia.
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.
Você pode listar os segredos que pertencem a uma propriedade fazendo uma solicitação GET.
Formato da API
GET /properties/{PROPERTY_ID}/secrets
Parâmetro | Descrição |
---|---|
{PROPERTY_ID} |
A ID da propriedade cujos segredos você deseja listar. |
Solicitação
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'
Resposta
Uma resposta bem-sucedida retorna uma lista de segredos pertencentes à propriedade.
{
"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
}
}
}
Você pode listar os segredos que pertencem a um ambiente fazendo uma solicitação GET.
Formato da API
GET /environments/{ENVIRONMENT_ID}/secrets
Parâmetro | Descrição |
---|---|
{ENVIRONMENT_ID} |
A ID do ambiente cujos segredos você deseja listar. |
Solicitação
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'
Resposta
Uma resposta bem-sucedida retorna uma lista de segredos pertencentes ao ambiente.
{
"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
}
}
}
Você pode pesquisar um segredo incluindo a respectiva ID no caminho de uma solicitação GET.
Formato da API
GET /secrets/{SECRET_ID}
Parâmetro | Descrição |
---|---|
{SECRET_ID} |
A ID do segredo que você deseja pesquisar. |
Solicitação
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'
Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo.
{
"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"
}
}
}
Você pode criar um segredo fazendo uma solicitação POST.
Ao criar um novo segredo, a API retorna uma resposta imediata que contém informações desse recurso. Ao mesmo tempo, uma tarefa de troca de segredos é acionada para testar se a troca de credenciais está funcionando. Esta tarefa é processada de forma assíncrona e atualiza o atributo de status do segredo para succeeded
ou failed
dependendo do resultado.
Formato da API
POST /properties/{PROPERTY_ID}/secrets
Parâmetro | Descrição |
---|---|
{PROPERTY_ID} |
A ID da propriedade em que você deseja definir o segredo. |
Solicitação
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"
}
}'
Propriedade | Descrição |
---|---|
name |
Um nome descritivo exclusivo para o segredo. |
type_of |
O tipo de credencial de autenticação que o segredo representa. Tem três valores aceitos:
|
credentials |
Um objeto que contém os valores de credencial do segredo. Dependendo do type_of atributo, propriedades diferentes devem ser fornecidas. Consulte a seção sobre credenciais no guia de segredos para obter detalhes sobre os requisitos para cada tipo. |
relationships.environment |
Cada segredo deve ser associado a um ambiente ao ser criado pela primeira vez. A variável data o objeto nessa propriedade deve conter a variável id do ambiente ao qual o segredo está sendo atribuído, juntamente com uma type valor de environments . |
type |
O tipo de recurso que está sendo criado. Para esta chamada, o valor deve ser secrets . |
Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo. Observe que, dependendo do tipo de segredo, algumas propriedades em credentials
pode 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
segredoEsta operação só pode ser executada em segredos com um type_of
valor de oauth2
.
Você pode testar um oauth2
secreta incluindo a ID no caminho de uma solicitação PATCH. A operação de teste executa uma troca e inclui a resposta do serviço de autorização no test_exchange
atributo no do segredo meta
objeto. Essa operação não atualiza o segredo em si.
Formato da API
PATCH /secrets/{SECRET_ID}
Parâmetro | Descrição |
---|---|
{SECRET_ID} |
A ID do oauth2 segredo que você deseja testar. |
Solicitação
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"
}
}'
Propriedade | Descrição |
---|---|
attributes |
Deve conter um type_of propriedade com um valor de oauth2 . |
meta |
Deve conter um action propriedade com um valor de test . |
id |
A ID do segredo que você está testando. Deve corresponder à ID fornecida no caminho da solicitação. |
type |
O tipo de recurso em operação. Deve ser definido como secrets . |
Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo, com a resposta do serviço de autorização contida em 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",
}
}
}
}
Tentar novamente um segredo é a ação de acionar manualmente a troca de segredos. Você pode tentar novamente um segredo incluindo a respectiva ID no caminho de uma solicitação PATCH.
Formato da API
PATCH /secrets/{SECRET_ID}
Parâmetro | Descrição |
---|---|
{SECRET_ID} |
A ID do segredo que você deseja tentar novamente. |
Solicitação
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"
}
}'
Propriedade | Descrição |
---|---|
attributes |
Deve conter um type_of propriedade correspondente ao segredo que está sendo atualizado (token , simple-http ou oauth2 ). |
meta |
Deve conter um action propriedade com um valor de retry . |
id |
A ID do segredo que você está tentando novamente. Deve corresponder à ID fornecida no caminho da solicitação. |
type |
O tipo de recurso em operação. Deve ser definido como secrets . |
Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo, com o status redefinido como pending
. Após a troca ser concluída, o status do segredo será atualizado para succeeded
ou failed
dependendo do 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
segredoEach oauth2-google
o segredo contém um meta.authorization_url_expires_at
propriedade que indica quando o URL de autorização irá expirar. Após esse período, o segredo deverá ser reautorizado para que possa renovar o processo de autenticação.
Para reautorizar uma oauth2-google
segredo, faça uma solicitação PATCH para o segredo em questão.
Formato da API
PATCH /secrets/{SECRET_ID}
Parâmetro | Descrição |
---|---|
{SECRET_ID} |
A variável id do segredo que você deseja reautorizar. |
Solicitação
A variável data
o objeto na carga da solicitação deve conter um meta.action
propriedade definida como 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"
}
}'
Resposta
Uma resposta bem-sucedida retorna os detalhes do segredo atualizado. Aqui, você deve copiar e colar o meta.authorization_url
em um navegador para concluir o processo de autorização.
{
"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"
}
}
}
Você pode excluir um segredo incluindo a respectiva ID no caminho de uma solicitação DELETE. Essa é uma exclusão permanente com efeito imediato e não requer uma republicação da biblioteca.
Esta operação remove o segredo do ambiente ao qual está relacionada e o recurso subjacente é excluído.
Se você tiver regras implantadas que façam referência a um segredo excluído, essas regras deixarão de funcionar imediatamente. Quaisquer elementos de dados que referenciam esse segredo devem ser atualizados ou removidos posteriormente.
Formato da API
DELETE /secrets/{SECRET_ID}
Parâmetro | Descrição |
---|---|
{SECRET_ID} |
A ID do segredo que você deseja excluir. |
Solicitação
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'
Resposta
Uma resposta bem-sucedida retorna o status HTTP 204 (Sem conteúdo) e um corpo de resposta vazio, indicando que o segredo foi excluído do sistema.
A API do Reator permite adicionar observações a determinados recursos, incluindo segredos. As notas são anotações textuais que não têm impacto no comportamento dos recursos e podem ser usadas para vários casos de uso.
Consulte a manual de endpoint de notas para obter detalhes sobre como criar e editar notas para os recursos da API do Reator.
Você pode recuperar todas as notas relacionadas a um segredo fazendo uma solicitação GET.
Formato da API
GET /secrets/{SECRET_ID}/notes
Parâmetro | Descrição |
---|---|
{SECRET_ID} |
A ID do segredo cujas notas você deseja listar. |
Solicitação
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'
Resposta
Uma resposta bem-sucedida retorna uma lista de notas pertencentes ao segredo.
{
"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
}
}
}
As chamadas a seguir demonstram como recuperar os recursos relacionados de um segredo. Quando procurar um segredo, essas relações são listadas na seção relationships
propriedade.
Consulte o manual de relacionamentos para obter mais informações sobre relacionamentos na API do Reactor.
Você pode pesquisar o ambiente que utiliza um segredo anexando /environment
ao caminho de uma solicitação GET.
Formato da API
GET /secrets/{SECRET_ID}/environment
Parâmetro | Descrição |
---|---|
{SECRET_ID} |
A ID do segredo cujo ambiente você deseja pesquisar. |
Solicitação
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'
Resposta
Uma resposta bem-sucedida retorna os detalhes do ambiente.
{
"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
}
}
}
Você pode pesquisar a propriedade que possui um segredo anexando /property
ao caminho de uma solicitação GET.
Formato da API
GET /secrets/{SECRET_ID}/property
Parâmetro | Descrição |
---|---|
{SECRET_ID} |
A ID do segredo cuja propriedade você deseja pesquisar. |
Solicitação
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'
Resposta
Uma resposta bem-sucedida retorna os detalhes da propriedade.
{
"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"
]
}
}
}