Créer un flux de données pour Mailchimp Campaign à lʼaide de l’API Flow Service

Le tutoriel suivant vous guide à travers les étapes de création dʼune connexion source et dʼun flux de données pour importer des données Mailchimp Campaign dans Platform à l’aide de lʼFlow Service API.

Conditions préalables

Avant de connecter Mailchimp à Adobe Experience Platform à l’aide du code d’actualisation OAuth 2, vous devez d’abord récupérer votre jeton d’accès pour MailChimp… consultez le Mailchimp Guide dʼOAuth 2 pour obtenir des instructions détaillées sur lʼobtention de votre jeton d’accès.

Créer une connexion de base base-connection

Une fois vos informations d’authentification Mailchimp récupérées, vous pouvez lancer le processus de création du flux de données pour importer les données Mailchimp Campaign dans Platform. La première étape de la création d’un flux de données consiste à créer une connexion de base.

Une connexion de base conserve les informations échangées entre votre source et Platform, y compris les informations d’authentification de votre source, l’état actuel de la connexion et votre identifiant de connexion de base unique. L’identifiant de connexion de base vous permet d’explorer et de parcourir des fichiers à partir de votre source et d’identifier les éléments spécifiques que vous souhaitez ingérer, y compris des informations concernant leurs types et formats de données.

Mailchimp prend en charge l’authentification de base et le code d’actualisation OAuth 2. Consultez les exemples suivants pour savoir comment vous authentifier avec l’un ou l’autre de ces types d’authentification.

Créer une connexion de base Mailchimp à l’aide de l’authentification de base

Pour créer une Mailchimp connexion de base à l’aide de l’authentification de base, effectuez une requête de POST à l’adresse /connections point d’entrée Flow Service API tout en fournissant des informations d’identification pour votre authorizationTestUrl, username, et password.

Format d’API

POST /connections

Requête

La requête suivante permet de créer une connexion de base pour Mailchimp :

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
      "name": "Mailchimp base connection with basic authentication",
      "description": "Mailchimp Campaign base connection with basic authentication",
      "connectionSpec": {
          "id": "c8ce8c8c-37fb-4162-9fbf-c2f181e04a7a",
          "version": "1.0"
      },
      "auth": {
          "specName": "Basic Authentication",
          "params": {
              "authorizationTestUrl": "https://login.mailchimp.com/oauth2/metadata",
              "username": "{USERNAME}",
              "password": "{PASSWORD}"
          }
      }
  }'
Propriété
Description
name
Nom de la connexion de base. Assurez-vous que le nom de votre connexion de base est explicite, car vous pouvez lʼutiliser pour rechercher des informations sur votre connexion de base.
description
(Facultatif) Propriété que vous pouvez inclure pour fournir plus d’informations sur votre connexion de base.
connectionSpec.id
Identifiant de spécification de connexion de votre source. Cet identifiant peut être récupéré une fois que votre source est enregistrée et approuvée par le biais de l’API Flow Service.
auth.specName
Type d’authentification que vous utilisez pour connecter votre source à Platform.
auth.params.authorizationTestUrl
(Facultatif) L’URL du test d’autorisation est utilisée pour valider les informations d’identification lors de la création d’une connexion de base. Si elles ne sont pas fournies, les informations d’identification sont automatiquement vérifiées à l’étape de création de la connexion source.
auth.params.username
Nom d’utilisateur correspondant à votre compte Mailchimp. Ceci est requis pour l’authentification de base.
auth.params.password
Mot de passe correspondant à votre compte Mailchimp. Ceci est requis pour l’authentification de base.

Réponse

Une réponse réussie renvoie la nouvelle connexion de base, y compris son identifiant de connexion unique (id). Cet identifiant est nécessaire pour explorer la structure de fichiers et le contenu de votre source à l’étape suivante.

{
    "id": "9601747c-6874-4c02-bb00-5732a8c43086",
    "etag": "\"3702dabc-0000-0200-0000-615b5b5a0000\""
}

Créer une connexion de base Mailchimp à l’aide du code d’actualisation OAuth 2

Pour créer une Mailchimp connexion de base à l’aide du code d’actualisation OAuth 2, envoyez une requête de POST au /connections point de terminaison tout en fournissant des informations d’identification pour votre authorizationTestUrl, et accessToken.

Format d’API

POST /connections

Requête

La requête suivante permet de créer une connexion de base pour Mailchimp :

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
      "name": "Mailchimp base connection with OAuth 2 refresh code",
      "description": "Mailchimp Campaign base connection with OAuth 2 refresh code",
      "connectionSpec": {
          "id": "c8ce8c8c-37fb-4162-9fbf-c2f181e04a7a",
          "version": "1.0"
      },
      "auth": {
          "specName": "oAuth2RefreshCode",
          "params": {
              "authorizationTestUrl": "https://login.mailchimp.com/oauth2/metadata",
              "accessToken": "{ACCESS_TOKEN}"
          }
      }
  }'
Propriété
Description
name
Nom de la connexion de base. Assurez-vous que le nom de votre connexion de base est explicite, car vous pouvez lʼutiliser pour rechercher des informations sur votre connexion de base.
description
(Facultatif) Propriété que vous pouvez inclure pour fournir plus d’informations sur votre connexion de base.
connectionSpec.id
Identifiant de spécification de connexion de votre source. Cet identifiant peut être récupéré une fois votre source enregistrée à lʼaide de lʼAPI Flow Service.
auth.specName
Type d’authentification que vous utilisez pour authentifier votre source sur Platform.
auth.params.authorizationTestUrl
(Facultatif) L’URL du test d’autorisation est utilisée pour valider les informations d’identification lors de la création d’une connexion de base. Si elles ne sont pas fournies, les informations d’identification sont automatiquement vérifiées à l’étape de création de la connexion source.
auth.params.accessToken
Jeton d’accès correspondant utilisé pour authentifier la source. Ceci est requis pour l’authentification basée sur OAuth.

Réponse

Une réponse réussie renvoie la nouvelle connexion de base, y compris son identifiant de connexion unique (id). Cet identifiant est nécessaire pour explorer la structure de fichiers et le contenu de votre source à l’étape suivante.

{
    "id": "9601747c-6874-4c02-bb00-5732a8c43086",
    "etag": "\"3702dabc-0000-0200-0000-615b5b5a0000\""
}

Explorer votre source explore

À l’aide de l’identifiant de connexion de base généré à l’étape précédente, vous pouvez explorer les fichiers et répertoires en exécutant des requêtes GET. Lors de l’exécution de requêtes GET pour explorer la structure et le contenu des fichiers de votre source, vous devez inclure les paramètres de requête répertoriés dans le tableau ci-dessous :

Paramètre
Description
{BASE_CONNECTION_ID}
Identifiant de connexion de base généré à l’étape précédente.
{OBJECT_TYPE}
Type de l’objet que vous souhaitez explorer. Pour les sources REST, cette valeur est définie par défaut sur rest.
{OBJECT}
Objet que vous souhaitez explorer.
{FILE_TYPE}
Ce paramètre est requis uniquement lors de l’affichage d’un répertoire spécifique. Sa valeur représente le chemin dʼaccès au répertoire que vous souhaitez explorer.
{PREVIEW}
Valeur booléenne qui définit si le contenu de la connexion prend en charge la prévisualisation.
{SOURCE_PARAMS}
Chaîne codée en base64 de votre campaign_id.
TIP
Pour récupérer le type de format accepté pour {SOURCE_PARAMS}, vous devez coder l’intégralité de la chaîne campaignId en base64. Par exemple : {"campaignId": "c66a200cda"} encodé en base64 équivaut à eyJjYW1wYWlnbklkIjoiYzY2YTIwMGNkYSJ9.

Format d’API

GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&objectType={OBJECT_TYPE}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}

Requête

curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connections/05c595e5-edc3-45c8-90bb-fcf556b57c4b/explore?objectType=rest&object=json&fileType=json&preview=true&sourceParams=eyJjYW1wYWlnbklkIjoiYzY2YTIwMGNkYSJ9' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'

Réponse

Une réponse réussie renvoie la structure du fichier interrogé.

{
    "data": [
        {
            "emails": [
                {
                    "campaign_id": "c66a200cda",
                    "list_id": "10c097ca71",
                    "list_is_active": true,
                    "email_id": "cff65fb4c5f5828666ad846443720efd",
                    "email_address": "kendall2134@gmail.com",
                    "_links": [
                        {
                            "rel": "parent",
                            "href": "https://us6.api.mailchimp.com/3.0/reports/c66a200cda/email-activity",
                            "method": "GET",
                            "targetSchema": "https://us6.api.mailchimp.com/schema/3.0/Definitions/Reports/EmailActivity/CollectionResponse.json"
                        },
                        {
                            "rel": "self",
                            "href": "https://us6.api.mailchimp.com/3.0/reports/c66a200cda/email-activity/cff65fb4c5f5828666ad846443720efd",
                            "method": "GET",
                            "targetSchema": "https://us6.api.mailchimp.com/schema/3.0/Definitions/Reports/EmailActivity/Response.json"
                        },
                        {
                            "rel": "member",
                            "href": "https://us6.api.mailchimp.com/3.0/lists/10c097ca71/members/cff65fb4c5f5828666ad846443720efd",
                            "method": "GET",
                            "targetSchema": "https://us6.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/Response.json"
                        }
                    ]
                },
                {
                    "campaign_id": "c66a200cda",
                    "list_id": "10c097ca71",
                    "list_is_active": true,
                    "email_id": "a16b82774b211afaf60902d1afd8abc5",
                    "email_address": "logan9935890967@gmail.com",
                    "_links": [
                        {
                            "rel": "parent",
                            "href": "https://us6.api.mailchimp.com/3.0/reports/c66a200cda/email-activity",
                            "method": "GET",
                            "targetSchema": "https://us6.api.mailchimp.com/schema/3.0/Definitions/Reports/EmailActivity/CollectionResponse.json"
                        },
                        {
                            "rel": "self",
                            "href": "https://us6.api.mailchimp.com/3.0/reports/c66a200cda/email-activity/a16b82774b211afaf60902d1afd8abc5",
                            "method": "GET",
                            "targetSchema": "https://us6.api.mailchimp.com/schema/3.0/Definitions/Reports/EmailActivity/Response.json"
                        },
                        {
                            "rel": "member",
                            "href": "https://us6.api.mailchimp.com/3.0/lists/10c097ca71/members/a16b82774b211afaf60902d1afd8abc5",
                            "method": "GET",
                            "targetSchema": "https://us6.api.mailchimp.com/schema/3.0/Definitions/Lists/Members/Response.json"
                        }
                    ]
                },
            ]
        }
    ]
}

Créer une connexion source source-connection

Vous pouvez créer une connexion source en effectuant une requête POST à l’API Flow Service. Une connexion source se compose d’un identifiant de connexion, d’un chemin d’accès au fichier de données source et d’un identifiant de spécification de connexion.

Pour créer une connexion source, vous devez également définir une valeur d’énumération pour l’attribut du format de données.

Utilisez les valeurs d’énumération suivantes pour les sources basées sur des fichiers :

Format des données
Valeur d’énumération
Délimité
delimited
JSON
json
Parquet
parquet

Pour toutes les sources basées sur un tableau, définissez la valeur sur tabular.

Format d’API

POST /sourceConnections

Requête

La requête suivante crée une connexion source pour Mailchimp :

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
      "name": "MailChimp source connection to ingest campaign ID",
      "description": "MailChimp Campaign source connection to ingest campaign ID",
      "baseConnectionId": "4cea039f-f1cc-4fa5-9136-db8dd4c7fbfa",
      "connectionSpec": {
          "id": "c8ce8c8c-37fb-4162-9fbf-c2f181e04a7a",
          "version": "1.0"
      },
      "data": {
          "format": "json"
      },
      "params": {
          "campaignId": "c66a200cda"
      }
  }'
Propriété
Description
name
Nom de votre connexion source. Assurez-vous que le nom de votre connexion source est descriptif, car vous pouvez l’utiliser pour rechercher des informations sur votre connexion source.
description
Valeur facultative que vous pouvez inclure pour fournir plus d’informations sur votre connexion source.
baseConnectionId
Identifiant de connexion de base de Mailchimp. Cet identifiant a été généré lors d’une étape précédente.
connectionSpec.id
Identifiant de spécification de connexion correspondant à votre source.
data.format
Format des données Mailchimp à ingérer.
params.campaignId
L’identifiant de campagne Mailchimp identifie une campagne Mailchimp spécifique, qui vous permet ensuite d’envoyer des e-mails à vos listes/audiences.

Réponse

Une réponse réussie renvoie l’identifiant unique (id) de la nouvelle connexion source. Cet identifiant est requis lors d’une étape ultérieure pour créer un flux de données.

{
    "id": "d6557bf1-7347-415f-964c-9316bd4cbf56",
    "etag": "\"e205c206-0000-0200-0000-615b5c070000\""
}

Créer un schéma XDM cible target-schema

Pour que les données sources soient utilisées dans Platform, un schéma cible doit être créé pour structurer les données sources en fonction de vos besoins. Le schéma cible est ensuite utilisé pour créer un jeu de données Platform contenant les données sources.

Un schéma XDM cible peut être créé en adressant une requête POST à l’API Schema Registry.

Pour obtenir des instructions détaillées sur la création d’un schéma XDM cible, suivez le tutoriel sur la création d’un schéma à l’aide de l’API.

Créer un jeu de données cible target-dataset

Un jeu de données cible peut être créé en adressant une requête POST à l’API Catalog Service et en fournissant l’identifiant du schéma cible dans la payload.

Pour obtenir des instructions détaillées sur la création d’un jeu de données cible, suivez le tutoriel sur la création d’un jeu de données à l’aide de l’API.

Créer une connexion cible target-connection

Une connexion cible représente la connexion à la destination où se trouvent les données ingérées. Pour créer une connexion cible, vous devez fournir l’identifiant de spécification de connexion fixe qui correspond au Data Lake. Cet identifiant est c604ff05-7f1a-43c0-8e18-33bf874cb11c.

Vous disposez à présent des identifiants uniques d’un schéma et d’un jeu de données cibles et de l’identifiant de spécification de connexion au Data Lake. À lʼaide de ces identifiants, vous pouvez créer une connexion cible à l’aide de l’API Flow Service pour spécifier le jeu de données qui contiendra les données source entrantes.

Format d’API

POST /targetConnections

Requête

La requête suivante crée une connexion cible pour Mailchimp :

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
      "name": "MailChimp target connection",
      "description": "MailChimp Campaign target connection",
      "connectionSpec": {
          "id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
          "version": "1.0"
      },
      "data": {
          "format": "parquet_xdm",
          "schema": {
              "id": "https://ns.adobe.com/{TENANT_ID}/schemas/570630b91eb9d5cf5db0436756abb110d02912917a67da2d",
              "version": "application/vnd.adobe.xed-full+json;version=1"
          }
      },
      "params": {
          "dataSetId": "6155e3a9bd13651949515f14"
      }
  }'
Propriété
Description
name
Nom de la connexion cible. Assurez-vous que le nom de votre connexion cible est explicite, car vous pouvez l’utiliser pour rechercher des informations sur votre connexion cible.
description
Valeur facultative que vous pouvez inclure pour fournir plus d’informations sur votre connexion cible.
connectionSpec.id
Identifiant de spécification de connexion qui correspond à Data Lake. Cet ID fixe est c604ff05-7f1a-43c0-8e18-33bf874cb11c.
data.format
Format des données Mailchimp que vous souhaitez importer dans Platform.
params.dataSetId
Identifiant du jeu de données cible récupéré lors d’une étape précédente.

Réponse

Une réponse réussie renvoie l’identifiant unique de la nouvelle connexion cible (id). Cet identifiant est requis aux étapes suivantes.

{
    "id": "9463fe9c-027d-4347-a423-894fcd105647",
    "etag": "\"b902e822-0000-0200-0000-615b5c370000\""
}
IMPORTANT
Les fonctions de préparation de données ne sont actuellement pas prises en charge pour Mailchimp Campaign.

Créer un flux flow

La dernière étape avant dʼimporter des données Mailchimp dans Platform consiste à créer un flux de données. Vous disposez à présent des valeurs requises suivantes :

Un flux de données est chargé de planifier et de collecter les données provenant d’une source. Vous pouvez créer un flux de données en exécutant une requête POST et en fournissant les valeurs mentionnées précédemment dans la payload.

Pour planifier une ingestion, vous devez d’abord définir la valeur de l’heure de début en temps Unix en secondes. Vous devez ensuite définir la valeur de fréquence sur l’une des cinq options suivantes : once, minute, hour, day ou week. La valeur d’intervalle désigne la période de temps entre deux ingestions consécutives. Lors de la création dʼune ingestion unique (once), il nʼest pas nécessaire de définir un intervalle. Pour toutes les autres fréquences, la valeur de l’intervalle doit être égale ou supérieure à 15.

Format d’API

POST /flows

Requête

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/flows' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}'
  -d '{
      "name": "MailChimp Campaign dataflow",
      "description": "MailChimp Campaign dataflow",
      "flowSpec": {
          "id": "6499120c-0b15-42dc-936e-847ea3c24d72",
          "version": "1.0"
      },
      "sourceConnectionIds": [
          "d6557bf1-7347-415f-964c-9316bd4cbf56"
      ],
      "targetConnectionIds": [
          "9463fe9c-027d-4347-a423-894fcd105647"
      ],
      "scheduleParams": {
          "startTime": "1632809759",
          "frequency": "minute",
          "interval": 15
      }
  }'
Propriété
Description
name
Nom du flux de données. Assurez-vous que le nom de votre flux de données est explicite, car vous pouvez l’utiliser pour rechercher des informations sur votre flux de données.
description
(Facultatif) Propriété que vous pouvez inclure pour fournir plus d’informations sur votre flux de données.
flowSpec.id
Identifiant de spécification de flux requis pour créer un flux de données. Cet ID fixe est 6499120c-0b15-42dc-936e-847ea3c24d72.
flowSpec.version
Version correspondante de l’identifiant de spécification de flux. Cette valeur est définie par défaut sur 1.0.
sourceConnectionIds
L’identifiant de connexion source généré lors d’une étape précédente.
targetConnectionIds
L’identifiant de connexion cible généré lors d’une étape précédente.
scheduleParams.startTime
Heure de début désignée pour la première ingestion de données.
scheduleParams.frequency
Fréquence de collecte des données par le flux de données. Les valeurs possibles sont les suivantes : once, minute, hour, day ou week.
scheduleParams.interval
L’intervalle désigne la période entre deux exécutions consécutives de flux. La valeur de l’intervalle doit être un nombre entier non nul. L’intervalle n’est pas requis lorsque la fréquence est définie sur once et doit être supérieur ou égal à 15 pour d’autres valeurs de fréquence.

Réponse

Une réponse réussie renvoie l’identifiant (id) du flux de données nouvellement créé. Vous pouvez utiliser cet identifiant pour surveiller, mettre à jour ou supprimer votre flux de données.

{
    "id": "be2d5249-eeaf-4a74-bdbd-b7bf62f7b2da",
    "etag": "\"7e010621-0000-0200-0000-615b5c9b0000\""
}

Annexe

La section suivante fournit des informations sur les étapes de surveillance, de mise à jour et de suppression de votre flux de données.

Surveiller votre flux de données

Une fois votre flux de données créé, vous pouvez surveiller les données ingérées pour afficher des informations sur les exécutions du flux, le statut d’achèvement et les erreurs. Pour consulter des exemples complets d’API, reportez-vous au guide sur surveillance de vos flux de données sources à l’aide de l’API.

Mettre à jour votre flux de données

Mettez à jour les détails de votre flux de données, tels que son nom et sa description, ainsi que son planning d’exécution et les jeux de mappages associés, en envoyant une requête PATCH à la variable /flows point d’entrée Flow Service API, tout en fournissant l’identifiant de votre flux de données. Lors de l’exécution d’une requête de PATCH, vous devez fournir l’unique de votre flux de données etag dans le If-Match en-tête . Pour consulter des exemples complets d’API, reportez-vous au guide sur mise à jour des flux de données sources à l’aide de l’API.

Mettre à jour votre compte

Mettez à jour le nom, la description et les informations d’identification de votre compte source en adressant une requête de PATCH au Flow Service API tout en fournissant votre identifiant de connexion de base en tant que paramètre de requête. Lors de l’exécution d’une requête de PATCH, vous devez fournir l’unique de votre compte source etag dans le If-Match en-tête . Pour consulter des exemples complets d’API, reportez-vous au guide sur mise à jour de votre compte source à l’aide de l’API.

Supprimer le flux de données

Supprimez votre flux de données en adressant une requête de DELETE à la fonction Flow Service API tout en fournissant l’identifiant du flux de données que vous souhaitez supprimer dans le cadre du paramètre de requête . Pour consulter des exemples complets d’API, reportez-vous au guide sur suppression de vos flux de données à l’aide de l’API.

Suppression de votre compte

Supprimez votre compte en adressant une requête de DELETE à la fonction Flow Service API tout en fournissant l’identifiant de connexion de base du compte que vous souhaitez supprimer. Pour consulter des exemples complets d’API, reportez-vous au guide sur suppression de votre compte source à l’aide de l’API.

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089