Verwenden von benutzerdefinierten Aktionen zum Schreiben von Journey-Ereignissen in Experience Platform custom-action-aep
Auf dieser Seite Erfahren Sie, wie Sie mit benutzerdefinierten Aktionen und authentifizierten API-Aufrufen benutzerdefinierte Journey-Ereignisse von Ihren Journey in Adobe Experience Platform schreiben.
In diesem Anwendungsbeispiel wird erläutert, wie benutzerspezifische Ereignisse mithilfe von benutzerdefinierten Aktionen und authentifizierten Aufrufen von Journey in Adobe Experience Platform geschrieben werden.
Konfigurieren eines Entwicklerprojekts custom-action-aep-IO
-
Klicken Sie in der Adobe Developer Console auf Projekt und öffnen Sie Ihr IO-Projekt.
-
Klicken Sie im Abschnitt Anmeldedaten auf OAuth Server-to-Server.
-
Klicken Sie auf cURL-Befehl anzeigen.
-
Kopieren Sie den cURL-Befehl und speichern Sie client_id, client_secret, grant_type und scope.
curl -X POST 'https://ims-na1.adobelogin.com/ims/token/v3' -H 'Content-Type: application/x-www-form-urlencoded' -d 'grant_type=client_credentials&client_id=1234&client_secret=5678&scope=openid,AdobeID,read_organizations,additional_info.projectedProductContext,session'
Konfigurieren der Quelle mit dem HTTP-API-Inlet
-
Erstellen Sie einen Endpunkt in Adobe Experience Platform, um die Daten aus Journey zu schreiben.
-
Klicken Sie Adobe Experience Platform im linken Menü Quellen unter Verbindungen. Klicken Sie unter HTTP API auf Daten hinzufügen.
-
Wählen Sie Neues Konto aus und aktivieren Sie die Authentifizierung. Wählen Sie Mit der Quelle verbinden aus.
-
Wählen Sie Weiter und den Datensatz aus, in den Sie die Daten schreiben möchten. Klicken Sie auf Weiter und Beenden.
-
Öffnen Sie den neu erstellten Datenfluss. Kopieren Sie die Schema-Payload und speichern Sie sie in Ihrem Notepad.
{
"header": {
"schemaRef": {
"id": "https://ns.adobe.com/<your_org>/schemas/<schema_id>",
"contentType": "application/vnd.adobe.xed-full+json;version=1.0"
},
"imsOrgId": "<org_id>",
"datasetId": "<dataset_id>",
"source": {
"name": "Custom Journey Events"
}
},
"body": {
"xdmMeta": {
"schemaRef": {
"id": "https://ns.adobe.com/<your_org>/schemas/<schema_id>",
"contentType": "application/vnd.adobe.xed-full+json;version=1.0"
}
},
"xdmEntity": {
"_id": "test1",
"<your_org>": {
"journeyVersionId": "",
"nodeId": "", "customer_Id":""
},
"eventMergeId": "",
"eventType": "",
"producedBy": "self",
"timestamp": "2018-11-12T20:20:39+00:00"
}
}
}
Konfigurieren der benutzerdefinierten Aktion custom-action-config
Die Konfiguration der benutzerdefinierten Aktion wird auf dieser Seite beschrieben.
Für dieses Beispiel gehen Sie wie folgt vor:
-
Öffnen Sie Adobe Journey Optimizer und klicken Sie Konfigurationen unter Administration im linken Menü. Klicken Sie unter Aktionen auf Verwalten und dann auf Aktion erstellen.
-
Legen Sie die URL fest und wählen Sie die POST-Methode.
https://dcs.adobedc.net/collection/<collection_id>?syncValidation=false -
Stellen Sie sicher, dass die Kopfzeilen (Content-Type, Charset, sandbox-name) konfiguriert sind.
Einrichten der Authentifizierung custom-action-aep-authentication
-
Wählen Sie den Typ als Benutzerdefiniert mit der folgenden Payload.
-
Fügen Sie client_secret, client_id, scope und grant_type (aus der zuvor verwendeten IO-Projekt-Payload) ein.
code language-none { "type": "customAuthorization", "authorizationType": "Bearer", "endpoint": "https://ims-na1.adobelogin.com/ims/token/v3", "method": "POST", "headers": {}, "body": { "bodyType": "form", "bodyParams": { "grant_type": "client_credentials", "client_secret": "********", "client_id": "<client_id>", "scope": "openid,AdobeID,read_organizations,additional_info.projectedProductContext,session" } }, "tokenInResponse": "json://access_token", "cacheDuration": { "duration": 28000, "timeUnit": "seconds" } } -
Verwenden Sie die Schaltfläche Zum Testen der Authentifizierung hier klicken, um die Verbindung zu testen.
Einrichten der Payload custom-action-aep-payload
-
Fügen Sie die Payload aus der zuvor verwendeten Quellverbindung in die Felder Anfrage und Antwort ein.
code language-none { "xdmMeta": { "schemaRef": { "id": "https://ns.adobe.com/<your_org>/schemas/<schema_id>", "contentType": "application/vnd.adobe.xed-full+json;version=1.0" } }, "xdmEntity": { "_id": "/uri-reference", "<your_org>": { "journeyVersionId": "Sample value", "nodeId": "Sample value", "customer_Id":"" }, "eventMergeId": "Sample value", "eventType": "advertising.completes, "producedBy": "self", "timestamp": "2018-11-12T20:20:39+00:00" } } -
Ändern Sie die Feldkonfiguration von Konstant in Variabel für Felder, die dynamisch befüllt werden sollen.
-
Speichern Sie die benutzerdefinierte Aktion.
Journey
-
Verwenden Sie schließlich diese benutzerdefinierte Aktion in einer Journey, um die benutzerdefinierten Journey-Ereignisse zu schreiben.
-
Füllen Sie Attribute wie Journey Version Id, Node Id, Node Name und andere entsprechend Ihrem Anwendungsfall aus.
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This use case explains how to configure a custom action in Journey Optimizer that writes journey event data into Adobe Experience Platform using an HTTP API inlet and OAuth Server-to-Server authenticated calls.
Intents:
- Set up an Adobe Developer Console IO project with OAuth Server-to-Server credentials for AEP API authentication
- Create an HTTP API inlet source in Adobe Experience Platform to receive streaming journey event data
- Configure a custom action in Journey Optimizer with the correct URL, headers, and custom Bearer token authentication
- Map journey fields (journey version ID, node ID, customer ID) dynamically as variables in the custom action payload
- Use the custom action in a journey to write custom events to an AEP dataset
Glossary:
- HTTP API Inlet: An Adobe Experience Platform source connector that creates a streaming endpoint for ingesting data via HTTP POST requests (product-specific)
- OAuth Server-to-Server: An authentication credential type in Adobe Developer Console that generates Bearer tokens for server-to-server API calls without user interaction (product-specific)
- Custom authorization: A Journey Optimizer custom action authentication type that fetches a Bearer token from a specified endpoint and caches it for a configured duration (product-specific)
- XDM entity: The data payload structure conforming to the Experience Data Model schema, used as the body when writing events to AEP via the HTTP API inlet (product-specific)
- cacheDuration: The token cache setting in custom authorization configuration that controls how long the fetched Bearer token is reused before a new one is requested (product-specific)
Guardrails:
- After creating the Adobe Developer Console project, developer and API access control permissions must be explicitly granted before the credentials can be used
- The HTTP API inlet source must be created with authentication enabled; the connection endpoint URL and schema payload must be copied and stored for use in the custom action configuration
- Custom action headers must include Content-Type, Charset, and sandbox-name
- Fields intended to be populated dynamically at runtime must be changed from Constant to Variable in the custom action payload configuration
Terminology:
- Canonical name: Custom action — Acronym: none — variants: custom action configuration, Journey Optimizer custom action
- Canonical name: Adobe Experience Platform — Acronym: AEP — variants: Experience Platform, Platform
- Synonyms: “HTTP API Inlet” = “streaming endpoint” = “DCS collection endpoint”
- Do not confuse: “OAuth Server-to-Server” ≠ “OAuth user authentication” (Server-to-Server does not require a user login; it uses client credentials)
FAQ:
- Q: What type of authentication is used to call the AEP HTTP API Inlet from a Journey Optimizer custom action? — Custom Bearer token authentication using OAuth Server-to-Server client credentials fetched from the Adobe IMS token endpoint.
- Q: Where do I find the client_id, client_secret, grant_type, and scope values? — From the OAuth Server-to-Server credentials section of your Adobe Developer Console IO project, by clicking “View cURL command.”
- Q: How do I make journey-specific fields (e.g., journeyVersionId, nodeId) dynamic in the payload? — Change their field configuration from Constant to Variable in the custom action payload setup so they are populated from the journey context at runtime.
- Q: What permissions are required on the Adobe Developer Console project? — Developer and API access control must be granted with the right permissions after the project is created, as described in the AEP API authentication documentation.
- Q: What is the purpose of the cacheDuration setting in the authentication payload? — It controls how long the fetched Bearer token is cached and reused (28,000 seconds in the example) before the custom action requests a new token.