Prise en main de REST APIs getting-started-with-rest-apis
Informations sur les conditions requises générales, authentification, paramètres de requête facultatifs, URLs de requête et autres références.
Exigences et recommandations relatives aux API api-requirements-recommendations
Notez ce qui suit lorsque vous utilisez le code de l’API Audience Manager:
- Paramètres de requête : tous les paramètres de requête sont requis, sauf indication contraire.
- En-têtes de requête : lors de l’utilisation de jetons Adobe Developer, vous devez fournir l’en-tête de
x-api-key
. Vous pouvez obtenir votre clé API en suivant les instructions de la page Intégration de compte de service. - JSONle type de contenu : spécifiez
content-type: application/json
etaccept: application/json
dans votre code. - Demandes et réponses : envoyez les demandes sous la forme d’un objet JSON correctement formaté. Audience Manager répond avec des données formatées JSON. Les réponses du serveur peuvent contenir les données demandées, un code d’état, ou les deux.
- Accès : votre consultant Audience Manager vous fournira un identifiant client et une clé qui vous permettront d’effectuer des demandes de API.
- Documentation et exemples de code : le texte en italique représente une variable que vous fournissez ou transmettez lors de l’exécution ou de la réception de données API. Remplacez le texte en italique par votre propre code, vos propres paramètres ou d’autres informations requises.
Authentification authentication
Les Audience Manager REST APIs prennent en charge trois méthodes d’authentification.
- [Recommandé]{class="badge positive"} Authentification de serveur à serveur OAuth à l’aide de la console de développement Adobe. Adobe Developer est l’écosystème et la communauté de développeurs d’Adobe. Elle comprend des API pour tous les produits Adobe. Il s’agit de la méthode recommandée pour configurer et utiliser Adobe APIs. Pour en savoir plus sur l’authentification de serveur à serveur OAuth, consultez la documentation destinée aux développeurs et développeuses d’Adobe.
- [Obsolète]{class="badge negative"} Authentification JWT (compte de service) à l’aide de la console de développement Adobe. Adobe Developer est l’écosystème et la communauté de développeurs d’Adobe. Elle comprend des API pour tous les produits Adobe.
- [Obsolète]{class="badge negative"} authentification OAuth héritée. Bien que cette méthode soit obsolète, les clients disposant d’intégrations OAuth existantes peuvent continuer à l’utiliser.
Authentification de serveur à serveur OAuth à l’aide d’Adobe Developer oauth-adobe-developer
Cette section explique comment rassembler les informations d’identification requises pour authentifier les appels API Audience Manager, comme indiqué dans le diagramme de flux ci-dessous. Vous pouvez rassembler la plupart des informations d’identification requises dans la configuration unique initiale. Toutefois, le jeton d’accès doit être actualisé toutes les 24 heures.
Présentation d’Adobe Developer developer-overview
Adobe Developer est l’écosystème et la communauté de développeurs d’Adobe. Elle comprend des API pour tous les produits Adobe.
Il s’agit de la méthode recommandée pour configurer et utiliser Adobe APIs.
Conditions préalables prerequisites-server-to-server
Avant de pouvoir configurer l’authentification OAuth Server-to-Server, vérifiez que vous avez accès au Adobe Developer Console dans Adobe Developer. Contactez l’administrateur ou l’administratrice de votre organisation pour les demandes d’accès.
Authentification oauth
Pour configurer l’authentification OAuth Server-to-Server à l’aide de Adobe Developer, procédez comme suit :
- Connectez-vous à Adobe Developer Console.
- Suivez les étapes du guide d’implémentation des informations d’identification de serveur à serveur OAuth.
- Au cours de Étape 2 : ajouter une API à votre projet à l’aide de l’authentification du compte de service, choisissez l’option Audience Manager API .
- Testez la connexion en effectuant votre premier appel API en fonction des instructions de l’étape 3.
Ajouter l’API Audience Manager à un projet add-aam-api-to-project
Accédez à Adobe Developer Console et connectez-vous avec votre Adobe ID. Suivez ensuite les étapes décrites dans le tutoriel sur la création d’un projet vide dans la documentation de Adobe Developer Console.
Une fois que vous avez créé un projet, sélectionnez Add API dans l’écran Project Overview.
Écran Developer Console
L’écran Add an API s’affiche. Sélectionnez l’icône de produit de Adobe Experience Cloud, puis choisissez Audience Manager API avant de sélectionner Next.
Sélectionner le type d’authentification OAuth serveur à serveur select-oauth-server-to-server
Sélectionnez ensuite le type d’authentification pour générer les jetons d’accès et accéder à l’API Audience Manager.
Sélection des profils de produit pour votre intégration select-product-profiles
Dans l’écran Configure API, sélectionnez les profils de produit souhaités. Le compte de service de votre intégration aura accès aux fonctionnalités granulaires par le biais des profils de produit sélectionnés ici.
Sélectionnez Save configured API lorsque vous êtes prêt(e).
Collecter les informations d’identification gather-credentials
Une fois que l’API a été ajoutée au projet, la page Audience Manager API du projet affiche les informations d’identification suivantes, requises dans tous les appels aux API Audience Manager :
{API_KEY}
(Client ID){ORG_ID}
(Organization ID)
Générer un jeton d’accès generate-access-token
L’étape suivante consiste à générer des informations d’identification {ACCESS_TOKEN}
à utiliser dans les appels API d’Audience Manager. Contrairement aux valeurs de {API_KEY}
et {ORG_ID}
, un nouveau jeton doit être généré toutes les 24 heures pour continuer à utiliser les API d’Audience Manager. Sélectionnez Generate access token, comme illustré ci-dessous.
Tester un appel API test-api-call
Après avoir obtenu votre jeton du porteur d’authentification, effectuez un appel API pour tester que vous pouvez désormais accéder aux API Audience Manager.
-
Accédez à la documentation de référence de l’API.
-
Sélectionnez Authorize et collez le jeton d’accès obtenu à l’étape Générer un jeton d’accès.
-
Effectuez un appel GET au point d’entrée de l’API
/datasources
pour récupérer une liste de toutes les sources de données disponibles globalement, comme indiqué dans la documentation de référence de l’API 🔗. Sélectionnez Try it out, puis Execute, comme illustré ci-dessous.
code language-shell |
---|
|
Lors de l’utilisation d’un jeton d’accès fonctionnel, le point d’entrée de l’API renvoie une réponse 200, ainsi qu’un corps de réponse qui inclut toutes les sources de données globales auxquelles votre organisation a accès.
code language-json |
---|
|
[Obsolète]{class="badge negative"} Authentification JWT (Service Account) à l’aide d’Adobe Developer jwt
Présentation d’Adobe Developer adobeio
Adobe Developer est l’écosystème et la communauté de développeurs d’Adobe. Elle comprend des API pour tous les produits Adobe.
Il s’agit de la méthode recommandée pour configurer et utiliser Adobe APIs.
Conditions préalables prerequisites
Avant de pouvoir configurer l’authentification JWT, vérifiez que vous avez accès au Adobe Developer Console dans Adobe Developer. Contactez l’administrateur ou l’administratrice de votre organisation pour les demandes d’accès.
Authentification auth
Pour configurer l’authentification JWT (Service Account) à l’aide de Adobe Developer, procédez comme suit :
- Connectez-vous à Adobe Developer Console.
- Suivez les étapes de la section Connexion au compte de service.
- Au cours de Étape 2 : ajouter une API à votre projet à l’aide de l’authentification du compte de service, choisissez l’option Audience Manager API .
- Testez la connexion en effectuant votre premier appel API en fonction des instructions de l’étape 3.
note note |
---|
NOTE |
Pour configurer et utiliser le Audience Manager REST APIs de manière automatisée, vous pouvez générer le JWT par programmation. Consultez la section Authentification JWT (compte de service) pour obtenir des instructions détaillées. |
Autorisations RBAC de compte technique
Si votre compte Audience Manager utilise le contrôle d’accès en fonction du rôle, vous devez créer un compte d’utilisateur technique Audience Manager et l’ajouter au groupe RBAC Audience Manager qui effectuera les appels API.
Pour créer un compte d’utilisateur technique et l’ajouter à un groupe RBAC, procédez comme suit :
-
Appelez-
GET
https://aam.adobe.io/v1/users/self
. L’appel crée un compte d’utilisateur technique que vous pouvez voir dans le Admin Console, dans la page Users . -
Connectez-vous à votre compte Audience Manager et ajoutez le compte d’utilisateur technique au groupe d’utilisateurs qui effectuera les appels API.
[Obsolète]{class="badge negative"} Authentification OAuth (Obsolète) oauth-deprecated
note warning |
---|
WARNING |
L’authentification et le renouvellement Audience Manager jeton REST API via OAuth 2.0 sont désormais obsolètes. |
Utilisez plutôt l’authentification JWT (compte de service). |
La Audience Manager REST API suit les normes OAuth 2.0 pour l’authentification et le renouvellement des jetons. Les sections ci-dessous décrivent comment vous authentifier et commencer à utiliser les API.
Créer un utilisateur API générique requirements
Nous vous recommandons de créer un compte utilisateur technique distinct pour travailler avec les Audience Manager API. Il s’agit d’un compte générique qui n’est pas lié à un utilisateur spécifique de votre organisation ni associé à celui-ci. Ce type de compte utilisateur API permet d’accomplir deux choses :
- Identifiez le service qui appelle le API (par exemple, les appels de vos applications qui utilisent nos API ou d’autres outils qui font des demandes API).
- Assurer un accès ininterrompu aux API. Un compte lié à une personne spécifique peut être supprimé lorsqu’elle quitte votre entreprise. Cela vous empêchera d’utiliser le code API disponible. Un compte générique qui n'est pas lié à un employé particulier vous aide à éviter ce problème.
À titre d’exemple ou de cas d’utilisation pour ce type de compte, supposons que vous souhaitiez modifier de nombreux segments à la fois avec les outils de gestion en bloc. Pour ce faire, votre compte utilisateur doit disposer d’un accès API. Au lieu d’ajouter des autorisations à un utilisateur spécifique, créez un compte utilisateur API non spécifique disposant des informations d’identification, de la clé et du secret appropriés pour effectuer des appels API. Cela s’avère également utile si vous développez vos propres applications qui utilisent les Audience Manager API.
Contactez votre consultant Audience Manager pour configurer un compte utilisateur générique en API seule.
Workflow d’authentification de mot de passe password-authentication-workflow
L'authentification par mot de passe sécurise l'accès à nos REST API. Les étapes ci-dessous décrivent le processus d’authentification par mot de passe à partir d’un client JSON dans votre navigateur.
note tip |
---|
TIP |
Chiffrez les jetons d’accès et d’actualisation si vous les stockez dans une base de données. |
Étape 1 : Demander l'accès API
Contactez votre responsable des solutions partenaires. Ils vous fourniront un identifiant client et un secret API. L’identifiant et le secret vous authentifient auprès de l’API.
Remarque : si vous souhaitez recevoir un jeton d’actualisation, indiquez-le lorsque vous demandez un accès API.
Étape 2 : demander le jeton
Transmettez une demande de jeton avec votre client JSON préféré. Lorsque vous créez la requête :
- Utilisez une méthode
POST
pour appelerhttps://api.demdex.com/oauth/token
. - Convertissez votre identifiant client et votre secret en une chaîne codée en base-64. Séparez l’ID et le secret par deux points pendant le processus de conversion. Par exemple, les informations d’identification
testId : testSecret
converties endGVzdElkOnRlc3RTZWNyZXQ=
. - Transmettez le HTTP headers
Authorization:Basic <base-64 clientID:clientSecret>
etContent-Type: application/x-www-form-urlencoded
. Par exemple, votre en-tête pourrait ressembler à ceci :Authorization: Basic dGVzdElkOnRlc3RTZWNyZXQ=
Content-Type: application/x-www-form-urlencoded
- Configurez le corps de la requête comme suit :
grant_type=password&username=<your-AudienceManager-user-name>&password=<your-AudienceManager-password>
Étape 3 : recevoir le jeton
La réponse JSON contient votre jeton d’accès. La réponse doit se présenter comme suit :
code language-json |
---|
|
La clé expires_in
représente le nombre de secondes avant l’expiration du jeton d’accès. De bonnes pratiques recommandent d’utiliser des délais d’expiration courts pour limiter l’exposition si le jeton est jamais exposé.
Jeton d’actualisation refresh-token
Les jetons d’actualisation renouvellent API accès après l’expiration du jeton d’origine. Si demandé, la réponse JSON dans le workflow de mot de passe comprend un jeton d’actualisation. Si vous ne recevez pas de jeton d’actualisation, créez-en un via le processus d’authentification par mot de passe.
Vous pouvez également utiliser un jeton d’actualisation pour générer un nouveau jeton avant l’expiration du jeton d’accès existant.
Si votre jeton d’accès a expiré, vous recevez un 401 Status Code
et l’en-tête suivant dans la réponse :
WWW-Authenticate: Bearer realm="oauth", error="invalid_token", error_description="Access token expired: <token>"
Les étapes suivantes décrivent le workflow d’utilisation d’un jeton d’actualisation pour créer un jeton d’accès à partir d’un client JSON dans votre navigateur.
Étape 1 : demander le nouveau jeton
Transmettez une demande de jeton d’actualisation au client JSON de votre choix. Lorsque vous créez la requête :
- Utilisez une méthode
POST
pour appelerhttps://api.demdex.com/oauth/token
. - Convertissez votre identifiant client et votre secret en une chaîne codée en base-64. Séparez l’ID et le secret par deux points pendant le processus de conversion. Par exemple, les informations d’identification
testId : testSecret
converties endGVzdElkOnRlc3RTZWNyZXQ=
. - Transmettez les en-têtes HTTP
Authorization:Basic <base-64 clientID:clientSecret>
etContent-Type: application/x-www-form-urlencoded
. Par exemple, votre en-tête pourrait ressembler à ceci :Authorization: Basic dGVzdElkOnRlc3RTZWNyZXQ=
Content-Type: application/x-www-form-urlencoded
- Dans le corps de la requête, spécifiez le
grant_type:refresh_token
et transmettez le jeton d’actualisation que vous avez reçu dans votre demande d’accès précédente. La requête doit se présenter comme suit :grant_type=refresh_token&refresh_token=b27122c0-b0c7-4b39-a71b-1547a3b3b88e
Étape 2 : recevoir le nouveau jeton
La réponse JSON contient votre nouveau jeton d’accès. La réponse doit se présenter comme suit :
code language-json |
---|
|
Code d’autorisation et authentification implicite authentication-code-implicit
Le Audience Manager REST API prend en charge le code d’autorisation et l’authentification implicite. Pour utiliser ces méthodes d’accès, vos utilisateurs doivent se connecter à https://api.demdex.com/oauth/authorize
pour obtenir des jetons d’accès et d’actualisation.
Effectuer des demandes de API authentifiées authenticated-api-requests
Conditions requises pour appeler des méthodes API après avoir reçu un jeton d’authentification.
Pour effectuer des appels par rapport aux méthodes API disponibles :
- Dans l’en-tête
HTTP
, définissezAuthorization: Bearer <token>
. - Lors de l’utilisation de l’authentification JWT (Compte de service), vous devez fournir l’en-tête
x-api-key
, qui sera le même que votreclient_id
. Vous pouvez obtenir votreclient_id
à partir de la page Intégration d’Adobe Developer. - Appelez la méthode de API requise.
Paramètres de requête API facultatifs optional-api-query-parameters
Définissez les paramètres facultatifs disponibles pour les méthodes qui renvoient toutes les propriétés d’un objet .
Vous pouvez utiliser ces paramètres facultatifs avec des méthodes API qui renvoient des propriétés all pour un objet . Définissez ces options dans la chaîne de requête lors de la transmission de cette requête au API.
page
pageSize
sortBy
descending
ascending
est la valeur par défaut.search
GET https://aam.adobe.io/v1/models/?search=Test
. Vous pouvez effectuer une recherche sur n’importe quelle valeur renvoyée par une méthode « get all ».folderId
permissions
Renvoie une liste de segments en fonction de l’autorisation spécifiée. READ
est la valeur par défaut. Les autorisations incluent :
READ
: renvoie et affiche des informations sur un segment.WRITE
: utilisezPUT
pour mettre à jour un segment.CREATE
: utilisezPOST
pour créer un segment.DELETE
: permet de supprimer un segment. Nécessite l’accès aux caractéristiques sous-jacentes, le cas échéant. Par exemple, vous aurez besoin de droits pour supprimer les caractéristiques appartenant à un segment si vous souhaitez le supprimer.
Spécifiez plusieurs autorisations avec des paires clé-valeur distinctes. Par exemple, pour renvoyer une liste de segments avec des autorisations READ
et WRITE
uniquement, transmettez "permissions":"READ"
, "permissions":"WRITE"
.
includePermissions
true
pour renvoyer vos autorisations pour le segment. La valeur par défaut est false
.Remarque Sur Les Options De Page
Lorsque les informations de page ne sont pas spécifiées, la requête renvoie des résultats JSON simples dans un tableau . Si les informations sur la page est sont spécifiées, la liste renvoyée est encapsulée dans un objet JSON qui contient des informations sur le résultat total et la page active. Votre exemple de requête à l’aide des options de page pourrait ressembler à ceci :
GET https://aam.adobe.io/v1/models/?page=1&pageSize=2&search=Test
API URLs api-urls
URLs pour les demandes, les environnements d’évaluation et de production et les versions.
URLs de la demande request-urls
Le tableau suivant répertorie les URLs de requête utilisés pour transmettre des requêtes API, par méthode.
Selon la méthode d’authentification que vous utilisez, vous devez ajuster le URLs de votre requête en fonction des tableaux ci-dessous.
URLs de requête pour l’authentification [ OAuth ]{class="badge positive"}recommandée[ serveur à serveur et ]{class="badge negative"}obsolèteJWT via Adobe Developer request-urls-jwt
https://aam.adobe.io/v1/models/
https://aam.adobe.io/v1/datasources/
https://aam.adobe.io/v1/signals/derived/
https://aam.adobe.io/v1/destinations/
https://aam.adobe.io/v1/partner-sites/
https://aam.adobe.io/v1/folders/traits /
Segments :
https://aam.adobe.io/v1/folders/segments /
https://aam.adobe.io/v1/schemas/
https://aam.adobe.io/v1/segments/
https://aam.adobe.io/v1/traits/
https://aam.adobe.io/v1/customer-trait-types
https://aam.adobe.io/v1/taxonomies/0/
URLs de demande pour l’authentification [obsolète]{class="badge negative"} héritée OAuth request-urls-oauth
https://api.demdex.com/v1/models/
https://api.demdex.com/v1/datasources/
https://api.demdex.com/v1/signals/derived/
https://api.demdex.com/v1/destinations/
https://api.demdex.com/v1/partner-sites/
https://api.demdex.com/v1/folders/traits /
Segments :
https://api.demdex.com/v1/folders/segments /
https://api.demdex.com/v1/schemas/
https://api.demdex.com/v1/segments/
https://api.demdex.com/v1/traits/
https://api.demdex.com/v1/customer-trait-types
https://api.demdex.com/v1/taxonomies/0/
Environnements environments
Les Audience Manager API permettent d’accéder à différents environnements de travail. Ces environnements vous permettent de tester le code sur des bases de données distinctes sans affecter les données de production actives. Le tableau suivant répertorie les environnements API disponibles et les noms d’hôtes de ressources correspondants.
Selon la méthode d’authentification que vous utilisez, vous devez ajuster les URLs de votre environnement conformément au tableau ci-dessous.
https://aam.adobe.io/...
https://api.demdex.com/...
https://aam-beta.adobe.io/...
https://api-beta.demdex.com/...
Versions versions
De nouvelles versions de ces API sont publiées régulièrement. Une nouvelle version incrémente le numéro de version API. Le numéro de version est référencé dans le URL de la requête, comme v<version number>
dans l’exemple suivant :
https://<host>/v1/...
Codes de réponse définis response-codes-defined
HTTP
les codes d’état et le texte de réponse renvoyés par le Audience Manager de REST API.
200
OK
201
Created
PUT
et POST
.204
No Content
400
Bad Request
403
Forbidden
404
Not Found
409
Conflict
500
Server Error