Creare un flusso di dati per Mailchimp Campaign utilizzando l'API del servizio Flusso
Il seguente tutorial illustra i passaggi necessari per creare una connessione di origine e un flusso di dati per portare i dati Mailchimp Campaign in Platform utilizzando Flow Service API.
Prerequisiti
Prima di poter connettere Mailchimp a Adobe Experience Platform utilizzando il codice di aggiornamento OAuth 2, devi prima recuperare il token di accesso per MailChimp. Per istruzioni dettagliate su come trovare il token di accesso, consulta la Mailchimp guida di OAuth 2.
Creare una connessione di base base-connection
Dopo aver recuperato le credenziali di autenticazione di Mailchimp, ora puoi avviare il processo di creazione del flusso di dati per portare i dati di Mailchimp Campaign in 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.
Crea una connessione di base Mailchimp utilizzando l'autenticazione di base
Per creare una connessione di base Mailchimp utilizzando l'autenticazione di base, eseguire una richiesta POST all'endpoint /connections
dell'API Flow Service fornendo le credenziali per 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}"
}
}
}'
name
description
connectionSpec.id
auth.specName
auth.params.authorizationTestUrl
auth.params.username
auth.params.password
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\""
}
Crea una connessione di base Mailchimp utilizzando il codice di aggiornamento OAuth 2
Per creare una connessione di base Mailchimp utilizzando il codice di aggiornamento OAuth 2, effettuare una richiesta POST all'endpoint /connections
fornendo le credenziali per 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}"
}
}
}'
name
description
connectionSpec.id
auth.specName
auth.params.authorizationTestUrl
auth.params.accessToken
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 explore
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:
{BASE_CONNECTION_ID}
{OBJECT_TYPE}
rest
.{OBJECT}
{FILE_TYPE}
{PREVIEW}
{SOURCE_PARAMS}
campaign_id
.{SOURCE_PARAMS}
, è necessario codificare l'intera stringa campaignId
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 source-connection
È possibile creare una connessione di origine effettuando una richiesta POST all'API Flow Service. 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:
delimited
json
parquet
Per tutte le origini basate su tabelle, impostare il valore su tabular
.
Formato API
POST /sourceConnections
Richiesta
La richiesta seguente crea una connessione di origine 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"
}
}'
name
description
baseConnectionId
connectionSpec.id
data.format
params.campaignId
Risposta
In caso di esito positivo, la risposta restituisce l'identificatore univoco (id
) della connessione di origine 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 target-schema
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 all'API Schema Registry.
Per i passaggi dettagliati su come creare uno schema XDM di destinazione, consulta l'esercitazione su creazione di uno schema utilizzando l'API.
Creare un set di dati di destinazione target-dataset
È possibile creare un set di dati di destinazione eseguendo una richiesta POST all'API Catalog Service, fornendo 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 utilizzando l'API.
Creare una connessione di destinazione target-connection
Una connessione di destinazione rappresenta la connessione alla destinazione in cui arrivano i dati acquisiti. Per creare una connessione di destinazione, è necessario fornire l'ID della specifica di connessione fissa corrispondente a Data Lake. ID: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
Ora disponi degli identificatori univoci uno schema di destinazione un set di dati di destinazione e l'ID della specifica di connessione a Data Lake. Utilizzando questi identificatori, è possibile creare una connessione di destinazione utilizzando l'API Flow Service 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"
}
}'
name
description
connectionSpec.id
c604ff05-7f1a-43c0-8e18-33bf874cb11c
.data.format
params.dataSetId
Risposta
Una risposta corretta 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\""
}
Creare un flusso flow
L'ultimo passaggio per l'immissione di dati Mailchimp in Platform consiste nella creazione di 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. Impostare quindi 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
}
}'
name
description
flowSpec.id
6499120c-0b15-42dc-936e-847ea3c24d72
.flowSpec.version
1.0
.sourceConnectionIds
targetConnectionIds
scheduleParams.startTime
scheduleParams.frequency
once
, minute
, hour
, day
o week
.scheduleParams.interval
once
e deve essere maggiore o uguale a 15
per gli 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 API.
Aggiornare il flusso di dati
Aggiorna i dettagli del flusso di dati, ad esempio il nome e la descrizione, nonché la pianificazione dell'esecuzione e i set di mappatura associati, effettuando una richiesta PATCH all'endpoint /flows
dell'API Flow Service e fornendo al contempo l'ID del flusso di dati. Quando si effettua una richiesta PATCH, è necessario fornire etag
univoco del flusso di dati nell'intestazione If-Match
. Per esempi API completi, leggere la guida sull'aggiornamento dei flussi di dati di origine in tramite API.
Aggiornare l’account
Aggiornare il nome, la descrizione e le credenziali dell'account di origine eseguendo una richiesta PATCH all'API Flow Service e fornendo l'ID connessione di base come parametro di query. Quando si effettua una richiesta PATCH, è necessario fornire etag
univoco dell'account di origine nell'intestazione If-Match
. Per esempi API completi, consulta la guida in aggiornamento dell'account di origine tramite l'API.
Eliminare il flusso di dati
Elimina il flusso di dati eseguendo una richiesta DELETE all'API Flow Service e 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 l'API.
Elimina l’account
Eliminare l'account eseguendo una richiesta DELETE all'API Flow Service e fornendo l'ID connessione di base dell'account che si desidera eliminare. Per esempi API completi, leggere la guida in eliminazione dell'account di origine tramite l'API.