Connettersi a destinazioni di e-mail marketing basate su file e attivare i dati utilizzando l’API del servizio di flusso
-
Per connettersi a una destinazione, sono necessarie le Destinazioni visualizzazione e le Autorizzazioni di gestione delle destinazioni per il controllo degli accessi.
-
Per attivare i dati, è necessario Visualizza destinazioni, Attiva destinazioni, Visualizza profili e Visualizza segmenti Autorizzazioni di controllo di accesso.
-
Per esportare identità, è necessario disporre dell'autorizzazione Visualizza grafo identità Controllo di accesso.
{width="100" modal="regular"}
Questo tutorial illustra come utilizzare l'API del servizio di flusso per creare una destinazione di e-mail marketing basata su file, creare un flusso di dati nella nuova destinazione creata ed esportare i dati nella nuova destinazione creata tramite file CSV.
Questo tutorial utilizza la destinazione Adobe Campaign 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 le esercitazioni Connettere una destinazione e Attivare i dati del pubblico per esportare i profili in batch.
Introduzione get-started
Questa guida richiede una buona conoscenza dei seguenti componenti di Adobe Experience Platform:
- Experience Data Model (XDM) System: framework standardizzato tramite il quale Experience Platform organizza i dati sull'esperienza del cliente.
- Segmentation Service: Adobe Experience Platform Segmentation Service consente di creare tipi di pubblico in Adobe Experience Platform dai dati di Real-Time Customer Profile.
- Sandboxes: Experience Platform fornisce sandbox virtuali che suddividono una singola istanza Platform in ambienti virtuali separati, utili per le attività di sviluppo e aggiornamento delle applicazioni di esperienza digitale.
Le sezioni seguenti forniscono informazioni aggiuntive che è necessario conoscere per attivare i dati nelle destinazioni batch in Platform.
Raccogli le credenziali richieste gather-required-credentials
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.
- Per Amazon S3 connessioni:
accessId
,secretKey
- Per Amazon S3 connessioni a Adobe Campaign:
accessId
,secretKey
- Per le connessioni SFTP:
domain
,port
,username
,password
osshKey
(a seconda del metodo di connessione al percorso FTP) - Per Azure Blob connessioni:
connectionString
accessId
, secretKey
per Amazon S3 connessioni e accessId
, secretKey
per Amazon S3 connessioni a Adobe Campaign sono identiche.Lettura delle chiamate API di esempio reading-sample-api-calls
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 un 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 chiamate API di esempio nella guida alla risoluzione dei problemi di Experience Platform.
Raccogli i valori per le intestazioni obbligatorie e facoltative gather-values-headers
Per effettuare chiamate alle API Platform, devi prima completare l'esercitazione di autenticazione. Completando il tutorial sull’autenticazione si ottengono i valori per ciascuna delle intestazioni richieste in tutte le chiamate API di Experience Platform, come mostrato di seguito:
- Autorizzazione: Bearer
{ACCESS_TOKEN}
- x-api-key:
{API_KEY}
- x-gw-ims-org-id:
{ORG_ID}
Le risorse in Experience Platform possono essere isolate in specifiche sandbox virtuali. Nelle richieste alle API Platform, puoi specificare il nome e l'ID della sandbox in cui verrà eseguita l'operazione. Si tratta di parametri facoltativi.
- x-sandbox-name:
{SANDBOX_NAME}
Tutte le richieste che contengono un payload (POST, PUT, PATCH) richiedono un’intestazione di tipo multimediale aggiuntiva:
- Tipo di contenuto:
application/json
Documentazione di riferimento API api-reference-documentation
Questa esercitazione contiene la documentazione di riferimento per tutte le operazioni API. Consulta la documentazione API del servizio Flow su Adobe I/O. È consigliabile utilizzare questa esercitazione e la documentazione di riferimento API in parallelo.
Ottieni l’elenco delle destinazioni disponibili get-the-list-of-available-destinations
della panoramica dei passaggi di destinazione
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. Eseguire la seguente richiesta di GET all'endpoint connectionSpecs
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
Una risposta corretta contiene un elenco di 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 snippet 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:
0b23e41a-cb4a-4321-a78f-3b654f5d7d97
c1e44b6b-e7c8-404b-9031-58f0ef760604
a5e28ddf-e265-426e-83a1-9d03a3a6822b
f599a5b3-60a7-4951-950a-cc4115c7ea27
Connetti ai dati di Experience Platform connect-to-your-experience-platform-data
della panoramica dei passaggi di destinazione
Successivamente, devi connetterti ai tuoi dati di Experience Platform, in modo da poter esportare i dati del profilo e attivarli nella tua destinazione preferita. Si tratta di due passaggi che sono descritti di seguito.
- Innanzitutto, devi eseguire una chiamata per autorizzare l'accesso ai tuoi dati in Experience Platform, impostando una connessione di base.
- Quindi, utilizzando l'ID connessione di base, eseguire un'altra chiamata in cui si crea una connessione di origine, che stabilisce la connessione ai dati di Experience Platform.
Autorizza l'accesso ai tuoi dati in Experience Platform
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"
}
}'
name
description
connectionSpec.id
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"
}
Connetti ai dati di Experience Platform connect-to-platform-data
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" : {}
}'
name
description
connectionSpec.id
8a9c3494-9708-43d7-ae3f-cda01e5030e1
.baseConnectionId
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 di origine creata a Profile store. Ciò conferma che la connessione ai dati di Experience Platform è stata eseguita correttamente. Memorizza questo valore come richiesto in un passaggio successivo.
{
"id": "ed48ae9b-c774-4b6e-88ae-9bc7748b6e97"
}
Connetti a destinazione batch connect-to-batch-destination
della panoramica dei passaggi di destinazione
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.
- Innanzitutto, devi eseguire una chiamata per autorizzare l’accesso alla piattaforma di destinazione, impostando una connessione di base.
- Quindi, utilizzando l'ID connessione di base, effettuerai un'altra chiamata in cui crei una connessione di destinazione, che specifica la posizione nell'account di archiviazione in cui verranno consegnati i file di dati esportati e il formato dei dati che verranno esportati.
Autorizza l’accesso alla destinazione batch authorize-access-to-batch-destination
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 desideri esportare i file in (Amazon S3, SFTP, Azure Blob), mantieni la specifica auth
appropriata 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.
code language-shell |
---|
|
La richiesta seguente stabilisce una connessione di base a Azure Blob destinazioni.
code language-shell |
---|
|
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 la specifica auth
appropriata ed elimina gli altri.
code language-shell |
---|
|
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 la specifica auth
appropriata ed elimina gli altri.
code language-shell |
---|
|
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 la specifica auth
appropriata ed elimina gli altri.
code language-shell |
---|
|
La richiesta seguente stabilisce una connessione di base alle destinazioni SFTP.
code language-shell |
---|
|
name
description
connectionSpec.id
auth.specname
authSpec.name
nella risposta.Ad esempio, per le destinazioni Adobe Campaign è possibile utilizzare uno qualsiasi di
S3
, SFTP with Password
o SFTP with SSH Key
.params
Per individuare i parametri richiesti per la destinazione, eseguire una chiamata all'endpoint delle specifiche di connessione, fornendo la specifica di connessione della destinazione desiderata. Cercare 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"
}
Specificare il percorso di archiviazione e il formato dei dati specify-storage-location-data-format
Adobe Experience Platform esporta i dati per le destinazioni del marketing e-mail in batch e dell'archiviazione cloud sotto forma di CSV file. In questo passaggio è possibile determinare il percorso nel percorso di archiviazione in cui verranno esportati i file.
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 verranno inviati i file esportati nel percorso di archiviazione. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni la specifica params
appropriata 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 verranno inviati i file esportati nel percorso di archiviazione.
code language-shell |
---|
|
La richiesta seguente stabilisce una connessione di destinazione a Azure Blob destinazioni, per determinare dove verranno inviati i file esportati nel percorso di archiviazione.
code language-shell |
---|
|
La richiesta seguente stabilisce una connessione di destinazione a Oracle Eloqua destinazioni, per determinare dove verranno inviati i file esportati nel percorso di archiviazione. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni la specifica params
appropriata ed elimina gli altri.
code language-shell |
---|
|
La richiesta seguente stabilisce una connessione di destinazione a Oracle Responsys destinazioni, per determinare dove verranno inviati i file esportati nel percorso di archiviazione. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni la specifica params
appropriata ed elimina gli altri.
code language-shell |
---|
|
La richiesta seguente stabilisce una connessione di destinazione a Salesforce Marketing Cloud destinazioni, per determinare dove verranno inviati i file esportati nel percorso di archiviazione. A seconda del percorso di archiviazione in cui desideri esportare i file, mantieni la specifica params
appropriata ed elimina gli altri.
code language-shell |
---|
|
La richiesta seguente stabilisce una connessione di destinazione alle destinazioni SFTP per determinare dove verranno inviati i file esportati nel percorso di archiviazione.
code language-shell |
---|
|
name
description
baseConnectionId
connectionSpec.id
params
Per individuare i parametri richiesti per la destinazione, eseguire una chiamata all'endpoint delle specifiche di connessione, fornendo la specifica di connessione della destinazione desiderata. Cercare il parametro
targetSpec.spec.required
nella risposta.params.mode
targetSpec.spec.properties.mode.enum
nella risposta e selezionare la modalità desiderata.params.bucketName
params.path
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 connessione di destinazione appena creata alla destinazione batch. Memorizza questo valore come richiesto nei passaggi successivi.
{
"id": "12ab90c7-519c-4291-bd20-d64186b62da8"
}
Creare un flusso di dati create-dataflow
della panoramica dei passaggi di destinazione
Utilizzando la specifica di flusso, la connessione di origine e gli ID di connessione di destinazione ottenuti nei passaggi precedenti, è ora possibile creare un flusso di dati tra i dati Experience Platform e la destinazione in cui verranno esportati i file di dati. Considera questo passaggio come la costruzione della pipeline attraverso la quale i dati scorreranno in seguito 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": []
}
}
}
]
}
name
description
flowSpec.Id
flowspecs
, come illustrato nella documentazione di riferimento API delle 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 il parametro id
.sourceConnectionIds
targetConnectionIds
transformations
Per riferimento, la tabella seguente contiene gli ID delle specifiche di flusso per le destinazioni batch di uso comune:
71471eba-b620-49e4-90fd-23f1fa0174d8
51d675ce-e270-408d-91fc-22717bdf2148
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"
}
Attiva i dati nella nuova destinazione activate-data
della panoramica dei passaggi di destinazione
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 la specifica 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}"
}
}
}
]
{DATAFLOW_ID}
{ETAG}
Ottieni {ETAG}
dalla risposta nel passaggio precedente, Crea 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:
- Esempio di risposta:
"etag":""7400453a-0000-1a00-0000-62b1c7a90000""
- Valore da utilizzare nella richiesta:
"etag": "7400453a-0000-1a00-0000-62b1c7a90000"
Il valore etag viene aggiornato a ogni aggiornamento riuscito di un flusso di dati.
{SEGMENT_ID}
{PROFILE_ATTRIBUTE}
"person.lastName"
op
add
, replace
e remove
. Per aggiungere un pubblico a un flusso di dati, utilizzare l'operazione add
.path
value
id
name
filenameTemplate
Questo campo determina il formato del nome file dei file esportati nella destinazione.
Sono disponibili le seguenti opzioni:
%DESTINATION_NAME%
: obbligatorio. I file esportati contengono il nome della destinazione.%SEGMENT_ID%
: obbligatorio. I file esportati contengono l’ID del pubblico esportato.%SEGMENT_NAME%
: facoltativo. I file esportati contengono il nome del pubblico esportato.DATETIME(YYYYMMdd_HHmmss)
o%TIMESTAMP%
: facoltativo. Seleziona una di queste due opzioni per includere l'ora in cui vengono generati da Experience Platform.custom-text
: facoltativo. Sostituire questo segnaposto con qualsiasi testo personalizzato che si desidera aggiungere alla fine dei nomi dei file.
Per ulteriori informazioni sulla configurazione dei nomi di file, fare riferimento alla sezione Configura nomi di file nell'esercitazione sull'attivazione delle destinazioni batch.
exportMode
"DAILY_FULL_EXPORT"
o "FIRST_FULL_THEN_INCREMENTAL"
. Per ulteriori informazioni sulle due opzioni, fare riferimento a esporta file completi e esporta file incrementali nell'esercitazione di attivazione delle destinazioni batch.startDate
frequency
Obbligatorio
- Per la modalità di esportazione
"DAILY_FULL_EXPORT"
, è possibile selezionareONCE
oDAILY
. - Per la modalità di esportazione
"FIRST_FULL_THEN_INCREMENTAL"
, è possibile selezionare"DAILY"
,"EVERY_3_HOURS"
,"EVERY_6_HOURS"
,"EVERY_8_HOURS"
,"EVERY_12_HOURS"
.
triggerType
Solo per destinazioni batch. Questo campo è obbligatorio solo quando si seleziona la modalità "DAILY_FULL_EXPORT"
nel selettore frequency
.
obbligatorio.
- Selezionare
"AFTER_SEGMENT_EVAL"
per eseguire il processo di attivazione subito dopo il completamento del processo di segmentazione batch giornaliero di Platform. In questo modo, quando viene eseguito il processo di attivazione, i profili più aggiornati vengono esportati nella destinazione. - Selezionare
"SCHEDULED"
per eseguire il processo di attivazione a un orario fisso. In questo modo i dati del profilo di Experience Platform vengono esportati ogni giorno alla stessa ora, ma i profili esportati potrebbero non essere quelli più aggiornati, a seconda che il processo di segmentazione batch sia stato completato prima dell’avvio del processo di attivazione. Quando si seleziona questa opzione, è necessario aggiungere anche unstartTime
per indicare in quale momento in UTC devono essere eseguite le esportazioni giornaliere.
endDate
Non applicabile quando si selezionano
"exportMode":"DAILY_FULL_EXPORT"
e "frequency":"ONCE"
.Imposta la data in cui i membri del pubblico cessano di essere esportati nella destinazione.
startTime
obbligatorio. Seleziona il momento in cui generare ed esportare nella destinazione i file contenenti i membri del pubblico.
Risposta
Cerca una risposta 202 Accepted (Accettata). Nessun corpo di risposta restituito. Per verificare che la richiesta sia corretta, vedere il passaggio successivo, Convalidare il flusso di dati.
Convalidare il flusso di dati validate-dataflow
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}
: utilizzare l'etag del passaggio precedente.
Risposta
La risposta restituita deve includere nel parametro transformations
i tipi di pubblico e gli attributi di profilo inviati nel passaggio precedente. Un parametro transformations
di esempio 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"
}
}
]
}
}
}
]
Gestione degli errori API api-error-handling
Gli endpoint API in questa esercitazione seguono i principi generali dei messaggi di errore API di Experience Platform. Per ulteriori informazioni sull'interpretazione delle risposte di errore, consultare codici di stato API e errori di intestazione della richiesta nella guida alla risoluzione dei problemi di Platform.
Passaggi successivi next-steps
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: