Informations sur les exigences générales, l'authentification, les paramètres de requête facultatifs, la demande URLs et d'autres références.
Ce que vous devez et devez faire lorsque vous travaillez avec les Audience Manager APIs.
Tenez compte des points suivants lorsque vous utilisez le code Audience Manager API :
x-api-key
en-tête. Vous pouvez obtenir votre clé API en suivant les instructions de la page Intégration du compte de service.content-type: application/json
** accept: application/json
et dans votre code.Audience Manager REST APIs prend en charge deux méthodes d'authentification.
Selon votre méthode d'authentification, vous devez ajuster votre requête URLs en conséquence. Consultez la section Environnements pour plus d’informations sur les noms d’hôte que vous devez utiliser.
Adobe I/O est l'écosystème et la communauté du développement de l'Adobe. Il comprend les API des développeurs Adobe I/O et API pour tous les produits d'Adobe.
Il s’agit de la méthode recommandée pour configurer et utiliser Adobe APIs.
Avant de pouvoir configurer l'authentification JWT, assurez-vous d'avoir accès à la Console développeur d'Adobes dans Adobe I/O. Contactez l’administrateur de votre organisation pour obtenir des demandes d’accès.
Suivez les étapes ci-dessous pour configurer l'authentification JWT (Service Account) à l'aide de Adobe I/O :
Pour configurer et utiliser Audience Manager REST APIs de manière automatisée, vous pouvez générer le JWT par programmation. Voir Authentification JWT (Service Account) pour obtenir des instructions détaillées.
Audience Manager REST API l’authentification et le renouvellement des jetons par le biais OAuth 2.0 est désormais obsolète.
Utilisez à la place l'authentification JWT (Service Account).
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 début en utilisant les APIs.
Nous vous recommandons de créer un compte utilisateur technique distinct pour travailler avec les Audience Manager APIs. Il s’agit d’un compte générique qui n’est pas lié ou associé à un utilisateur spécifique de votre organisation. Ce type de compte utilisateur API permet d’accomplir 2 tâches :
À titre d'exemple ou de cas d'utilisation pour ce type de compte, supposons que vous souhaitiez modifier plusieurs segments à la fois avec les outils de gestion en bloc. Pour ce faire, votre compte utilisateur doit disposer d’un accès API. Plutôt que 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 APIs.
Contactez votre consultant Audience Manager pour configurer un compte utilisateur générique API uniquement.
L'authentification par mot de passe sécurise l'accès à REST API. Les étapes ci-dessous décrivent le processus d'authentification par mot de passe d'un client JSON dans votre navigateur.
Chiffrez l’accès et actualisez les jetons si vous les stockez dans une base de données.
Contactez votre responsable Solutions partenaires. Ils vous fourniront un API identifiant client et un secret. L'ID et le secret vous authentifient dans API.
Remarque : Si vous souhaitez recevoir un jeton actualisé, indiquez-le lorsque vous demandez l’accès API.
Transférez une demande de jeton avec votre client JSON préféré. Lorsque vous créez la requête :
POST
pour appeler https://api.demdex.com/oauth/token
.testId : testSecret
sont converties en dGVzdElkOnRlc3RTZWNyZXQ=
.Authorization:Basic <base-64 clientID:clientSecret>
et Content-Type: application/x-www-form-urlencoded
. Par exemple, votre en-tête peut ressembler à ceci : Authorization: Basic dGVzdElkOnRlc3RTZWNyZXQ=
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=<your-AudienceManager-user-name>&password=<your-AudienceManager-password>
La réponse JSON contient votre jeton d'accès. La réponse doit se présenter comme suit :
{
"access_token": "28fed402-eafd-456c-9341-ac753f25bbbc",
"token_type": "bearer",
"refresh_token": "b27122c0-b0c7-4b39-a71b-1547a3b3b88e",
"expires_in": 21922,
"scope": "read write"
}
La clé expires_in
représente le nombre de secondes avant l'expiration du jeton d'accès. Il est recommandé d’utiliser de courts délais d’expiration pour limiter l’exposition si le jeton est un jour exposé.
Actualisez les jetons pour renouveler API l’accès après l’expiration du jeton d’origine. Si nécessaire, la réponse JSON dans le flux de travail des mots de passe comprend un jeton actualisé. Si vous ne recevez pas de jeton actualisé, créez-en un nouveau par le biais du processus d’authentification par mot de passe.
Vous pouvez également utiliser un jeton actualisé 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 processus d’utilisation d’un jeton actualisé pour créer un jeton d'accès à partir d’un client JSON dans votre navigateur.
Transférez une demande de jeton actualisé avec votre client JSON préféré. Lorsque vous créez la requête :
POST
pour appeler https://api.demdex.com/oauth/token
.testId : testSecret
sont converties en dGVzdElkOnRlc3RTZWNyZXQ=
.Authorization:Basic <base-64 clientID:clientSecret>
et Content-Type: application/x-www-form-urlencoded
. Par exemple, votre en-tête peut ressembler à ceci : Authorization: Basic dGVzdElkOnRlc3RTZWNyZXQ=
Content-Type: application/x-www-form-urlencoded
grant_type:refresh_token
et transmettez le jeton actualisé que vous avez reçu dans votre précédente requête d’accès. La demande doit se présenter comme suit : grant_type=refresh_token&refresh_token=b27122c0-b0c7-4b39-a71b-1547a3b3b88e
La réponse JSON contient votre nouveau jeton d'accès. La réponse doit se présenter comme suit :
{
"access_token": "4fdfc261-2ffc-4fb7-8dbd-64221714c45f",
"token_type": "bearer",
"refresh_token": "295fa487-1825-4caa-a715-80b81ac17dae",
"expires_in": 21922,
"scope": "read write"
}
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 accéder à et actualiser les jetons.
Exigences relatives à l'appel des méthodes API après réception d'un jeton d'authentification.
Pour lancer des appels à l'aide des méthodes API disponibles :
HTTP
, définissez Authorization: Bearer <token>
.x-api-key
, qui sera identique à votre client_id
. Vous pouvez obtenir votre client_id
à partir de la page Intégration Adobe I/O.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 les propriétés all pour un objet. Définissez ces options dans la chaîne de requête lorsque vous transmettez cette requête à API.
Paramètre | Description |
---|---|
page |
Renvoie les résultats par numéro de page. Débuts de numérotation à 0. |
pageSize |
Définit le nombre de résultats de réponse renvoyés par la requête (10 est la valeur par défaut). |
sortBy |
Trie et renvoie les résultats selon la propriété JSON spécifiée. |
descending |
Trie et renvoie les résultats dans l’ordre décroissant. ascending est définie par défaut. |
search |
Renvoie des résultats basés sur la chaîne spécifiée que vous souhaitez utiliser comme paramètre de recherche. Supposons, par exemple, que vous souhaitiez trouver des résultats pour tous les modèles qui contiennent le mot "Test" dans l’un des champs de valeur de cet élément. Votre exemple de demande peut se présenter comme suit : GET https://aam.adobe.io/v1/models/?search=Test . Vous pouvez effectuer une recherche sur toute valeur renvoyée par une méthode "get all". |
folderId |
Renvoie tous les ID de traits dans le dossier spécifié. Non disponible pour toutes les méthodes. |
permissions |
Renvoie une liste de segments basée sur l’autorisation spécifiée. READ est définie par défaut. Les autorisations comprennent :
Spécifiez plusieurs autorisations avec des paires clé-valeur distinctes. Par exemple, pour renvoyer une liste de segments avec les autorisations READ et WRITE uniquement, transmettez "permissions":"READ" , "permissions":"WRITE" . |
includePermissions |
(Boolean) Définissez ce paramètre sur true pour renvoyer vos autorisations pour le segment. La valeur par défaut est false . |
Lorsque les informations de page ne sont pas spécifiées, la requête renvoie plain JSON résulte en un tableau. Si les informations de page sont spécifiées, la liste renvoyée est encapsulée dans un objet JSON contenant des informations sur le résultat total et la page active. Votre exemple de requête utilisant les options de page peut ressembler à ceci :
GET https://aam.adobe.io/v1/models/?page=1&pageSize=2&search=Test
URLs pour les demandes, les environnements d’évaluation et de production et les versions.
Le tableau suivant liste la requête URLs utilisée pour transmettre des requêtes API, par méthode.
Selon la méthode d'authentification que vous utilisez, vous devez ajuster votre requête URLs en fonction des tableaux ci-dessous.
API Méthodes | Demande URL |
---|---|
Algorithmic Modeling | https://aam.adobe.io/v1/models/ |
Data Source | https://aam.adobe.io/v1/datasources/ |
Derived Signals | https://aam.adobe.io/v1/signals/derived/ |
Destinations | https://aam.adobe.io/v1/destinations/ |
Domains | https://aam.adobe.io/v1/partner-sites/ |
Folders | Caractéristiques : https://aam.adobe.io/v1/folders/traits / Segments : https://aam.adobe.io/v1/folders/segments / |
Schema | https://aam.adobe.io/v1/schemas/ |
Segments | https://aam.adobe.io/v1/segments/ |
Traits | https://aam.adobe.io/v1/traits/ |
Trait Types | https://aam.adobe.io/v1/customer-trait-types |
Taxonomy | https://aam.adobe.io/v1/taxonomies/0/ |
API Méthodes | Demande URL |
---|---|
Algorithmic Modeling | https://api.demdex.com/v1/models/ |
Data Source | https://api.demdex.com/v1/datasources/ |
Derived Signals | https://api.demdex.com/v1/signals/derived/ |
Destinations | https://api.demdex.com/v1/destinations/ |
Domains | https://api.demdex.com/v1/partner-sites/ |
Folders | Caractéristiques : https://api.demdex.com/v1/folders/traits / Segments : https://api.demdex.com/v1/folders/segments / |
Schema | https://api.demdex.com/v1/schemas/ |
Segments | https://api.demdex.com/v1/segments/ |
Traits | https://api.demdex.com/v1/traits/ |
Trait Types | https://api.demdex.com/v1/customer-trait-types |
Taxonomy | https://api.demdex.com/v1/taxonomies/0/ |
Les Audience Manager APIs permettent d'accéder à différents environnements de travail. Ces environnements vous aident à tester le code par rapport à des bases de données distinctes sans affecter les données de production en direct. Le tableau suivant liste les environnements API disponibles et les noms d'hôte de ressources correspondants.
Selon la méthode d'authentification que vous utilisez, vous devez ajuster votre environnement URLs en fonction du tableau ci-dessous.
Environnement | Nom d'hôte pour l'authentification JWT | Nom d'hôte pour l'authentification OAuth |
---|---|---|
Production | https://aam.adobe.io/... |
https://api.demdex.com/... |
Bêta | https://aam-beta.adobe.io/... |
https://api-beta.demdex.com/... |
L'environnement Audience Manager bêta est une version autonome à plus petite échelle de l'environnement de production. Toutes les données à tester doivent être entrées et collectées dans cet environnement.
De nouvelles versions de ces APIs 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 la requête URL sous la forme v<version number>
, comme indiqué dans l’exemple suivant :
https://<host>/v1/...
HTTP
les codes d’état et le texte de réponse renvoyés par le Audience Manager REST API.
ID de code de réponse | Texte de la réponse | Définition |
---|---|---|
200 |
OK |
La demande a été traitée avec succès. Renverra le contenu ou les données attendus si nécessaire. |
201 |
Created |
La ressource a été créée. Renvoie pour les requêtes PUT et POST . |
204 |
No Content |
La ressource a été supprimée. Le corps de la réponse sera vide. |
400 |
Bad Request |
Le serveur n'a pas compris la demande. Généralement en raison d’une syntaxe incorrecte. Vérifiez votre demande et réessayez. |
403 |
Forbidden |
Vous n'avez pas accès à la ressource. |
404 |
Not Found |
Impossible de trouver la ressource pour le chemin spécifié. |
409 |
Conflict |
Impossible de terminer la demande en raison d'un conflit avec l'état de la ressource. |
500 |
Server Error |
Le serveur a rencontré une erreur inattendue qui l'a empêchée de répondre à la demande. |