Per connettersi a una destinazione, è necessario Gestire le destinazioni autorizzazione per il controllo degli accessi.
Per attivare i dati, è necessario Gestire le destinazioni, Attivare le destinazioni, Visualizza profili, e Visualizzare segmenti autorizzazioni di controllo degli accessi.
Per esportare identità, è necessario Visualizza grafico delle identità autorizzazione per il controllo degli accessi.
Leggi le panoramica sul controllo degli accessi oppure contatta l’amministratore del prodotto per ottenere le autorizzazioni necessarie.
Questo tutorial illustra come utilizzare l’API del servizio Flow per creare un’interfaccia utente destinazione e-mail marketing, crea un flusso di dati nella destinazione appena creata ed esporta i dati nella destinazione appena creata tramite file CSV.
Per informazioni su come attivare i dati nelle destinazioni di archiviazione cloud utilizzando l’API del servizio Flusso, leggi tutorial API dedicato.
Questa esercitazione utilizza Adobe Campaign destinazione in tutti gli esempi, ma i passaggi sono identici per le destinazioni di e-mail marketing basate su file.
Se preferisci utilizzare l’interfaccia utente di Platform per connetterti a una destinazione e attivare i dati, consulta Connettere una destinazione e Attivare i dati del pubblico nelle destinazioni di esportazione del profilo batch esercitazioni.
Questa guida richiede una buona conoscenza dei seguenti componenti di Adobe Experience Platform:
Le sezioni seguenti forniscono informazioni aggiuntive che è necessario conoscere per attivare i dati nelle destinazioni batch in Platform.
Per completare i passaggi descritti in questa esercitazione, è necessario disporre delle seguenti credenziali pronte, a seconda del tipo di destinazione a cui si connette e si attivano i tipi di pubblico.
accessId
, secretKey
accessId
, secretKey
domain
, port
, username
, password
o sshKey
(a seconda del metodo di connessione al percorso FTP)connectionString
Le credenziali accessId
, secretKey
per Amazon S3 connessioni e accessId
, secretKey
per Amazon S3 connessioni a Adobe Campaign sono identici.
Questo tutorial fornisce esempi di chiamate API per dimostrare come formattare le richieste. Questi includono percorsi, intestazioni richieste e payload di richieste formattati correttamente. Viene inoltre fornito il codice JSON di esempio restituito nelle risposte API. Per informazioni sulle convenzioni utilizzate nella documentazione per le chiamate API di esempio, consulta la sezione su come leggere esempi di chiamate API nel Experience Platform guida alla risoluzione dei problemi.
Per effettuare chiamate a Platform , devi prima completare le tutorial sull’autenticazione. Il completamento del tutorial sull’autenticazione fornisce i valori per ciascuna delle intestazioni richieste in tutte Experience Platform Chiamate API, come mostrato di seguito:
{ACCESS_TOKEN}
{API_KEY}
{ORG_ID}
Risorse in Experience Platform può essere isolato in specifiche sandbox virtuali. Nelle richieste a Platform API, puoi specificare il nome e l’ID della sandbox in cui verrà eseguita l’operazione. Si tratta di parametri facoltativi.
{SANDBOX_NAME}
Per ulteriori informazioni sulle sandbox in Experience Platform, vedere documentazione di panoramica sulla sandbox.
Tutte le richieste che contengono un payload (POST, PUT, PATCH) richiedono un’intestazione di tipo multimediale aggiuntiva:
application/json
Questa esercitazione contiene la documentazione di riferimento per tutte le operazioni API. Consulta la sezione Documentazione API del servizio Flusso su Adobe I/O. È consigliabile utilizzare questa esercitazione e la documentazione di riferimento API in parallelo.
In primo luogo, devi decidere a quale destinazione attivare i dati. Per iniziare, effettua una chiamata per richiedere un elenco delle destinazioni disponibili a cui puoi connettere e attivare i tipi di pubblico. Esegui la seguente richiesta di GET a connectionSpecs
endpoint per restituire un elenco di destinazioni disponibili:
Formato API
GET /connectionSpecs
Richiesta
curl --location --request GET 'https://platform.adobe.io/data/foundation/flowservice/connectionSpecs' \
--header 'accept: application/json' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}'
Risposta
In caso di esito positivo, la risposta contiene un elenco delle destinazioni disponibili e i relativi identificatori univoci (id
). Memorizza il valore della destinazione che intendi utilizzare, come richiesto nei passaggi successivi. Ad esempio, se desideri connettere e inviare tipi di pubblico a Adobe Campaign, cerca il seguente frammento nella risposta:
{
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"name": "Adobe Campaign",
...
...
}
Per riferimento, la tabella seguente contiene gli ID delle specifiche di connessione per le destinazioni batch di uso comune:
Destinazione | ID specifica di connessione |
---|---|
Adobe Campaign | 0b23e41a-cb4a-4321-a78f-3b654f5d7d97 |
Oracle Eloqua | c1e44b6b-e7c8-404b-9031-58f0ef760604 |
Oracle Responsys | a5e28ddf-e265-426e-83a1-9d03a3a6822b |
Salesforce Marketing Cloud | f599a5b3-60a7-4951-950a-cc4115c7ea27 |
Quindi, devi connetterti al tuo Experience Platform in modo da poter esportare i dati del profilo e attivarli nella destinazione desiderata. Si tratta di due passaggi che sono descritti di seguito.
Formato API
POST /connections
Richiesta
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Base connection to Experience Platform",
"description": "This call establishes the connection to Experience Platform data",
"connectionSpec": {
"id": "{CONNECTION_SPEC_ID}",
"version": "1.0"
}
}'
Proprietà | Descrizione |
---|---|
name |
Specifica un nome per la connessione di base all'Experience Platform Profile Store. |
description |
In alternativa, è possibile fornire una descrizione della connessione di base. |
connectionSpec.id |
Utilizza l’ID della specifica di connessione per Archivio profili Experience Platform - 8a9c3494-9708-43d7-ae3f-cda01e5030e1 . |
Risposta
Una risposta corretta contiene l’identificatore univoco della connessione di base (id
). Memorizza questo valore come richiesto nel passaggio successivo per creare la connessione sorgente.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
Formato API
POST /sourceConnections
Richiesta
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Connecting to Profile Store",
"description": "Optional",
"connectionSpec": {
"id": "{CONNECTION_SPEC_ID}",
"version": "1.0"
},
"baseConnectionId": "{BASE_CONNECTION_ID}",
"data": {
"format": "CSV",
"schema": null
},
"params" : {}
}'
Proprietà | Descrizione |
---|---|
name |
Specifica un nome per la connessione sorgente all’Experience Platform Profile Store. |
description |
Facoltativamente, è possibile fornire una descrizione per la connessione di origine. |
connectionSpec.id |
Utilizza l’ID della specifica di connessione per Archivio profili Experience Platform - 8a9c3494-9708-43d7-ae3f-cda01e5030e1 . |
baseConnectionId |
Utilizza l’ID connessione di base ottenuto nel passaggio precedente. |
data.format |
CSV è attualmente l’unico formato di esportazione file supportato. |
Risposta
In caso di esito positivo, la risposta restituisce l’identificatore univoco (id
) per la nuova connessione sorgente creata a Profile Store. Ciò conferma che hai effettuato correttamente la connessione al Experience Platform dati. Memorizza questo valore come richiesto in un passaggio successivo.
{
"id": "ed48ae9b-c774-4b6e-88ae-9bc7748b6e97"
}
In questo passaggio, stai impostando una connessione alla destinazione di archiviazione cloud batch desiderata o al marketing via e-mail. Si tratta di due passaggi che sono descritti di seguito.
Formato API
POST /connections
Richiesta
La richiesta seguente stabilisce una connessione di base a Adobe Campaign destinazioni. A seconda del percorso di archiviazione in cui si desidera esportare i file (Amazon S3, SFTP, Azure Blob), mantieni il codice appropriato auth
specifica ed elimina gli altri.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "S3 Connection for Adobe Campaign",
"description": "summer advertising campaign",
"connectionSpec": {
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version": "1.0"
},
"auth": {
"specName": "S3",
"params": {
"accessId": "{ACCESS_ID}",
"secretKey": "{SECRET_KEY}"
}
}
"auth": {
"specName": "SFTP with Password",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"password": "{PASSWORD}"
}
}
"auth": {
"specName": "SFTP with SSH Key",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"sshKey": "{SSH_KEY}"
}
}
"auth": {
"specName": "Azure Blob",
"params": {
"connectionString": "{AZURE_BLOB_CONNECTION_STRING}"
}
}
}'
Vedi gli esempi di richieste seguenti per connettersi ad altre destinazioni di archiviazione cloud in batch e marketing via e-mail supportate.
La richiesta seguente stabilisce una connessione di base a Amazon S3 destinazioni.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Connect to Amazon S3",
"description": "summer advertising campaign",
"connectionSpec": {
"id": "4890fc95-5a1f-4983-94bb-e060c08e3f81",
"version": "1.0"
},
"auth": {
"specName": "Access Key",
"params": {
"s3AccessKey": "{AMAZON_S3_ACCESS_KEY}",
"s3SecretKey": "{AMAZON_S3_SECRET_KEY}"
}
}
}'
La richiesta seguente stabilisce una connessione di base a Azure Blob destinazioni.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Connect to Azure Blob",
"description": "Summer advertising campaign",
"connectionSpec": {
"id": "e258278b-a4cf-43ac-b158-4fa0ca0d948b",
"version": "1.0"
},
"auth": {
"specName": "ConnectionString",
"params": {
"connectionString": "{AZURE_BLOB_CONNECTION_STRING}"
}
}
}'
La richiesta seguente stabilisce una connessione di base a Oracle Eloqua destinazioni. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni il auth
specifica ed elimina gli altri.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Connect to Eloqua destination",
"description": "summer advertising campaign",
"connectionSpec": {
"id": "c1e44b6b-e7c8-404b-9031-58f0ef760604",
"version": "1.0"
},
"auth": {
"specName": "SFTP with Password",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"password": "{PASSWORD}"
}
}
"auth": {
"specName": "SFTP with SSH Key",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"sshKey": "{SSH_KEY}"
}
}
}'
La richiesta seguente stabilisce una connessione di base a Oracle Responsys destinazioni. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni il auth
specifica ed elimina gli altri.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Connect to Responsys destination",
"description": "summer advertising campaign",
"connectionSpec": {
"id": "a5e28ddf-e265-426e-83a1-9d03a3a6822b",
"version": "1.0"
},
"auth": {
"specName": "SFTP with Password",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"password": "{PASSWORD}"
}
}
"auth": {
"specName": "SFTP with SSH Key",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"sshKey": "{SSH_KEY}"
}
}
}'
La richiesta seguente stabilisce una connessione di base a Salesforce Marketing Cloud destinazioni. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni il auth
specifica ed elimina gli altri.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Connect to Salesforce Marketing Cloud",
"description": "summer advertising campaign",
"connectionSpec": {
"id": "f599a5b3-60a7-4951-950a-cc4115c7ea27",
"version": "1.0"
},
"auth": {
"specName": "SFTP with Password",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"password": "{PASSWORD}"
}
}
"auth": {
"specName": "SFTP with SSH Key",
"params": {
"domain": "{DOMAIN}",
"host": "{HOST}",
"username": "{USERNAME}",
"sshKey": "{SSH_KEY}"
}
}
}'
La richiesta seguente stabilisce una connessione di base alle destinazioni SFTP.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/connections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Connect to SFTP with password",
"description": "summer advertising campaign",
"connectionSpec": {
"id": "64ef4b8b-a6e0-41b5-9677-3805d1ee5dd0",
"version": "1.0"
},
"auth": {
"specName": "Basic Authentication for sftp",
"params": {
"host": "{HOST}",
"username": "{USERNAME}",
"password": "{PASSWORD}"
}
}
}'
Proprietà | Descrizione |
---|---|
name |
Specificare un nome per la connessione di base alla destinazione batch. |
description |
In alternativa, è possibile fornire una descrizione della connessione di base. |
connectionSpec.id |
Utilizza l’ID della specifica di connessione per la destinazione batch desiderata. Hai ottenuto questo ID nel passaggio Ottieni l’elenco delle destinazioni disponibili. |
auth.specname |
Indica il formato di autenticazione per la destinazione. Per individuare il nome della specifica per la destinazione, eseguire una Chiamata GET all'endpoint delle specifiche di connessione, che fornisce la specifica di connessione della destinazione desiderata. Cerca il parametro authSpec.name nella risposta. Ad esempio, per le destinazioni di Adobe Campaign puoi utilizzare uno qualsiasi di S3 , SFTP with Password , o SFTP with SSH Key . |
params |
A seconda della destinazione a cui ti stai connettendo, devi fornire diversi parametri di autenticazione richiesti. Per le connessioni Amazon S3, devi fornire l’ID di accesso e la chiave segreta alla posizione di archiviazione Amazon S3. Per individuare i parametri richiesti per la destinazione, eseguire una Chiamata GET all'endpoint delle specifiche di connessione, che fornisce la specifica di connessione della destinazione desiderata. Cerca il parametro authSpec.spec.required nella risposta. |
Risposta
Una risposta corretta contiene l’identificatore univoco della connessione di base (id
). Memorizza questo valore come richiesto nel passaggio successivo per creare una connessione di destinazione.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
Adobe Experience Platform esporta i dati per le destinazioni di e-mail marketing in batch e archiviazione cloud sotto forma di CSV file. In questo passaggio è possibile determinare il percorso nel percorso di archiviazione in cui verranno esportati i file.
Adobe Experience Platform divide automaticamente i file di esportazione in 5 milioni di record (righe) per file. Ogni riga rappresenta un profilo.
Ai nomi dei file suddivisi viene aggiunto un numero che indica che il file fa parte di un’esportazione più grande: filename.csv
, filename_2.csv
, filename_3.csv
.
Formato API
POST /targetConnections
Richiesta
La richiesta seguente stabilisce una connessione di destinazione a Adobe Campaign destinazioni, per determinare dove i file esportati verranno recapitati nel percorso di archiviazione. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni il params
specifica ed elimina gli altri.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "TargetConnection for Adobe Campaign",
"description": "Connection to Adobe Campaign",
"baseConnectionId": "{BASE_CONNECTION_ID}",
"connectionSpec": {
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"version": "1.0"
},
"data": {
"format": "json",
"schema": {
"id": "1.0",
"version": "1.0"
}
},
"params": {
"mode": "S3",
"bucketName": "{BUCKET_NAME}",
"path": "{FILEPATH}",
"format": "CSV"
}
"params": {
"mode": "AZURE_BLOB",
"container": "{CONTAINER}",
"path": "{FILEPATH}",
"format": "CSV"
}
"params": {
"mode": "FTP",
"remotePath": "{REMOTE_PATH}",
"format": "CSV"
}
}'
Consulta l’esempio di richieste riportato di seguito per configurare una posizione di archiviazione per altre destinazioni di archiviazione cloud in batch e marketing via e-mail supportate.
La richiesta seguente stabilisce una connessione di destinazione a Amazon S3 destinazioni, per determinare dove i file esportati verranno recapitati nel percorso di archiviazione.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "TargetConnection for Amazon S3",
"description": "Connection to Amazon S3",
"baseConnectionId": "{BASE_CONNECTION_ID}",
"connectionSpec": {
"id": "4890fc95-5a1f-4983-94bb-e060c08e3f81",
"version": "1.0"
},
"data": {
"format": "json",
"schema": {
"id": "1.0",
"version": "1.0"
}
},
"params": {
"mode": "S3",
"bucketName": "{BUCKET_NAME}",
"path": "{FILEPATH}",
"format": "CSV"
}
}'
La richiesta seguente stabilisce una connessione di destinazione a Azure Blob destinazioni, per determinare dove i file esportati verranno recapitati nel percorso di archiviazione.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "TargetConnection for Azure Blob",
"description": "Connection to Azure Blob",
"baseConnectionId": "{BASE_CONNECTION_ID}",
"connectionSpec": {
"id": "e258278b-a4cf-43ac-b158-4fa0ca0d948b",
"version": "1.0"
},
"data": {
"format": "json",
"schema": {
"id": "1.0",
"version": "1.0"
}
},
"params": {
"mode": "AZURE_BLOB",
"container": "{CONTAINER}",
"path": "{FILEPATH}",
"format": "CSV"
}
}'
La richiesta seguente stabilisce una connessione di destinazione a Oracle Eloqua destinazioni, per determinare dove i file esportati verranno recapitati nel percorso di archiviazione. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni il params
specifica ed elimina gli altri.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "TargetConnection for Oracle Eloqua",
"description": "Connection to Oracle Eloqua",
"baseConnectionId": "{BASE_CONNECTION_ID}",
"connectionSpec": {
"id": "c1e44b6b-e7c8-404b-9031-58f0ef760604",
"version": "1.0"
},
"data": {
"format": "json",
"schema": {
"id": "1.0",
"version": "1.0"
}
},
"params": {
"mode": "S3",
"bucketName": "{BUCKET_NAME}",
"path": "{FILEPATH}",
"format": "CSV"
}
"params": {
"mode": "FTP",
"remotePath": "{REMOTE_PATH}",
"format": "CSV"
}
}'
La richiesta seguente stabilisce una connessione di destinazione a Oracle Responsys destinazioni, per determinare dove i file esportati verranno recapitati nel percorso di archiviazione. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni il params
specifica ed elimina gli altri.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "TargetConnection for Oracle Responsys",
"description": "Connection to Oracle Responsys",
"baseConnectionId": "{BASE_CONNECTION_ID}",
"connectionSpec": {
"id": "a5e28ddf-e265-426e-83a1-9d03a3a6822b",
"version": "1.0"
},
"data": {
"format": "json",
"schema": {
"id": "1.0",
"version": "1.0"
}
},
"params": {
"mode": "S3",
"bucketName": "{BUCKET_NAME}",
"path": "{FILEPATH}",
"format": "CSV"
}
"params": {
"mode": "FTP",
"remotePath": "{REMOTE_PATH}",
"format": "CSV"
}
}'
La richiesta seguente stabilisce una connessione di destinazione a Salesforce Marketing Cloud destinazioni, per determinare dove i file esportati verranno recapitati nel percorso di archiviazione. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni il params
specifica ed elimina gli altri.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "TargetConnection for Salesforce Marketing Cloud",
"description": "Connection to Salesforce Marketing Cloud",
"baseConnectionId": "{BASE_CONNECTION_ID}",
"connectionSpec": {
"id": "f599a5b3-60a7-4951-950a-cc4115c7ea27",
"version": "1.0"
},
"data": {
"format": "json",
"schema": {
"id": "1.0",
"version": "1.0"
}
},
"params": {
"mode": "S3",
"bucketName": "{BUCKET_NAME}",
"path": "{FILEPATH}",
"format": "CSV"
}
"params": {
"mode": "FTP",
"remotePath": "{REMOTE_PATH}",
"format": "CSV"
}
}'
La richiesta seguente stabilisce una connessione di destinazione alle destinazioni SFTP per determinare dove verranno inviati i file esportati nel percorso di archiviazione.
curl --location --request POST 'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "TargetConnection for SFTP",
"description": "Connection to SFTP",
"baseConnectionId": "{BASE_CONNECTION_ID}",
"connectionSpec": {
"id": "64ef4b8b-a6e0-41b5-9677-3805d1ee5dd0",
"version": "1.0"
},
"data": {
"format": "json",
"schema": {
"id": "1.0",
"version": "1.0"
}
},
"params": {
"mode": "FTP",
"remotePath": "{REMOTE_PATH}",
}
}'
Proprietà | Descrizione |
---|---|
name |
Specificare un nome per la connessione di destinazione alla destinazione batch. |
description |
Facoltativamente, puoi fornire una descrizione della connessione di destinazione. |
baseConnectionId |
Utilizza l’ID della connessione di base creata nel passaggio precedente. |
connectionSpec.id |
Utilizza l’ID della specifica di connessione per la destinazione batch desiderata. Hai ottenuto questo ID nel passaggio Ottieni l’elenco delle destinazioni disponibili. |
params |
A seconda della destinazione a cui ti stai connettendo, devi fornire diversi parametri richiesti alla posizione di archiviazione. Per le connessioni Amazon S3, devi fornire l’ID di accesso e la chiave segreta alla posizione di archiviazione Amazon S3. Per individuare i parametri richiesti per la destinazione, eseguire una Chiamata GET all'endpoint delle specifiche di connessione, che fornisce la specifica di connessione della destinazione desiderata. Cerca il parametro targetSpec.spec.required nella risposta. |
params.mode |
A seconda della modalità supportata per la destinazione, è necessario fornire un valore diverso qui. Per individuare i parametri richiesti per la destinazione, eseguire una Chiamata GET all'endpoint delle specifiche di connessione, che fornisce la specifica di connessione della destinazione desiderata. Cerca il parametro targetSpec.spec.properties.mode.enum nella risposta e seleziona la modalità desiderata. |
params.bucketName |
Per le connessioni S3, fornisci il nome del bucket in cui verranno esportati i file. |
params.path |
Per le connessioni S3, specifica il percorso del file nel percorso di archiviazione in cui verranno esportati i file. |
params.format |
CSV è attualmente l’unico tipo di esportazione file supportato. |
Risposta
In caso di esito positivo, la risposta restituisce l’identificatore univoco (id
) per la nuova connessione di destinazione creata alla destinazione batch. Memorizza questo valore come richiesto nei passaggi successivi.
{
"id": "12ab90c7-519c-4291-bd20-d64186b62da8"
}
Utilizzando la specifica di flusso, la connessione di origine e gli ID di connessione di destinazione ottenuti nei passaggi precedenti, ora puoi creare un flusso di dati tra Experience Platform e la destinazione in cui esportare i file di dati. Considera questo passaggio come la costruzione della pipeline attraverso la quale i dati scorrono successivamente tra Experience Platform e la destinazione desiderata.
Per creare un flusso di dati, esegui una richiesta POST come mostrato di seguito, fornendo i valori menzionati di seguito all’interno del payload.
Formato API
POST /flows
Richiesta
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-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}' \
-H 'Content-Type: application/json' \
-d '{
"name": "activate audiences to Adobe Campaign",
"description": "This operation creates a dataflow which we will later use to activate audiences to Adobe Campaign",
"flowSpec": {
"id": "{FLOW_SPEC_ID}",
"version": "1.0"
},
"sourceConnectionIds": [
"{SOURCE_CONNECTION_ID}"
],
"targetConnectionIds": [
"{TARGET_CONNECTION_ID}"
],
"transformations": [
{
"name": "GeneralTransform",
"params": {
"segmentSelectors": {
"selectors": []
},
"profileSelectors": {
"selectors": []
}
}
}
]
}
Proprietà | Descrizione |
---|---|
name |
Specifica un nome per il flusso di dati che stai creando. |
description |
Facoltativamente, puoi fornire una descrizione del flusso di dati. |
flowSpec.Id |
Utilizzare l'ID della specifica di flusso per la destinazione batch a cui si desidera connettersi. Per recuperare l’ID della specifica di flusso, esegui un’operazione di GET sul flowspecs come mostrato nella documentazione di riferimento API per le specifiche di flusso. Nella risposta, cerca upsTo e copia l’ID corrispondente della destinazione batch a cui desideri connetterti. Ad esempio, per Adobe Campaign, cerca upsToCampaign e copia id parametro. |
sourceConnectionIds |
Utilizza l’ID della connessione sorgente ottenuto nel passaggio Connettersi ai dati Experienci Platform. |
targetConnectionIds |
Utilizza l’ID connessione di destinazione ottenuto nel passaggio Connetti a destinazione batch. |
transformations |
Nel passaggio successivo, compilerai questa sezione con i tipi di pubblico e gli attributi del profilo da attivare. |
Per riferimento, la tabella seguente contiene gli ID delle specifiche di flusso per le destinazioni batch di uso comune:
Destinazione | ID specifica di flusso |
---|---|
Tutte le destinazioni di archiviazione cloud (Amazon S3, SFTP, Azure Blob) e Oracle Eloqua | 71471eba-b620-49e4-90fd-23f1fa0174d8 |
Oracle Responsys | 51d675ce-e270-408d-91fc-22717bdf2148 |
Salesforce Marketing Cloud | 493b2bd6-26e4-4167-ab3b-5e910bba44f0 |
Risposta
In caso di esito positivo, la risposta restituisce l’ID (id
) del flusso di dati appena creato e un etag
. Per attivare i tipi di pubblico ed esportare i file di dati, prendi nota di entrambi i valori in base alle tue esigenze nel passaggio successivo.
{
"id": "8256cfb4-17e6-432c-a469-6aedafb16cd5",
"etag": "8256cfb4-17e6-432c-a469-6aedafb16cd5"
}
Dopo aver creato tutte le connessioni e il flusso di dati, ora puoi attivare i dati del profilo nella piattaforma di destinazione. In questo passaggio, seleziona i tipi di pubblico e gli attributi di profilo da esportare nella destinazione.
È inoltre possibile determinare il formato di denominazione dei file esportati e gli attributi da utilizzare come chiavi di deduplicazione o attributi obbligatori. In questo passaggio puoi anche determinare la pianificazione per inviare dati alla destinazione.
Per attivare i tipi di pubblico nella nuova destinazione, devi eseguire un’operazione JSON PATCH, simile all’esempio di seguito. Puoi attivare più tipi di pubblico e attributi di profilo in una sola chiamata. Per ulteriori informazioni su JSON PATCH, consulta Specifiche RFC.
Formato API
PATCH /flows
Richiesta
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--header 'x-sandbox-name: {SANDBOX_NAME}' \
--header 'If-Match: "{ETAG}"' \
--data-raw '[
{
"op": "add",
"path": "/transformations/0/params/segmentSelectors/selectors/-",
"value": {
"type": "PLATFORM_SEGMENT",
"value": {
"name": "Name of the audience that you are activating",
"description": "Description of the audience that you are activating",
"id": "{SEGMENT_ID}",
"filenameTemplate": "%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode": "DAILY_FULL_EXPORT",
"schedule": {
"frequency": "ONCE",
"startDate": "2021-12-20",
"startTime": "17:00"
}
}
}
},
{
"op": "add",
"path": "/transformations/0/params/segmentSelectors/selectors/-",
"value": {
"type": "PLATFORM_SEGMENT",
"value": {
"name": "Name of the audience that you are activating",
"description": "Description of the audience that you are activating",
"id": "{SEGMENT_ID}",
"filenameTemplate": "%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode": "DAILY_FULL_EXPORT",
"schedule": {
"frequency": "ONCE",
"triggerType": "SCHEDULED",
"startDate": "2021-12-20",
"startTime": "17:00"
},
}
}
},
{
"op": "add",
"path": "/transformations/0/params/profileSelectors/selectors/-",
"value": {
"type": "JSON_PATH",
"value": {
"path": "{PROFILE_ATTRIBUTE}"
}
}
}
]
Proprietà | Descrizione |
---|---|
{DATAFLOW_ID} |
Nell’URL, utilizza l’ID del flusso di dati creato nel passaggio precedente. |
{ETAG} |
Ottieni {ETAG} dalla risposta della fase precedente, Creare un flusso di dati. Il formato della risposta nel passaggio precedente contiene virgolette di escape. Devi utilizzare i valori senza escape nell’intestazione della richiesta. Vedi l’esempio seguente:
Il valore etag viene aggiornato a ogni aggiornamento riuscito di un flusso di dati. |
{SEGMENT_ID} |
Specifica l’ID del pubblico da esportare in questa destinazione. Per recuperare gli ID del pubblico per i tipi di pubblico che desideri attivare, consulta recuperare una definizione di pubblico nel riferimento API di Experienci Platform. |
{PROFILE_ATTRIBUTE} |
Ad esempio, "person.lastName" |
op |
Chiamata di operazione utilizzata per definire l’azione necessaria per aggiornare il flusso di dati. Le operazioni includono: add , replace , e remove . Per aggiungere un pubblico a un flusso di dati, utilizza add operazione. |
path |
Definisce la parte del flusso da aggiornare. Quando aggiungi un pubblico a un flusso di dati, utilizza il percorso specificato nell’esempio. |
value |
Il nuovo valore con cui desideri aggiornare il parametro. |
id |
Specifica l’ID del pubblico che stai aggiungendo al flusso di dati di destinazione. |
name |
Facoltativo. Specifica il nome del pubblico che stai aggiungendo al flusso di dati di destinazione. Tieni presente che questo campo non è obbligatorio e puoi aggiungere correttamente un pubblico al flusso di dati di destinazione senza specificarne il nome. |
filenameTemplate |
Questo campo determina il formato del nome file dei file esportati nella destinazione. Sono disponibili le seguenti opzioni:
Per ulteriori informazioni sulla configurazione dei nomi di file, consultare configurare i nomi dei file nell’esercitazione di attivazione delle destinazioni batch. |
exportMode |
Obbligatorio. Seleziona "DAILY_FULL_EXPORT" (Mostra origine dati) o "FIRST_FULL_THEN_INCREMENTAL" (Blocca selezione). Per ulteriori informazioni sulle due opzioni, consulta esporta file completi e esportare file incrementali nell’esercitazione di attivazione delle destinazioni batch. |
startDate |
Seleziona la data in cui il pubblico deve iniziare a esportare i profili nella tua destinazione. |
frequency |
Obbligatorio.
|
triggerType |
Per destinazioni batch solo. Questo campo è obbligatorio solo quando si seleziona "DAILY_FULL_EXPORT" modalità in frequency selettore. Obbligatorio.
|
endDate |
Per destinazioni batch solo. Questo campo è necessario solo quando si aggiunge un pubblico a un flusso di dati in destinazioni di esportazione di file batch come Amazon S3, SFTP o Azure Blob. Non applicabile durante la selezione "exportMode":"DAILY_FULL_EXPORT" e "frequency":"ONCE" . Imposta la data in cui i membri del pubblico cessano di essere esportati nella destinazione. |
startTime |
Per destinazioni batch solo. Questo campo è necessario solo quando si aggiunge un pubblico a un flusso di dati in destinazioni di esportazione di file batch come Amazon S3, SFTP o Azure Blob. Obbligatorio. Seleziona il momento in cui generare ed esportare nella destinazione i file contenenti i membri del pubblico. |
Consulta Aggiornare i componenti di un pubblico in un flusso di dati per scoprire come aggiornare vari componenti (modello di nome file, tempo di esportazione e così via) dei tipi di pubblico esportati.
Risposta
Cerca una risposta 202 Accepted (Accettata). Nessun corpo di risposta restituito. Per verificare che la richiesta sia corretta, vedi il passaggio successivo: Convalidare il flusso di dati.
Come ultimo passaggio dell’esercitazione, verifica che i tipi di pubblico e gli attributi del profilo siano stati effettivamente mappati correttamente al flusso di dati.
Per convalidarlo, esegui la seguente richiesta GET:
Formato API
GET /flows
Richiesta
curl --location --request PATCH 'https://platform.adobe.io/data/foundation/flowservice/flows/{DATAFLOW_ID}' \
--header 'Authorization: Bearer {ACCESS_TOKEN}' \
--header 'x-api-key: {API_KEY}' \
--header 'x-gw-ims-org-id: {ORG_ID}' \
--header 'Content-Type: application/json' \
--header 'x-sandbox-name: prod' \
--header 'If-Match: "{ETAG}"'
{DATAFLOW_ID}
: utilizza il flusso di dati del passaggio precedente.{ETAG}
: utilizza l’eTag del passaggio precedente.Risposta
La risposta restituita deve includere nel transformations
specifica i tipi di pubblico e gli attributi del profilo inviati nel passaggio precedente. Un esempio transformations
Il parametro nella risposta potrebbe essere simile al seguente:
"transformations":[
{
"name":"GeneralTransform",
"params":{
"profileSelectors":{
"selectors":[
{
"type":"JSON_PATH",
"value":{
"path":"homeAddress.countryCode",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"homeAddress.countryCode",
"destination":"homeAddress.countryCode",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"homeAddress.countryCode",
"destinationXdmPath":"homeAddress.countryCode"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"person.name.firstName",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"person.name.firstName",
"destination":"person.name.firstName",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"person.name.firstName",
"destinationXdmPath":"person.name.firstName"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"person.name.lastName",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"person.name.lastName",
"destination":"person.name.lastName",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"person.name.lastName",
"destinationXdmPath":"person.name.lastName"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"personalEmail.address",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"personalEmail.address",
"destination":"personalEmail.address",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"personalEmail.address",
"destinationXdmPath":"personalEmail.address"
}
}
},
{
"type":"JSON_PATH",
"value":{
"path":"segmentMembership.status",
"operator":"EXISTS",
"mapping":{
"sourceType":"text/x.schema-path",
"source":"segmentMembership.status",
"destination":"segmentMembership.status",
"identity":false,
"primaryIdentity":false,
"functionVersion":0,
"copyModeMapping":false,
"sourceAttribute":"segmentMembership.status",
"destinationXdmPath":"segmentMembership.status"
}
}
}
],
"mandatoryFields":[
"person.name.firstName",
"person.name.lastName"
],
"primaryFields":[
{
"fieldType":"ATTRIBUTE",
"attributePath":"personalEmail.address"
}
]
},
"segmentSelectors":{
"selectors":[
{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"9f7d37fd-7039-4454-94ef-2b0cd6c3206a",
"name":"Interested in Mountain Biking",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode":"DAILY_FULL_EXPORT",
"schedule":{
"frequency":"ONCE",
"startDate":"2021-12-20",
"startTime":"17:00"
},
"createTime":"1640016962",
"updateTime":"1642534355"
}
},
{
"type":"PLATFORM_SEGMENT",
"value":{
"id":"25768be6-ebd5-45cc-8913-12fb3f348613",
"name":"Loyalty Segment",
"filenameTemplate":"%DESTINATION_NAME%_%SEGMENT_ID%_%DATETIME(YYYYMMdd_HHmmss)%",
"exportMode":"FIRST_FULL_THEN_INCREMENTAL",
"schedule":{
"frequency":"EVERY_6_HOURS",
"startDate":"2021-12-22",
"endDate":"2021-12-31",
"startTime":"17:00"
},
"createTime":"1640016962",
"updateTime":"1642534355"
}
}
]
}
}
}
]
Gli endpoint API in questa esercitazione seguono i principi generali dei messaggi di errore API di Experience Platform. Fai riferimento a Codici di stato API e errori di intestazione della richiesta per ulteriori informazioni sull’interpretazione delle risposte di errore, consulta la guida alla risoluzione dei problemi di Platform.
Seguendo questa esercitazione, hai connesso Platform a una delle destinazioni di e-mail marketing basate su file preferite e hai impostato un flusso di dati nella rispettiva destinazione per esportare i file di dati. I dati in uscita possono ora essere utilizzati nella destinazione per campagne e-mail, pubblicità mirata e molti altri casi d’uso. Per ulteriori dettagli, vedi le pagine seguenti, ad esempio come modificare i flussi di dati esistenti utilizzando l’API del servizio Flusso: