Verbindung zu dateibasierten E-Mail-Marketing-Zielen herstellen und Daten mithilfe der Flow Service-API aktivieren
-
Um eine Verbindung zu einem Ziel herzustellen, benötigen Sie die Zugriffssteuerungsberechtigungen Ziele anzeigen und Ziele verwalten .
-
Um Daten zu aktivieren, benötigen Sie die Zugriffssteuerungsberechtigungen Ziele anzeigen, Ziele aktivieren, Profile anzeigen und Segmente anzeigen .
-
Um identities zu exportieren, benötigen Sie die Zugriffssteuerungsberechtigung Identitätsdiagramm anzeigen 🔗.
{width="100" modal="regular"}
In diesem Tutorial erfahren Sie, wie Sie mit der Flow Service-API ein dateibasiertes E-Mail-Marketing-Ziel erstellen, einen Datenfluss zu Ihrem neu erstellten Ziel erstellen und Daten über CSV-Dateien an Ihr neu erstelltes Ziel exportieren.
In diesem Tutorial wird in allen Beispielen das Ziel Adobe Campaign verwendet, die Schritte sind jedoch bei dateibasierten E-Mail-Marketing-Zielen identisch.
Wenn Sie die Platform-Benutzeroberfläche bevorzugen, um eine Verbindung zu einem Ziel herzustellen und Daten zu aktivieren, finden Sie weitere Informationen in den Tutorials Verbinden eines Ziels und Aktivieren von Zielgruppendaten für Batch-Profilexportziele.
Erste Schritte get-started
Dieses Handbuch setzt ein Verständnis der folgenden Komponenten von Adobe Experience Platform voraus:
- Experience Data Model (XDM) System: Das standardisierte Framework, mit dem Kundenerlebnisdaten von Experience Platform organisiert werden.
- Segmentation Service: Adobe Experience Platform Segmentation Service ermöglicht Ihnen, aus Ihren Real-Time Customer Profile -Daten Zielgruppen in Adobe Experience Platform zu erstellen.
- Sandboxes: Experience Platform bietet virtuelle Sandboxes, die eine einzelne Platform-Instanz in separate virtuelle Umgebungen unterteilen, damit Sie Programme für digitale Erlebnisse entwickeln und weiterentwickeln können.
Die folgenden Abschnitte enthalten zusätzliche Informationen, die Sie kennen sollten, um Daten für Batch-Ziele in Platform zu aktivieren.
Sammeln erforderlicher Anmeldeinformationen gather-required-credentials
Um die Schritte in diesem Tutorial abzuschließen, sollten Sie die folgenden Anmeldeinformationen haben, je nach Zieltyp, mit dem Sie Zielgruppen verbinden und aktivieren.
- Für Amazon S3-Verbindungen:
accessId
,secretKey
- Für Amazon S3-Verbindungen zu Adobe Campaign:
accessId
,secretKey
- Für SFTP-Verbindungen:
domain
,port
,username
,password
odersshKey
(abhängig von der Verbindungsmethode zum FTP-Speicherort) - Für Azure Blob-Verbindungen:
connectionString
accessId
, secretKey
für Amazon S3-Verbindungen und accessId
, secretKey
für Amazon S3-Verbindungen zu Adobe Campaign sind identisch.Lesen von Beispiel-API-Aufrufen reading-sample-api-calls
In diesem Tutorial wird anhand von Beispielen für API-Aufrufe die korrekte Formatierung von Anfragen aufgezeigt. Dazu gehören Pfade, erforderliche Kopfzeilen und ordnungsgemäß formatierte Anfrage-Payloads. Außerdem wird ein Beispiel für eine von der API im JSON-Format zurückgegebene Antwort bereitgestellt. Informationen zu den Konventionen, die in der Dokumentation für Beispiel-API-Aufrufe verwendet werden, finden Sie im Abschnitt zum Lesen von Beispiel-API-Aufrufen im Handbuch zur Fehlerbehebung für Experience Platform
Sammeln der Werte für erforderliche und optionale Kopfzeilen gather-values-headers
Um Platform-APIs aufzurufen, müssen Sie zunächst das Authentifizierungs-Tutorial abschließen. Durch Abschluss des Authentifizierungs-Tutorials werden die Werte für die einzelnen erforderlichen Header in allen Experience Platform-API-Aufrufen bereitgestellt, wie unten dargestellt:
- Authorization: Bearer
{ACCESS_TOKEN}
- x-api-key:
{API_KEY}
- x-gw-ims-org-id:
{ORG_ID}
Ressourcen in Experience Platform lassen sich in spezifischen virtuellen Sandboxes isolieren. Bei Anfragen an Platform-APIs können Sie den Namen und die ID der Sandbox angeben, in der der Vorgang ausgeführt werden soll. Dies sind optionale Parameter.
- x-sandbox-name:
{SANDBOX_NAME}
Bei allen Anfragen, die eine Payload enthalten (POST, PUT, PATCH), ist eine zusätzliche Medientyp-Kopfzeile erforderlich:
- Content-Type:
application/json
API-Referenzdokumentation api-reference-documentation
Eine zugehörige Referenzdokumentation für alle API-Vorgänge finden Sie in diesem Tutorial. Weitere Informationen finden Sie in der Flow Service-API-Dokumentation zu Adobe I/O. Wir empfehlen, dass Sie dieses Tutorial und die API-Referenzdokumentation parallel verwenden.
Abrufen der Liste der verfügbaren Ziele get-the-list-of-available-destinations
Als ersten Schritt sollten Sie entscheiden, für welches Ziel Daten aktiviert werden sollen. Führen Sie zunächst einen Aufruf durch, um eine Liste der verfügbaren Ziele anzufordern, mit denen Sie Zielgruppen verbinden und aktivieren können. Führen Sie die folgende GET-Anfrage an den connectionSpecs
-Endpunkt aus, um eine Liste der verfügbaren Ziele zu erhalten:
API-Format
GET /connectionSpecs
Anfrage
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}'
Antwort
Eine erfolgreiche Antwort enthält eine Liste der verfügbaren Ziele und ihre eindeutigen Kennungen (id
). Notieren Sie sich den Wert des Ziels, das Sie verwenden möchten, da Sie ihn in weiteren Schritten benötigen werden. Wenn Sie beispielsweise Zielgruppen mit Adobe Campaign verbinden und bereitstellen möchten, suchen Sie in der Antwort nach dem folgenden Snippet:
{
"id": "0b23e41a-cb4a-4321-a78f-3b654f5d7d97",
"name": "Adobe Campaign",
...
...
}
Die nachstehende Tabelle enthält die Verbindungsspezifikations-IDs für häufig verwendete Batch-Ziele:
0b23e41a-cb4a-4321-a78f-3b654f5d7d97
c1e44b6b-e7c8-404b-9031-58f0ef760604
a5e28ddf-e265-426e-83a1-9d03a3a6822b
f599a5b3-60a7-4951-950a-cc4115c7ea27
Verbinden mit Ihren Experience Platform-Daten connect-to-your-experience-platform-data
Als Nächstes müssen Sie eine Verbindung zu Ihren Experience Platform-Daten herstellen, um Profildaten exportieren und in Ihrem bevorzugten Ziel aktivieren zu können. Dies umfasst zwei Unterschritte, die nachfolgend beschrieben werden.
- Sie müssen zunächst einen Aufruf ausführen, um den Zugriff auf Ihre Daten in Experience Platform zu autorisieren, indem Sie eine Basisverbindung einrichten.
- Führen Sie dann unter Verwendung der Basisverbindungs-ID einen weiteren Aufruf durch, in dem Sie eine Quellverbindung erstellen, die die Verbindung zu Ihren Experience Platform-Daten herstellt.
Autorisieren des Zugriffs auf Ihre Daten in Experience Platform
API-Format
POST /connections
Anfrage
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
.Antwort
Eine erfolgreiche Antwort enthält die eindeutige Kennung der Basisverbindung (id
). Notieren Sie sich diesen Wert, da Sie ihn im nächsten Schritt zum Erstellen der Quellverbindung benötigen werden.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
Verbinden mit Ihren Experience Platform-Daten connect-to-platform-data
API-Format
POST /sourceConnections
Anfrage
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
ist derzeit das einzige unterstützte Dateiexportformat.Antwort
Bei einer erfolgreichen Antwort wird der eindeutige Bezeichner (id
) für die neu erstellte Quellverbindung zum Profile store zurückgegeben. Dadurch wird bestätigt, dass Sie erfolgreich eine Verbindung zu Ihren Experience Platform-Daten hergestellt haben. Notieren Sie sich diesen Wert, da Sie ihn in einem späteren Schritt benötigen werden.
{
"id": "ed48ae9b-c774-4b6e-88ae-9bc7748b6e97"
}
Herstellen einer Verbindung zum Batch-Ziel connect-to-batch-destination
In diesem Schritt richten Sie eine Verbindung zu Ihrem gewünschten Batch-Cloud-Speicher- oder E-Mail-Marketing-Ziel ein. Dies umfasst zwei Unterschritte, die nachfolgend beschrieben werden.
- Sie müssen zunächst einen Aufruf ausführen, um den Zugriff auf die Zielplattform zu autorisieren, indem Sie eine Basisverbindung einrichten.
- Mithilfe der Kennung der Basisverbindung führen Sie dann einen weiteren Aufruf aus, mit dem Sie eine Zielverbindung erstellen. In dem Aufruf sind der Ort in Ihrem Speicherkonto, an dem die exportierten Datendateien bereitgestellt werden, sowie das Format der zu exportierenden Daten angegeben.
Autorisieren des Zugriffs auf das Batch-Ziel authorize-access-to-batch-destination
API-Format
POST /connections
Anfrage
Die nachstehende Anfrage stellt eine Basisverbindung zu Adobe Campaign-Zielen her. Behalten Sie je nach Speicherort, an den Sie die Dateien exportieren möchten (Amazon S3, SFTP, Azure Blob), die entsprechende auth
-Spezifikation bei und löschen Sie die anderen.
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}"
}
}
}'
Siehe die folgenden Beispielanfragen zum Herstellen einer Verbindung zu anderen unterstützten Batch-Cloud-Speicher- und E-Mail-Marketing-Zielen.
Die nachstehende Anfrage stellt eine Basisverbindung zu Amazon S3-Zielen her.
code language-shell |
---|
|
Die nachstehende Anfrage stellt eine Basisverbindung zu Azure Blob-Zielen her.
code language-shell |
---|
|
Die nachstehende Anfrage stellt eine Basisverbindung zu Oracle Eloqua-Zielen her. Behalten Sie je nach Speicherort, an den Sie die Dateien exportieren möchten, die entsprechende auth
-Spezifikation bei und löschen Sie die anderen.
code language-shell |
---|
|
Die nachstehende Anfrage stellt eine Basisverbindung zu Oracle Responsys-Zielen her. Behalten Sie je nach Speicherort, an den Sie die Dateien exportieren möchten, die entsprechende auth
-Spezifikation bei und löschen Sie die anderen.
code language-shell |
---|
|
Die nachstehende Anfrage stellt eine Basisverbindung zu Salesforce Marketing Cloud-Zielen her. Behalten Sie je nach Speicherort, an den Sie die Dateien exportieren möchten, die entsprechende auth
-Spezifikation bei und löschen Sie die anderen.
code language-shell |
---|
|
Die nachstehende Anfrage stellt eine Basisverbindung zu SFTP-Zielen her.
code language-shell |
---|
|
name
description
connectionSpec.id
auth.specname
authSpec.name
.Bei Adobe Campaign-Zielen können Sie beispielsweise eine der folgenden Optionen verwenden:
S3
, SFTP with Password
oder SFTP with SSH Key
.params
Um die erforderlichen Parameter für Ihr Ziel zu ermitteln, führen Sie einen GET-Aufruf an den Verbindungsspezifikationen-Endpunkt durch, wobei Sie die Verbindungsspezifikation Ihres gewünschten Ziels angeben. Suchen Sie in der Antwort nach dem Parameter
authSpec.spec.required
.Antwort
Eine erfolgreiche Antwort enthält die eindeutige Kennung der Basisverbindung (id
). Notieren Sie sich diesen Wert, da Sie ihn im nächsten Schritt benötigen, um eine Zielverbindung zu erstellen.
{
"id": "1ed86558-59b5-42f7-9865-5859b552f7f4"
}
Speicherort und Datenformat angeben specify-storage-location-data-format
Adobe Experience Platform exportiert Daten für Batch-E-Mail-Marketing- und Cloud-Speicher-Ziele in Form von CSV-Dateien. In diesem Schritt können Sie den Pfad in Ihrem Speicherort ermitteln, an dem die Dateien exportiert werden.
filename.csv
, filename_2.csv
, filename_3.csv
.API-Format
POST /targetConnections
Anfrage
Die nachstehende Anfrage stellt eine Zielverbindung zu Adobe Campaign-Zielen her, um zu bestimmen, wo die exportierten Dateien an Ihrem Speicherort abgelegt werden sollen. Behalten Sie je nach Speicherort, an den Sie die Dateien exportieren möchten, die entsprechende params
-Spezifikation bei und löschen Sie die anderen.
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"
}
}'
Siehe die folgenden Beispielanfragen zum Einrichten eines Speicherorts für andere unterstützte Batch-Cloud-Speicher- und E-Mail-Marketing-Ziele.
Die nachstehende Anfrage stellt eine Zielverbindung zu Amazon S3-Zielen her, um zu bestimmen, wo die exportierten Dateien an Ihrem Speicherort abgelegt werden sollen.
code language-shell |
---|
|
Die nachstehende Anfrage stellt eine Zielverbindung zu Azure Blob-Zielen her, um zu bestimmen, wo die exportierten Dateien an Ihrem Speicherort abgelegt werden sollen.
code language-shell |
---|
|
Die nachstehende Anfrage stellt eine Zielverbindung zu Oracle Eloqua-Zielen her, um zu bestimmen, wo die exportierten Dateien an Ihrem Speicherort abgelegt werden sollen. Behalten Sie je nach Speicherort, an den Sie die Dateien exportieren möchten, die entsprechende params
-Spezifikation bei und löschen Sie die anderen.
code language-shell |
---|
|
Die nachstehende Anfrage stellt eine Zielverbindung zu Oracle Responsys-Zielen her, um zu bestimmen, wo die exportierten Dateien an Ihrem Speicherort abgelegt werden sollen. Behalten Sie je nach Speicherort, an den Sie die Dateien exportieren möchten, die entsprechende params
-Spezifikation bei und löschen Sie die anderen.
code language-shell |
---|
|
Die nachstehende Anfrage stellt eine Zielverbindung zu Salesforce Marketing Cloud-Zielen her, um zu bestimmen, wo die exportierten Dateien an Ihrem Speicherort abgelegt werden sollen. Behalten Sie je nach Speicherort, an den Sie die Dateien exportieren möchten, die entsprechende params
-Spezifikation bei und löschen Sie die anderen.
code language-shell |
---|
|
Die folgende Anfrage stellt eine Zielverbindung zu SFTP-Zielen her, um zu bestimmen, wo die exportierten Dateien an Ihrem Speicherort abgelegt werden sollen.
code language-shell |
---|
|
name
description
baseConnectionId
connectionSpec.id
params
Um die erforderlichen Parameter für Ihr Ziel zu ermitteln, führen Sie einen GET-Aufruf an den Verbindungsspezifikationen-Endpunkt durch, wobei Sie die Verbindungsspezifikation Ihres gewünschten Ziels angeben. Suchen Sie in der Antwort nach dem Parameter
targetSpec.spec.required
.params.mode
targetSpec.spec.properties.mode.enum
und wählen Sie den gewünschten Modus aus.params.bucketName
params.path
params.format
CSV
ist derzeit der einzige unterstützte Dateiexporttyp.Antwort
Bei einer erfolgreichen Antwort wird die eindeutige Kennung (id
) für die neu erstellte Zielverbindung zu Ihrem Batch-Ziel zurückgegeben. Notieren Sie sich diesen Wert, da Sie ihn in späteren Schritten benötigen werden.
{
"id": "12ab90c7-519c-4291-bd20-d64186b62da8"
}
Erstellen eines Datenflusses create-dataflow
Mithilfe der Flussspezifikation, der Quellverbindungs- und der Zielverbindungs-IDs können Sie nun einen Datenfluss zwischen Ihren Experience Platform-Daten und dem Ziel erstellen, in das Sie Datendateien exportieren werden. Stellen Sie sich diesen Schritt wie den Bau einer Pipeline vor, durch die später Daten zwischen Experience Platform und dem gewünschten Ziel fließen werden.
Um einen Datenfluss zu erstellen, führen Sie eine POST-Anfrage durch (wie unten dargestellt) und geben Sie dabei die unten genannten Werte in der Payload an.
API-Format
POST /flows
Anfrage
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
durch, wie in der API-Referenzdokumentation für Flussspezifikationen beschrieben. Suchen Sie in der Antwort nach upsTo
und kopieren Sie die entsprechende ID des Batch-Ziels, mit dem Sie eine Verbindung herstellen möchten. Suchen Sie zum Beispiel für Adobe Campaign nach upsToCampaign
und kopieren Sie den id
-Parameter.sourceConnectionIds
targetConnectionIds
transformations
Die nachstehende Tabelle enthält die Flussspezifikations-IDs für häufig verwendete Batch-Ziele:
71471eba-b620-49e4-90fd-23f1fa0174d8
51d675ce-e270-408d-91fc-22717bdf2148
493b2bd6-26e4-4167-ab3b-5e910bba44f0
Antwort
Bei einer erfolgreichen Antwort werden die Kennung (id
) des neu erstellten Datenflusses und ein etag
zurückgegeben. Notieren Sie sich beide Werte, da Sie sie im nächsten Schritt benötigen werden, um Zielgruppen zu aktivieren und Datendateien zu exportieren.
{
"id": "8256cfb4-17e6-432c-a469-6aedafb16cd5",
"etag": "8256cfb4-17e6-432c-a469-6aedafb16cd5"
}
Daten an Ihr neues Ziel aktivieren activate-data
Nachdem Sie alle Verbindungen sowie den Datenfluss erstellt haben, können Sie jetzt Ihre Profildaten für die Zielplattform aktivieren. In diesem Schritt wählen Sie aus, welche Zielgruppen und Profilattribute an das Ziel exportiert werden sollen.
Sie können auch das Dateibenennungsformat der exportierten Dateien bestimmen und festlegen, welche Attribute als Deduplizierungsschlüssel oder obligatorische Attribute verwendet werden sollen. In diesem Schritt können Sie auch den Zeitplan für das Senden von Daten an das Ziel festlegen.
Um Zielgruppen für Ihr neues Ziel zu aktivieren, müssen Sie einen JSON-PATCH-Vorgang ausführen, der dem unten stehenden Beispiel ähnelt. Sie können mehrere Zielgruppen und Profilattribute in einem Aufruf aktivieren. Weiterführende Informationen zu JSON PATCH finden Sie in der RFC-Spezifikation.
API-Format
PATCH /flows
Anfrage
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}
Rufen Sie die {ETAG}
aus der Antwort im vorherigen Schritt ab, Erstellen Sie einen Datenfluss. Das Antwortformat im vorherigen Schritt hat Escape-Anführungszeichen. Sie müssen die nicht maskierten Werte in der Kopfzeile der Anfrage verwenden. Siehe Beispiel unten:
- Antwortbeispiel:
"etag":""7400453a-0000-1a00-0000-62b1c7a90000""
- Wert, der in Ihrer Anfrage verwendet werden soll:
"etag": "7400453a-0000-1a00-0000-62b1c7a90000"
Der eTag-Wert wird bei jeder erfolgreichen Aktualisierung eines Datenflusses aktualisiert.
{SEGMENT_ID}
{PROFILE_ATTRIBUTE}
"person.lastName"
op
add
, replace
und remove
. Verwenden Sie den Vorgang add
, um einem Datenfluss eine Zielgruppe hinzuzufügen.path
value
id
name
filenameTemplate
Dieses Feld bestimmt das Dateinamenformat der Dateien, die an Ihr Ziel exportiert werden.
Die folgenden Optionen sind verfügbar:
%DESTINATION_NAME%
: Obligatorisch. Die exportierten Dateien enthalten den Zielnamen.%SEGMENT_ID%
: Obligatorisch. Die exportierten Dateien enthalten die Kennung der exportierten Audience.%SEGMENT_NAME%
: Optional. Die exportierten Dateien enthalten den Namen der exportierten Audience.DATETIME(YYYYMMdd_HHmmss)
oder%TIMESTAMP%
: Optional. Wählen Sie eine dieser beiden Optionen für Ihre Dateien aus, um den Zeitpunkt einzuschließen, zu dem sie von Experience Platform generiert werden.custom-text
: Optional. Ersetzen Sie diesen Platzhalter durch einen beliebigen benutzerdefinierten Text, den Sie am Ende Ihrer Dateinamen anhängen möchten.
Weitere Informationen zur Konfiguration von Dateinamen finden Sie im Abschnitt Konfigurieren von Dateinamen im Tutorial zur Aktivierung von Batch-Zielen.
exportMode
"DAILY_FULL_EXPORT"
oder "FIRST_FULL_THEN_INCREMENTAL"
aus. Weitere Informationen zu den beiden Optionen finden Sie unter Exportieren von vollständigen Dateien und Exportieren von inkrementellen Dateien im Tutorial zur Aktivierung von Batch-Zielen.startDate
frequency
Obligatorisch.
- Für den Exportmodus
"DAILY_FULL_EXPORT"
können SieONCE
oderDAILY
wählen. - Für den Exportmodus
"FIRST_FULL_THEN_INCREMENTAL"
können Sie"DAILY"
,"EVERY_3_HOURS"
,"EVERY_6_HOURS"
,"EVERY_8_HOURS"
,"EVERY_12_HOURS"
wählen.
triggerType
Nur für Batch-Ziele. Dieses Feld ist nur erforderlich, wenn Sie den Modus "DAILY_FULL_EXPORT"
in der Auswahl frequency
auswählen.
Erforderlich.
- Wählen Sie "
"AFTER_SEGMENT_EVAL"
", damit der Aktivierungsauftrag unmittelbar nach Abschluss des täglichen Platform-Batch-Segmentierungsauftrags ausgeführt wird. Dadurch wird sichergestellt, dass bei der Ausführung des Aktivierungsvorgangs die aktuellen Profile nach Ihrem Ziel exportiert werden. - Wählen Sie
"SCHEDULED"
aus, damit der Aktivierungsauftrag zu einem festen Zeitpunkt ausgeführt wird. Dadurch wird sichergestellt, dass Experience Platform-Profildaten jeden Tag gleichzeitig exportiert werden. Je nachdem, ob der Batch-Segmentierungsauftrag vor dem Beginn des Aktivierungsvorgangs abgeschlossen wurde, sind die zu exportierenden-Profile jedoch möglicherweise nicht die aktuellsten. Bei Auswahl dieser Option müssen Sie auch den WertstartTime
hinzufügen, um anzugeben, zu welchem Zeitpunkt in UTC die täglichen Exporte stattfinden sollen.
endDate
Nicht anwendbar bei der Auswahl von
"exportMode":"DAILY_FULL_EXPORT"
und "frequency":"ONCE"
.Legt das Datum fest, an dem Audience-Mitglieder nicht mehr in das Ziel exportiert werden.
startTime
Erforderlich. Wählen Sie den Zeitpunkt aus, zu dem Dateien mit Mitgliedern der Audience generiert und an Ihr Ziel exportiert werden sollen.
Antwort
Suchen Sie nach einer „202 Accepted“-Antwort. Es wird kein Antworttext zurückgegeben. Um zu überprüfen, ob die Anfrage korrekt war, lesen Sie den nächsten Schritt Validieren des Datenflusses.
Validieren des Datenflusses validate-dataflow
Als letzten Schritt im Tutorial sollten Sie überprüfen, ob die Zielgruppen und Profilattribute dem Datenfluss korrekt zugeordnet wurden.
Führen Sie zur Validierung die folgende GET-Anfrage aus:
API-Format
GET /flows
Anfrage
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}
: Verwenden Sie den Datenfluss aus dem vorherigen Schritt.{ETAG}
: Verwenden Sie das eTag aus dem vorherigen Schritt.
Antwort
Die zurückgegebene Antwort sollte im Parameter transformations
die Zielgruppen und Profilattribute enthalten, die Sie im vorherigen Schritt gesendet haben. Ein Beispielparameter transformations
in der Antwort könnte wie folgt aussehen:
"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"
}
}
]
}
}
}
]
Umgang mit API-Fehlern api-error-handling
Die API-Endpunkte in diesem Tutorial folgen den allgemeinen Experience Platform API-Fehlermeldungsprinzipien. Weitere Informationen zur Interpretation von Fehlerantworten finden Sie unter API-Status-Codes und Fehler in der Anforderungsheader im Handbuch zur Fehlerbehebung für Platform.
Nächste Schritte next-steps
In diesem Tutorial haben Sie Platform erfolgreich mit einem Ihrer bevorzugten dateibasierten E-Mail-Marketing-Ziele verbunden und einen Datenfluss zum entsprechenden Ziel eingerichtet, um Datendateien zu exportieren. Ausgehende Daten können jetzt im Ziel für E-Mail-Kampagnen, zielgruppengerechte Werbung und viele andere Anwendungsfälle genutzt werden. Auf den folgenden Seiten finden Sie weitere Details, z. B. wie Sie vorhandene Datenflüsse mit der Flow Service-API bearbeiten: