Point d’entrée des secrets

Un secret est une ressource qui n’existe que dans les propriétés de transfert d’événements (propriétés avec un attribut platform défini sur edge). Ils permettent au transfert d’événements de s’authentifier sur un autre système pour un échange de données sécurisé.

Ce guide vous explique comment effectuer des appels au point d’entrée /secrets dans l’API Reactor. Pour une explication détaillée des différents types de secrets et de leur utilisation, reportez-vous à la présentation générale sur les secrets avant de revenir à ce guide.

Prise en main

Le point d’entrée utilisé dans ce guide fait partie de lʼAPI Reactor. Avant de poursuivre, consultez le guide de prise en main pour obtenir des informations importantes sur la procédure à suivre pour s’authentifier auprès de l’API.

Récupération d’une liste de secrets pour une propriété list-property

Vous pouvez répertorier les secrets appartenant à une propriété en effectuant une requête GET.

Format d’API

GET /properties/{PROPERTY_ID}/secrets
Paramètre
Description
{PROPERTY_ID}
L’identifiant de la propriété dont vous souhaitez répertorier les secrets.

Requête

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'

Réponse

Une réponse réussie renvoie une liste de secrets appartenant à la propriété.

{
  "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
    }
  }
}

Récupération d’une liste de secrets pour un environnement list-environment

Vous pouvez répertorier les secrets appartenant à un environnement en effectuant une requête GET.

Format d’API

GET /environments/{ENVIRONMENT_ID}/secrets
Paramètre
Description
{ENVIRONMENT_ID}
L’identifiant de l’environnement dont vous souhaitez répertorier les secrets.

Requête

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'

Réponse

Une réponse réussie renvoie une liste de secrets appartenant à l’environnement.

{
  "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
    }
  }
}

Recherche dʼun secret lookup

Vous pouvez rechercher un secret en fournissant son identifiant dans le chemin d’accès d’une requête GET.

Format d’API

GET /secrets/{SECRET_ID}
Paramètre
Description
{SECRET_ID}
L’identifiant du secret que vous voulez rechercher.

Requête

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'

Réponse

Une réponse réussie renvoie les détails du secret.

{
  "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"
    }
  }
}

Créer un secret create

Vous pouvez créer un secret en effectuant une requête POST.

NOTE
Lorsque vous créez un secret, l’API renvoie une réponse immédiate contenant des informations pour cette ressource. Dans le même temps, une tâche d’échange de secrets est déclenchée pour vérifier que l’échange d’informations d’identification est fonctionnel. Cette tâche est traitée de manière asynchrone et met à jour l’attribut status du secret vers succeeded ou failed selon le résultat.

Format d’API

POST /properties/{PROPERTY_ID}/secrets
Paramètre
Description
{PROPERTY_ID}
L’identifiant de la propriété sous laquelle vous souhaitez définir le secret.

Requête

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"
        }
      }'
Propriété
Description
name
Nom unique et descriptif pour le secret.
type_of

Le type d’informations d’authentification que le secret représente. Trois valeurs acceptées :

  • token : chaîne de jeton.
  • simple-http : nom d’utilisateur et mot de passe.
  • oauth2 : informations d’identification conformes à la norme OAuth.
credentials
Objet contenant les valeurs d’identification du secret. Selon l’attribut type_of, différentes propriétés doivent être fournies. Voir la section sur les informations d’identification dans le guide des secrets pour plus d’informations sur les exigences de chaque type.
relationships.environment
Chaque secret doit être associé à un environnement lors de sa création. L’objet data dans cette propriété doit contenir le id de l’environnement auquel le secret est affecté, avec une valeur type de environments.
type
Le type de ressource en cours de création. Pour cet appel, la valeur doit être secrets.

Réponse

Une réponse réussie renvoie les détails du secret. Notez que selon le type de secret, certaines propriétés sous credentials peuvent être masquées.

{
  "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"
    }
  }
}

Tester un secret oauth2 test

NOTE
Cette opération peut être effectuée uniquement sur les secrets avec une valeur type_of de oauth2.

Vous pouvez tester un secret oauth2 en incluant son identifiant dans le chemin d’accès d’une requête PATCH. L’opération de test effectue un échange et inclut la réponse du service d’autorisation dans l’attribut test_exchange de l’objet meta du secret. Cette opération ne met pas à jour le secret lui-même.

Format d’API

PATCH /secrets/{SECRET_ID}
Paramètre
Description
{SECRET_ID}
L’identifiant du secret oauth2 que vous voulez tester.

Requête

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"
        }
      }'
Propriété
Description
attributes
Doit contenir une propriété type_of avec une valeur de oauth2.
meta
Doit contenir une propriété action avec une valeur de test.
id
L’identifiant du secret que vous testez. Il doit correspondre à la valeur fournie dans le chemin de requête.
type
Le type de ressource en cours d’exploitation. Cette propriété doit être définie sur secrets.

Réponse

Une réponse réussie renvoie les détails du secret, avec la réponse du service d’autorisation contenue dans 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",
      }
    }
  }
}

Réessayer un secret retry

Réessayer un secret consiste à déclencher manuellement l’échange secret. Vous pouvez réessayer un secret en incluant son identifiant dans le chemin d’accès d’une requête PATCH.

Format d’API

PATCH /secrets/{SECRET_ID}
Paramètre
Description
{SECRET_ID}
L’identifiant du secret que vous souhaitez réessayer.

Requête

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"
        }
      }'
Propriété
Description
attributes
Doit contenir une propriété type_of correspondant à celle du secret mis à jour (token, simple-http ou oauth2).
meta
Doit contenir une propriété action avec une valeur de retry.
id
L’identifiant du secret que vous essayez à nouveau. Il doit correspondre à la valeur fournie dans le chemin de requête.
type
Le type de ressource en cours d’exploitation. Cette propriété doit être définie sur secrets.

Réponse

Une réponse réussie renvoie les détails du secret, dont le statut est réinitialisé sur pending. Une fois l’échange terminé, le statut du secret est mis à jour vers succeeded ou failed selon le résultat.

{
  "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"
    }
  }
}

Réautoriser oauth2-google secret reauthorize

Chaque oauth2-google secret contient un meta.authorization_url_expires_at qui indique quand l’URL d’autorisation expirera. Au-delà de cette date, le secret doit être réautorisé afin de renouveler le processus d'authentification.

Pour réautoriser un oauth2-google secret, faites une demande PATCH pour le secret en question.

Format d’API

PATCH /secrets/{SECRET_ID}
Paramètre
Description
{SECRET_ID}
La variable id du secret que vous souhaitez réautoriser.

Requête

La variable data dans le payload de la requête doit contenir un meta.action définie sur 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"
        }
      }'

Réponse

Une réponse réussie renvoie les détails du secret mis à jour. À partir de là, vous devez copier et coller le meta.authorization_url dans un navigateur pour terminer le processus d’autorisation.

{
  "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"
    }
  }
}

Supprimer un secret delete

Vous pouvez supprimer un secret en incluant son identifiant dans le chemin dʼaccès dʼune requête DELETE. Il s’agit d’une suppression irréversible avec effet immédiat qui ne nécessite pas de republication de bibliothèque.

Cette opération supprime le secret de l’environnement auquel il est associé et la ressource sous-jacente est supprimée.

WARNING
Si des règles déployées font référence à un secret supprimé, elles cesseront immédiatement de fonctionner. Tous les éléments de données qui font référence à ce secret doivent être mis à jour ou supprimés ultérieurement.

Format d’API

DELETE /secrets/{SECRET_ID}
Paramètre
Description
{SECRET_ID}
L’identifiant du secret que vous souhaitez supprimer.

Requête

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'

Réponse

Une réponse réussie renvoie un état HTTP 204 (No Content) et un corps de réponse vide, indiquant que le secret a été supprimé du système.

Répertorier les notes correspondant à un secret notes

L’API Reactor vous permet d’ajouter des notes à certaines ressources, y compris des secrets. Les notes sont des annotations textuelles qui n’ont aucun impact sur le comportement des ressources et peuvent être utilisées dans divers cas.

NOTE
Voir le guide des points d’entrée des notes pour plus d’informations sur la création et la modification de notes pour les ressources de l’API Reactor.

Vous pouvez récupérer toutes les notes liées à un secret en effectuant une requête GET.

Format d’API

GET /secrets/{SECRET_ID}/notes
Paramètre
Description
{SECRET_ID}
L’identifiant du secret dont vous souhaitez répertorier les notes.

Requête

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'

Réponse

Une réponse réussie renvoie une liste des notes appartenant au secret.

{
  "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
    }
  }
}

Récupération des ressources associées à un secret related

Les appels suivants montrent comment récupérer les ressources associées à un secret. Lorsque vous recherchez un secret, ces relations sont répertoriées sous la propriété relationships.

Pour plus d’informations sur les relations dans l’API Reactor, consultez le guide des relations.

Recherche de l’environnement associé à un secret environment

Vous pouvez rechercher l’environnement qui utilise un secret en ajoutant /environment au chemin d’accès d’une requête GET.

Format d’API

GET /secrets/{SECRET_ID}/environment
Paramètre
Description
{SECRET_ID}
L’identifiant du secret dont vous souhaitez rechercher l’environnement.

Requête

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'

Réponse

Une réponse réussie renvoie les détails de l’environnement.

{
  "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
    }
  }
}

Recherche de la propriété associée à un secret property

Vous pouvez rechercher la propriété qui détient un secret en ajoutant /property au chemin d’accès d’une requête GET.

Format d’API

GET /secrets/{SECRET_ID}/property
Paramètre
Description
{SECRET_ID}
L’identifiant du secret dont vous souhaitez rechercher la propriété.

Requête

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'

Réponse

Une réponse réussie renvoie les détails au sujet de la propriété.

{
  "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"
      ]
    }
  }
}
recommendation-more-help
12b4e4a9-5028-4d88-8ce6-64a580811743