Creare un flusso di dati per Mailchimp Campaign utilizzo dell’API del servizio Flusso

Ultimo aggiornamento: 2023-03-14
  • Argomenti:
  • Sources
    Visualizza ulteriori informazioni su questo argomento
  • Creato per:
  • Developer

Il seguente tutorial illustra i passaggi necessari per creare una connessione di origine e un flusso di dati da portare Mailchimp Campaign dati a Platform utilizzando Flow Service API.

Prerequisiti

Prima di connettersi Mailchimp a Adobe Experience Platform utilizzando il codice di aggiornamento OAuth 2, devi prima recuperare il token di accesso per MailChimp. Consulta la Mailchimp Guida di OAuth 2 per istruzioni dettagliate su come trovare il token di accesso.

Creare una connessione di base

Dopo aver recuperato Mailchimp credenziali di autenticazione, ora puoi avviare il processo di creazione del flusso di dati per portare Mailchimp Campaign su Platform. Il primo passaggio nella creazione di un flusso di dati consiste nel creare una connessione di base.

Una connessione di base mantiene le informazioni tra l’origine e Platform, incluse le credenziali di autenticazione dell’origine, lo stato corrente della connessione e l’ID univoco della connessione di base. L’ID della connessione di base consente di esplorare e navigare tra i file dall’interno dell’origine e identificare gli elementi specifici che desideri acquisire, comprese le informazioni relative ai tipi di dati e ai formati.

Mailchimp supporta sia l’autenticazione di base che il codice di aggiornamento OAuth 2. Per istruzioni su come eseguire l’autenticazione con uno dei tipi di autenticazione, consulta gli esempi seguenti.

Creare un Mailchimp connessione di base tramite autenticazione di base

Per creare un Mailchimp connessione di base tramite autenticazione di base, invia una richiesta POST al /connections endpoint di Flow Service fornendo al contempo le credenziali per il authorizationTestUrl, username, e password.

Formato API

POST /connections

Richiesta

La richiesta seguente crea una connessione di base per 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}"
          }
      }
  }'
Proprietà Descrizione
name Nome della connessione di base. Verificare che il nome della connessione di base sia descrittivo, in quanto è possibile utilizzarlo per cercare informazioni sulla connessione di base.
description (Facoltativo) Proprietà che è possibile includere per fornire ulteriori informazioni sulla connessione di base.
connectionSpec.id ID della specifica di connessione dell'origine. Questo ID può essere recuperato dopo che l'origine è stata registrata e approvata tramite Flow Service API.
auth.specName Tipo di autenticazione utilizzato per connettere l’origine a Platform.
auth.params.authorizationTestUrl (Facoltativo) L’URL del test di autorizzazione viene utilizzato per convalidare le credenziali durante la creazione di una connessione di base. Se non vengono fornite, le credenziali vengono controllate automaticamente durante il passaggio di creazione della connessione di origine.
auth.params.username Il nome utente che corrisponde al Mailchimp account. Questa opzione è necessaria per l’autenticazione di base.
auth.params.password La password che corrisponde al tuo Mailchimp account. Questa opzione è necessaria per l’autenticazione di base.

Risposta

In caso di esito positivo, la risposta restituisce la connessione di base appena creata, incluso il relativo identificatore univoco di connessione (id). Questo ID è necessario per esplorare la struttura e il contenuto del file sorgente nel passaggio successivo.

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

Creare un Mailchimp connessione di base tramite codice di aggiornamento OAuth 2

Per creare un Mailchimp connessione di base utilizzando il codice di aggiornamento OAuth 2, invia una richiesta POST al /connections mentre si forniscono le credenziali per il proprio authorizationTestUrl, e accessToken.

Formato API

POST /connections

Richiesta

La richiesta seguente crea una connessione di base per 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}"
          }
      }
  }'
Proprietà Descrizione
name Nome della connessione di base. Verificare che il nome della connessione di base sia descrittivo, in quanto è possibile utilizzarlo per cercare informazioni sulla connessione di base.
description (Facoltativo) Proprietà che è possibile includere per fornire ulteriori informazioni sulla connessione di base.
connectionSpec.id ID della specifica di connessione dell'origine. Questo ID può essere recuperato dopo la registrazione della sorgente tramite Flow Service API.
auth.specName Tipo di autenticazione utilizzato per autenticare l’origine in Platform.
auth.params.authorizationTestUrl (Facoltativo) L’URL del test di autorizzazione viene utilizzato per convalidare le credenziali durante la creazione di una connessione di base. Se non vengono fornite, le credenziali vengono controllate automaticamente durante il passaggio di creazione della connessione di origine.
auth.params.accessToken Il token di accesso corrispondente utilizzato per autenticare l’origine. Questo è richiesto per l’autenticazione basata su OAuth.

Risposta

In caso di esito positivo, la risposta restituisce la connessione di base appena creata, incluso il relativo identificatore univoco di connessione (id). Questo ID è necessario per esplorare la struttura e il contenuto del file sorgente nel passaggio successivo.

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

Esplora l’origine

Utilizzando l’ID connessione di base generato nel passaggio precedente, puoi esplorare file e directory eseguendo richieste GET. Quando si eseguono richieste di GET per esplorare la struttura e il contenuto dei file dell’origine, è necessario includere i parametri di query elencati nella tabella seguente:

Parametro Descrizione
{BASE_CONNECTION_ID} ID della connessione di base generato nel passaggio precedente.
{OBJECT_TYPE} Il tipo di oggetto che desideri esplorare. Per le origini REST, il valore predefinito è rest.
{OBJECT} L’oggetto che desideri esplorare.
{FILE_TYPE} Questo parametro è necessario solo quando si visualizza una directory specifica. Il relativo valore rappresenta il percorso della directory che desideri esplorare.
{PREVIEW} Valore booleano che definisce se il contenuto della connessione supporta l’anteprima.
{SOURCE_PARAMS} Una stringa con codifica base64 del file campaign_id.
SUGGERIMENTO

Per recuperare il formato accettato per {SOURCE_PARAMS}, è necessario codificare l'intero campaignId stringa in base64. Ad esempio: {"campaignId": "c66a200cda"} codificato in base64 equivale a eyJjYW1wYWlnbklkIjoiYzY2YTIwMGNkYSJ9.

Formato API

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

Richiesta

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}'

Risposta

In caso di esito positivo, la risposta restituisce la struttura del file su cui è stata eseguita la query.

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

Creare una connessione sorgente

Puoi creare una connessione sorgente effettuando una richiesta POST al Flow Service API. Una connessione di origine è costituita da un ID di connessione, un percorso del file di dati di origine e un ID della specifica di connessione.

Per creare una connessione di origine, è inoltre necessario definire un valore enum per l'attributo formato dati.

Utilizzare i seguenti valori enum per le origini basate su file:

Formato dati Valore enum
Delimitato delimited
JSON json
Parquet parquet

Per tutte le origini basate su tabelle, imposta il valore su tabular.

Formato API

POST /sourceConnections

Richiesta

La richiesta seguente crea una connessione sorgente per 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"
      }
  }'
Proprietà Descrizione
name Nome della connessione di origine. Assicurati che il nome della connessione sorgente sia descrittivo, in quanto può essere utilizzato per cercare informazioni sulla connessione sorgente.
description Valore facoltativo che è possibile includere per fornire ulteriori informazioni sulla connessione di origine.
baseConnectionId ID connessione di base di Mailchimp. Questo ID è stato generato in un passaggio precedente.
connectionSpec.id ID della specifica di connessione corrispondente all'origine.
data.format Il formato del Mailchimp i dati che desideri acquisire.
params.campaignId Il Mailchimp l’ID della campagna identifica un Mailchimp Campaign, che ti consente di inviare e-mail ai tuoi elenchi/tipi di pubblico.

Risposta

In caso di esito positivo, la risposta restituisce l’identificatore univoco (id) della connessione sorgente appena creata. Questo ID è necessario in un passaggio successivo per creare un flusso di dati.

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

Creare uno schema XDM di destinazione

Per utilizzare i dati sorgente in Platform, è necessario creare uno schema di destinazione che strutturi i dati sorgente in base alle tue esigenze. Lo schema di destinazione viene quindi utilizzato per creare un set di dati di Platform in cui sono contenuti i dati di origine.

È possibile creare uno schema XDM di destinazione eseguendo una richiesta POST al API del registro dello schema.

Per i passaggi dettagliati su come creare uno schema XDM di destinazione, consulta l’esercitazione su creazione di uno schema tramite l’API.

Creare un set di dati di destinazione

È possibile creare un set di dati di destinazione eseguendo una richiesta POST al API Catalog Service, che fornisce l’ID dello schema di destinazione all’interno del payload.

Per i passaggi dettagliati su come creare un set di dati di destinazione, consulta l’esercitazione su creazione di un set di dati tramite l’API.

Creare una connessione di destinazione

Una connessione di destinazione rappresenta la connessione alla destinazione in cui arrivano i dati acquisiti. Per creare una connessione di destinazione, devi fornire l'ID di specifica della connessione fissa che corrisponde al Data Lake. Questo ID è: c604ff05-7f1a-43c0-8e18-33bf874cb11c.

Ora disponi degli identificatori univoci, di uno schema di destinazione, di un set di dati di destinazione e dell’ID della specifica di connessione al Data Lake. Utilizzando questi identificatori, puoi creare una connessione di destinazione utilizzando Flow Service API per specificare il set di dati che conterrà i dati di origine in entrata.

Formato API

POST /targetConnections

Richiesta

La richiesta seguente crea una connessione di destinazione per 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"
      }
  }'
Proprietà Descrizione
name Nome della connessione di destinazione. Assicurati che il nome della connessione di destinazione sia descrittivo, in quanto può essere utilizzato per cercare informazioni sulla connessione di destinazione.
description Valore facoltativo che è possibile includere per fornire ulteriori informazioni sulla connessione di destinazione.
connectionSpec.id ID della specifica di connessione che corrisponde a Data Lake. Questo ID fisso è: c604ff05-7f1a-43c0-8e18-33bf874cb11c.
data.format Il formato del Mailchimp dati da inserire in Platform.
params.dataSetId ID del set di dati di destinazione recuperato in un passaggio precedente.

Risposta

In caso di esito positivo, la risposta restituisce l’identificatore univoco della nuova connessione di destinazione (id). Questo ID è richiesto nei passaggi successivi.

{
    "id": "9463fe9c-027d-4347-a423-894fcd105647",
    "etag": "\"b902e822-0000-0200-0000-615b5c370000\""
}
IMPORTANTE

Le funzioni di preparazione dei dati non sono attualmente supportate per Mailchimp Campaign.

Creare un flusso

L'ultimo passo verso la Mailchimp I dati da a Platform consistono nel creare un flusso di dati. A questo punto sono stati preparati i seguenti valori obbligatori:

Un flusso di dati è responsabile della pianificazione e della raccolta di dati da un’origine. Puoi creare un flusso di dati eseguendo una richiesta POST e fornendo i valori precedentemente menzionati all’interno del payload.

Per pianificare un’acquisizione, devi prima impostare il valore dell’ora di inizio su tempo epoca in secondi. Quindi, è necessario impostare il valore della frequenza su una delle cinque opzioni seguenti: once, minute, hour, day, o week. Il valore di intervallo indica il periodo tra due acquisizioni consecutive e la creazione di un’acquisizione una tantum (once) non richiede l'impostazione di un intervallo. Per tutte le altre frequenze, il valore dell'intervallo deve essere impostato su uguale o maggiore di 15.

Formato API

POST /flows

Richiesta

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
      }
  }'
Proprietà Descrizione
name Nome del flusso di dati. Assicurati che il nome del flusso di dati sia descrittivo, in quanto può essere utilizzato per cercare informazioni sul flusso di dati.
description (Facoltativo) Una proprietà che puoi includere per fornire ulteriori informazioni sul flusso di dati.
flowSpec.id ID della specifica di flusso necessario per creare un flusso di dati. Questo ID fisso è: 6499120c-0b15-42dc-936e-847ea3c24d72.
flowSpec.version Versione corrispondente dell'ID della specifica di flusso. Questo valore viene impostato automaticamente su 1.0.
sourceConnectionIds Il ID connessione sorgente generato in un passaggio precedente.
targetConnectionIds Il ID connessione di destinazione generato in un passaggio precedente.
scheduleParams.startTime L’ora di inizio designata per l’inizio della prima acquisizione dei dati.
scheduleParams.frequency La frequenza con cui il flusso di dati raccoglierà i dati. I valori accettabili includono: once, minute, hour, day, o week.
scheduleParams.interval L’intervallo indica il periodo tra due esecuzioni consecutive del flusso. Il valore dell'intervallo deve essere un numero intero diverso da zero. Intervallo non richiesto quando la frequenza è impostata come once e deve essere maggiore o uguale a 15 per altri valori di frequenza.

Risposta

In caso di esito positivo, la risposta restituisce l’ID (id) del flusso di dati appena creato. Puoi usare questo ID per monitorare, aggiornare o eliminare il flusso di dati.

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

Appendice

La sezione seguente fornisce informazioni sui passaggi possibili per monitorare, aggiornare ed eliminare il flusso di dati.

Monitorare il flusso di dati

Una volta creato il flusso di dati, puoi monitorare i dati che vengono acquisiti tramite di esso per visualizzare informazioni sulle esecuzioni del flusso, sullo stato di completamento e sugli errori. Per esempi API completi, consulta la guida su monitoraggio dei flussi di dati di origine tramite l’API.

Aggiornare il flusso di dati

Aggiorna i dettagli del flusso di dati, ad esempio il nome e la descrizione, nonché la pianificazione di esecuzione e i set di mappatura associati, effettuando una richiesta PATCH al /flows endpoint di Flow Service e fornire l’ID del flusso di dati. Quando effettui una richiesta PATCH, devi fornire il codice univoco del flusso di dati etag nel If-Match intestazione. Per esempi API completi, consulta la guida su aggiornamento dei flussi di dati di origine tramite l’API.

Aggiornare l’account

Aggiorna il nome, la descrizione e le credenziali dell’account di origine eseguendo una richiesta PATCH al Flow Service fornendo l’ID connessione di base come parametro di query. Quando effettui una richiesta PATCH, devi fornire il codice univoco dell’account sorgente etag nel If-Match intestazione. Per esempi API completi, consulta la guida su aggiornamento dell’account sorgente tramite l’API.

Eliminare il flusso di dati

Elimina il flusso di dati eseguendo una richiesta DELETE al Flow Service fornendo l’ID del flusso di dati che desideri eliminare come parte del parametro di query. Per esempi API completi, consulta la guida su eliminazione dei flussi di dati tramite API.

Elimina l’account

Elimina l’account eseguendo una richiesta DELETE al Flow Service fornendo l’ID della connessione di base dell’account da eliminare. Per esempi API completi, consulta la guida su eliminazione dell’account sorgente tramite l’API.

In questa pagina