Cet article indique comment utiliser l’API REST de Campaign Standard pour effectuer des opérations sur votre base de données.

Portée

Ce document décrit l’utilisation des APIs d’Adobe Campaign Standard et fournit des conseils généraux ainsi que des exemples sur la façon d’implémenter et d’utiliser les instructions.

  1. Scénarios d’exploitation des APIs d’ACS.
  2. Authentification via Adobe I/O et génération de jetons JWT (jeton Web JSON).
  3. Exécution des opérations de création/lecture/mise à jour/suppression (CRUD) sur un profil à l’aide d’APIs d’ACS. (Exercice pratique)
  4. Abonner et désabonner un profil à partir d’un service à l’aide d’APIs d’ACS. (Exercice pratique)
  5. Intégration des APIs dans un site web de démonstration. (Exemple) 

 

Conditions préalables

Un utilisateur professionnel de marketing pour APIs d’ACS doit comprendre les éléments suivants :

  1. Rôle des appels d’API : 
  2. Cas où il est utile de passer des appels d’API : 
  3. Application de solutions techniques pour résoudre les problèmes du monde réel. 

Un développeur des APIs d’ACS doit disposer des privilèges adéquats et des connaissances suivantes :

  1. Fonction et utilisation des APIs REST.
  2. Droits d’administration d’ACS.
  3. Un jeu d’authentification Adobe.IO décrit les étapes et les connaissances nécessaires à la génération de jetons JWT.

Documents de référence

Les articles suivants constituent de bonnes références sur les APIs d’ACS et la structure technologique associée, notamment Adobe I/O.

Exemple d’environnement réel pour les APIs d’ACS

Adobe Campaign Standard fournit des APIs qui permettent aux systèmes existants d’intégrer à la plate-forme ACS les problèmes du monde réel en temps réel. Les sites Web publics tels que la page d’inscription ou de désinscription doivent se connecter aux systèmes d’arrière-plan pour stocker les informations sur le profil. Les systèmes d’arrière-plan tels qu’Adobe Campaign sont dotés de la flexibilité et de la puissance nécessaires à l’ingestion des données de profil et de l’exécution des opérations personnalisées sur celui-ci. 

Page d’accueil d’inscription et Centre de préférences

La page d’inscription - exemple du site Web Geometrixx - permet aux clients ou futurs clients d’enregistrer leur nom et leur adresse électronique. Une fois que vous avez saisi les informations de profil et les préférences, ACS peut envoyer des messages personnalisés en fonction des intérêts de la personne. 

1. Un formulaire d’inscription avec des écouteurs API de Campaign.

L4281_1

2. Actions personnalisées à effectuer en fonction des cases. Un client qui sélectionne « Envoyer des offres spéciales » peut recevoir un courrier électronique personnalisé avec un bon de cadeau différent du courrier électronique du processus d’enregistrement normal.

L4281_2

3. Un détenteur de profil peut modifier les informations du profil après avoir cliqué sur le lien « Mise à jour des informations » figurant dans le courrier électronique. Le détenteur du profil est alors dirigé vers la page « Mettre à jour les informations de votre profil et de vos préférences ». Pour effectuer cette opération, les informations du profil (Pkey) sont transmises au serveur de Campaign et le profil est récupéré et représenté. Lorsque le détenteur du profil clique sur le bouton « Mettre à jour », les informations sont mises à jour dans le système (via la commande PATCH). 

L4281_3

Ce document aide essentiellement les développeurs à utiliser des APIs d’ACS dans les scénarios comme ci-dessus et vous aide à créer des campagnes et systèmes de messagerie électronique efficaces. 

Pourquoi utiliser des APIs d’ACS ?

Objectif professionnel

Intégration de la plate-forme Campaign Standard au site Web et/ou d’autres systèmes commerciaux (traitement des commandes, systèmes transactionnels, POS, etc.). pour déclencher des messages et synchroniser le profil client en temps réel. 


Voici quelques exemples :

  • Inscription de client prospect en ligne.
  • Gestion de profils de clients et de préférences de communication de marketing existants
  • Déclenchement de communication transactionnelle basé sur un événement - Confirmation de commande, réservation d’itinéraire, réinitialisation du mot de passe, etc.
  • Même pour abandon de communication par e-mail.

Solution technique

Les APIs d’ACS permettent aux développeurs et aux programmeurs d’effectuer les opérations suivantes en toute simplicité :

  1. Synchroniser les données en temps réel.
    1. Effectuer des opérations CRUD sur les profils et services. 
    2. Abonner et désabonner des profils à un service. 
  2. Déclencher des messages en temps réel.
    1. Envoyer des messages électroniques ou SMS personnalisés en fonction des événements aux profils basés sur leurs actions. 

Configuration

Authentifier avec Adobe et générer le jeton d’accès

Les APIs d’Adobe Campaign requièrent une « clé d’API » et un « jeton utilisateur » pour authentifier les utilisateurs qui demandent des APIs. Cette section décrit la manière dont l’administrateur de l’organisation Experience Cloud effectue la configuration unique de Adobe.IO pour s’intégrer aux API d’ACS. 

Configuration de Adobe.IO pour utiliser le jeton public pour accéder aux APIs d’ACS

1. Connectez-vous à la console Adobe I/O (https://www.adobe.io/console) et sélectionnez votre organisation IMS de la liste déroulante des organisations. Sélectionnez ensuite nouvelle intégration.

Screen Shot 2017-05-22 at 11.52.09

2. Sélectionnez le type d’intégration que vous souhaitez configurer. Ici, sélectionnez Accéder à une API, puis cliquez sur le bouton Continuer.

Screen Shot 2017-05-22 at 11.58.58

3. Sélectionner Adobe Campaign dans la liste des intégrations possibles, sous la section Experience Cloud, puis cliquez sur Continuer.

Screen Shot 2017-05-22 at 12.10.27

4. Sélectionnez Nouvelle intégration, puis cliquez sur Continuer.

Screen Shot 2017-05-22 at 12.15.11

5. Saisissez les détails requis pour créer la nouvelle intégration :

  • Indiquez le nom et la description de l’intégration.
  • Enregistrez les certificats dans Adobe I/O en téléchargeant votre clé publique. Les clés sont ensuite utilisées lors de la génération de jetons JWT. Vos clés doivent être des fichiers .crt.
  • Sélectionnez le service de Campaign à utiliser. Cette liste est constituée de groupes d’utilisateurs de Campaign disponibles pour l’organisation que vous avez sélectionnée à la première étape.

Cliquez sur Créer une intégration.

L’intégration est créée automatiquement et vous pouvez désormais accéder à ses détails.

Screen Shot 2017-05-22 at 12.21.19
Screen Shot 2017-05-22 at 12.25.53

6. Conserver les informations de connexion suivantes pour générer le jeton JWT. 

  • Clé API.
  • Secret client.
  • Identifiant de compte technique.
  • Identifiant de l’organisation.
Screen_Shot_2017-05-22_at_12_36_11
Screen_Shot_2017-05-22_at_12_36_40

Générer un jeton avec JWT

Pour consommer des jetons d’accès d’API d’ACS, ils sont donnés pour l’authentification des utilisateurs. Utilisez les informations d’identification conservées ci-dessus pour générer des jetons JWT. Un exemple de script Python est fourni ci-dessous pour générer des jetons JWT. 
D’autres langues sont prises en charge par la communauté open source.

Pour plus d’informations, consultez cette page : https://www.adobe.io/apis/cloudplatform/usermanagement/docs/setup.html

import sys
if sys.version_info[0] ==2:
from ConfigParser import RawConfigParser
from urllib import urlencode
elif sys.version_info[0] >=3:
from configparser import RawConfigParser
from urllib.parse import urlencode
import time
import jwt
import requests
import json
import email.utils
import math
import random
expiry = int(time.time()) + 60*60*24
payload = {
"https://ims-na1.adobelogin.com/s/ent_campaign_sdk" : True,
"exp" : expiry,
"iss" : "<Organization ID> ", // Example : 3CAF2DEA571E82A87F000101@AdobeOrg
"sub" : "<Technical account ID> ", // Example : A5714DE558B7A30C0A495C3A@techacct.adobe.com "aud" : https://ims-na1.adobelogin.com/c/< API key> // Example : 43e61e5733c34c2882d0b4af9580016f
}
priv_file = open("<Path to private key>") // Example : ‘C:/Users/njia/Work/API/ACS API/private.key’
priv_key = priv_file.read()
priv_file.close()
jwt_token = jwt.encode(payload, priv_key, algorithm='RS256')
jwt_token = jwt_token.decode("utf-8")
print(jwt_token)

Jeton d’accès

Vous devez générer et utiliser un jeton pour effectuer des opérations REST. 

Références 


Découvrez le processus d’authentification et la génération du jeton : https://www.adobe.io/apis/cloudplatform/usermanagement/docs/setup.html 

La génération de jetons Web JSON est essentielle pour utiliser les APIs. 

A propos de Postman :

Pour présenter l’utilisation des APIs, les procédures de ce document utilisent l’outil Postman pour les appels REST. 

  • Vérifiez que vous pouvez lancer Postman sur votre bureau (installation du module externe de Chrome) : https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=fr 
  • Importation de la collection JSON avec toutes les instances de POSTMAN (3 fichiers, un par instance), partagés par courrier électronique.
  • Chaque collection JSON comportera :
    • La clé de l’API programmée en dur.
    • URL correcte pour l’extrémité de l’API incluant le nom du locataire.
    • Nom d’événement Pré-configuré à utiliser dans une messagerie en temps réel (identique à trois instances).
  • Le jeton d’accès doit être collé dans POSTMAN. 

Synchronisation des données en temps réel

Les APIs permettent aux développeurs d’effectuer les opérations CRUD suivantes sur un profil :

  1. Ajouter un profil.
  2. Extraire un profil à partir d’un ID de courrier électronique. 
  3. Modifier un profil. 
  4. Répertorier les services dans un compte.
  5. Abonner un profil à un service. 
  6. Désabonner un profil à un service. 

Leçon 1 - Ajouter un profil.

1. Lancez POSTMAN et importez une collection (disponible dans les ressources disponibles en bas de la page).

L4281_12

2. Ouvrez un appel API REST « Insertion du profil ACS » et observez les valeurs des en-têtes de la requête. 

L4281_13

3. La X-Api-Key et l’URL doivent être définis en fonction de votre instance.

4. Donnez l’autorisation basée sur les jetons que vous avez généré.

L4281_14

5. Appuyez sur le bouton « Envoyer ». 

6. Validez les résultats dans le corps du message de la fenêtre de sortie (objet JSON). 

L4281_15

La réponse de la demande est indiquée ci-dessous - L’unique clé associée à tous les objets associés à un système ACS est appelée PKey. Une fois le profil créé, la réponse contient la PKey et d’autres attributs. 

L4281_16

7. Vérification du profil. Connectez-vous à l’instance ACS et vérifiez que ce profil a été créé.

  • Connectez-vous à ACS avec des informations d’identification particulières et accédez à « Profils » dans la barre d’en-tête supérieure. 
L4281_17
  • Recherchez par adresse électronique votre profil. 
    • Cliquez sur l’icône « Afficher la recherche » en haut à gauche sous « Adobe Campaign ».
L4281_18
  • Saisissez les critères de recherche par courrier électronique. Dans ce cas sample@adobe.com. 
  • Cliquez sur Entrée et les résultats s’affichent dans le volet de droite. 
L4281_19
  • Validez les résultats.
L4281_20

Pour résumer le profil POST, l’appel de l’API est construit comme suit :

API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServicesExt/profile/

En-têtes de requête :

  • X-Api-Key : valeur de la clé d’API fournie par Adobe I/O.
  • Permission : jeton d’accès au format « Porteur ». 
  • Contrôle du cache : no-cache (recommandé, pour éviter les problèmes de mise en cache du contenu).
  • Type de contenu : application/json - La requête attend la charge utile au format JSON. 

Méthode de requête - POST.

 
Corps de la requête
Le corps de la requête doit être une tache JSON comprenant des données de profil :

{
"email":"hello@abd.com",
"cusCustomer_ID":"Adobe1000003",
"firstName":"Hello",
"lastName":"World"
}

Corps de réponse.

{
"PKey": “@YDiPuQnFDXw_QJhpYrDS08PihTZGn88AszVPWMNLlM1smuI8hYnGwxCGo9CcvrhxnKhf2ZeF4mLWBqKlPYvvfR5lZac",
"age": 0,
"birthDate": ""
}

Leçon 2 - Rechercher un profil d’après une adresse électronique.

Un profil peut être recherché et extrait à l’aide de la méthode GET sur l’API d’ACS.

API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServicesExt/profile/byEmail?email=abcd@adobe.com

En-tête de requête :

  • X-Api-Key : valeur de la clé d’API fournie par Adobe I/O.
  • Permission : jeton d’accès au format « Porteur ». 
  • Contrôle du cache : no-cache (recommandé, pour éviter les problèmes de mise en cache du contenu).

Méthode de requête - GET.

 
Corps de la réponse
Le corps de la réponse a une tache JSON comprenant des données de profil. Comme indiqué dans l’image ci-dessous avec la PKey et les autres clés et valeurs de profil.

L4281_21

Leçon 3 - Mise à jour d’un profil.

L4281_22

Un profil peut être mis à jour à l’aide de la méthode PATCH sur l’API d’ACS.

Recherchez un profil à l’aide de son adresse électronique. Procurez-vous la valeur PKey comme indiqué dans la leçon ci-dessus et utilisez la PKey pour mettre à jour le profil. 

API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServicesExt/profile/

En-têtes de requête.

  • X-Api-Key : valeur de la clé d’API fournie par Adobe I/O.
  • Permission : jeton d’accès au format « Porteur ».
  • Contrôle du cache : no-cache (recommandé, pour éviter les problèmes de mise en cache du contenu).
  • Type de contenu : application/json - La requête attend la charge utile au format JSON. 

Méthode de requête - PATCH.


Corps de requête
Le corps de requête doit être une tache JSON comprenant les informations spécifiques qui doivent être mises à jour.


Corps de réponse
Le corps de la réponse comporte l’URL du profil et la PKey comme le montre l’image ci-dessous.

L4281_23

Pour vérifier les modifications, utilisez la balise href du corps de réponse. 

Leçon 4 - Obtenir la liste des abonnements pour un profil.

Un profil peut être recherché et extrait à l’aide de la méthode GET sur l’API d’ACS.


API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServicesExt/profile/<profile_pkey>/subscriptions

En-têtes de requête.

  • X-Api-Key : valeur de la clé d’API fournie par Adobe I/O.
  • Permission : jeton d’accès au format « Porteur ».
  • Contrôle du cache : no-cache (recommandé, pour éviter les problèmes de mise en cache du contenu).

Méthode de requête - GET.

Corps de la réponse
Le corps de la réponse a une tache JSON comprenant la liste des abonnements pour le profil.

Leçon 5 - Services de liste.

Pour répertorier tous les services d’un compte, utilisez la méthode GET pour appeler l’API de service.


API – https://mc.adobe.io/<instance name>.adobe.com/campaign/profileAndServices/service

En-têtes de requête.

  • X-Api-Key : valeur de la clé d’API fournie par Adobe I/O.
  • Permission : jeton d’accès au format « Porteur ».
  • Contrôle du cache : no-cache (recommandé, pour éviter les problèmes de mise en cache du contenu).

Méthode de requête.

L4281_24

Leçon 6 - Abonner un profil à un service.

Un profil peut être abonné à un service en POSTing sa PKey sur l’API suivante.

API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServices/service/<service_id>/subscriptions

En-têtes de requête.

  • X-Api-Key : valeur de la clé d’API fournie par Adobe I/O.
  • Permission : jeton d’accès au format « Porteur ».
  • Contrôle du cache : no-cache (recommandé, pour éviter les problèmes de mise en cache du contenu).
  • Type de contenu : application/json - La requête attend la charge utile au format JSON. 

Méthode de requête - POST.


Corps de la requête
Le corps de la requête doit être une tache JSON comprenant la PKey d’un profil.

{
"subscriber":{"PKey": " @YDiPuQnFDXw_QJhpYrDS08PihTZGn88AszVPWMNLlM1smuI8hYnGwxCGo9CcvrhxnKhf2ZeF4mLWBqKlPYvvfR5lZac"}
}

Leçon 7 - Désabonner un profil d’un service.

Un profil peut être désabonné à partir d’un service en appelant la méthode SUPPRIMER sur l’API du service et en transmettant la PKey du profil. 


API - https://mc.adobe.io/<tenant_name>/campaign/profileAndServices/service/<service_id>/subscriptions

En-têtes de requête.

  • Permission : jeton d’accès au format « Porteur ».
  • Type de contenu : application/json - La requête attend la charge utile au format JSON. 

Méthode de requête - SUPPRIMER.


Corps de requête
Le corps de la requête doit être une tache JSON comprenant la PKey d’un profil.

{
"subscriber":{"PKey": " @YDiPuQnFDXw_QJhpYrDS08PihTZGn88AszVPWMNLlM1smuI8hYnGwxCGo9CcvrhxnKhf2ZeF4mLWBqKlPYvvfR5lZac"}
}

Leçon 8 - Déclencher un e-mail en fonction des événements en temps réel.

Nous pouvons déclencher un e-mail en fonction de l’action d’un client. Un gestionnaire d’événement peut appeler la méthode POST sur un événement Campaign agréé personnalisé pour effectuer l’action désirée quand l’événement se produit. 


API - https://<instance name>.adobe.com/rest/<instanace id>/Form_Registration

En-têtes de requête.

  • Permission : jeton d’accès au format « Porteur ».
  • Type de contenu : application/json - La requête attend la charge utile au format JSON. 

Méthode de requête - POST.


Corps de requête
Le corps de la requête doit être une tache JSON comprenant la PKey d’un profil.

{
"email": "hw@adobe.com",
"ctx":
{
"MOBILE": "111",
"Email": "hw@adobe.com",
"FNAME": "Xaxaxa"
}
}

Leçon 9 - Déclenchement de SMS en fonction d’événements en temps réel.

Nous pouvons déclencher un SMS en fonction de l’action d’un client. Un gestionnaire d’événement peut appeler la méthode POST sur un événement Campaign agréé personnalisé pour effectuer l’action désirée quand l’événement se produit. 


API - https://<instance name>.adobe.com/rest/<instance id>/EVTsms_trigger

En-têtes de requête.

  • Permission : jeton d’accès au format « Porteur ».
  • Type de contenu : application/json - La requête attend la charge utile au format JSON. 

Méthode de requête - POST.


Corps de la requête
Le corps de la requête doit être une tache JSON comprenant la PKey d’un profil.

{
"mobilePhone":"+9197####5013",
"ctx":
{
"mobile":"+919711##5013",
"coupon":2147483647,
"fname":"Hello",
"email":”helloworld@adobe.com”
}
}

Telechargement

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne