Beta
Erstellen einer Quellverbindung und eines Datenflusses für SAP Commerce mithilfe der Flow Service-API
Erstellt für:
- Entwickler
Das folgende Tutorial führt Sie durch die Schritte zum Erstellen einer SAP Commerce Quellverbindung und eines Datenflusses, um (AbonnementSAP Abrechnung) KontakteKundendaten mithilfe der -Flow Service in Adobe Experience Platform.
Erste Schritte
Dieses Handbuch setzt ein Verständnis der folgenden Komponenten von Experience Platform voraus:
- Quellen: Experience Platform ermöglicht die Aufnahme von Daten aus verschiedenen Quellen und bietet Ihnen die Möglichkeit, die eingehenden Daten mithilfe von Experience Platform-Services zu strukturieren, zu kennzeichnen und anzureichern.
- Sandboxes: Experience Platform bietet virtuelle Sandboxes, die eine einzelne Experience Platform-Instanz in separate virtuelle Umgebungen unterteilen, damit Sie Programme für digitale Erlebnisse besser entwickeln und weiterentwickeln können.
Die folgenden Abschnitte enthalten zusätzliche Informationen, die Sie benötigen, um mithilfe der Flow Service-API eine Verbindung zu SAP Commerce herstellen zu können.
Sammeln erforderlicher Anmeldedaten
Um SAP Commerce mit Experience Platform zu verbinden, müssen Sie Werte für die folgenden Verbindungseigenschaften angeben:
Anmeldedaten | Beschreibung |
---|---|
clientId | Der Wert von clientId aus dem Service-Schlüssel. |
clientSecret | Der Wert von clientSecret aus dem Service-Schlüssel. |
tokenEndpoint | Der Wert von url aus dem Service-Schlüssel ähnelt https://subscriptionbilling.authentication.eu10.hana.ondemand.com . |
region | Ihr Rechenzentrumsstandort. Die Region befindet sich in der url und hat einen ähnlichen Wert wie eu10 oder us10 . Wenn die url beispielsweise https://subscriptionbilling.authentication.eu10.hana.ondemand.com ist, benötigen Sie eu10 . |
Weitere Informationen zu diesen Anmeldeinformationen finden Sie in der SAP Commerce Dokumentation.
Verbinden von SAP Commerce mit Experience Platform mithilfe der Flow Service-API
Im Folgenden werden die Schritte beschrieben, die Sie ausführen müssen, um Ihre SAP Commerce zu authentifizieren, eine Quellverbindung zu erstellen und einen Datenfluss zu erstellen, um Ihre Konto- und Kontaktdaten an Experience Platform zu senden.
Erstellen einer Basisverbindung
Bei einer Basisverbindung werden Informationen zwischen Ihrer Quelle und Experience Platform gespeichert, einschließlich der Authentifizierungsdaten Ihrer Quelle, des aktuellen Verbindungsstatus und Ihrer eindeutigen ID der Basisverbindung. Mit der Kennung der Basisverbindung können Sie Dateien aus Ihrer Quelle heraus analysieren und darin navigieren und die spezifischen Elemente identifizieren, die Sie erfassen möchten, einschließlich Informationen zu ihren Datentypen und Formaten.
Um eine Basisverbindungs-ID zu erstellen, stellen Sie eine POST-Anfrage an den /connections
-Endpunkt und geben Sie dabei Ihre SAP Commerce Authentifizierungsdaten als Teil des Anfragetexts an.
API-Format
POST /connections
Anfrage
Die folgende Anfrage erstellt eine Basisverbindung für SAP Commerce:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/connections' \
-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": "SAP Commerce base connection",
"description": "Authenticated base connection for SAP Commerce",
"connectionSpec": {
"id": "d8ee38de-7ae9-4058-9610-c79ce75f8e92",
"version": "1.0"
},
"auth": {
"specName": "OAuth2 Client Credential",
"params": {
"region": "{REGION}",
"clientId": "{CLIENT_ID}",
"clientSecret": "{CLIENT_SECRET}"
"tokenEndpoint": "{TOKEN_ENDPOINT}"
}
}
}'
name
description
connectionSpec.id
auth.specName
auth.params.region
url
und hat einen ähnlichen Wert wie eu10
oder us10
. Wenn die url
beispielsweise https://subscriptionbilling.authentication.eu10.hana.ondemand.com
ist, benötigen Sie eu10
.auth.params.clientId
clientId
aus dem Service-Schlüssel.auth.params.clientSecret
clientSecret
aus dem Service-Schlüssel.auth.params.tokenEndpoint
url
aus dem Service-Schlüssel ähnelt https://subscriptionbilling.authentication.eu10.hana.ondemand.com
.Antwort
Eine erfolgreiche Antwort gibt die neu erstellte Basisverbindung zurück, einschließlich ihrer eindeutigen Verbindungskennung (id
). Diese ID ist erforderlich, um die Dateistruktur und Inhalte Ihrer Quelle im nächsten Schritt zu untersuchen.
{
"id": "5f6d6022-3f64-400c-ba01-d4010de2d8ff",
"etag": "\"f8018de1-0000-0200-0000-6482d7210000\""
}
Durchsuchen der Quelle
Sobald Sie Ihre Basisverbindungs-ID haben, können Sie jetzt den Inhalt und die Struktur Ihrer Quelldaten untersuchen, indem Sie eine GET-Anfrage an den /connections
-Endpunkt ausführen und dabei Ihre Basisverbindungs-ID als Abfrageparameter angeben.
API-Format
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}
Bei der Durchführung von GET-Anfragen zur Analyse der Dateistruktur und des Inhalts Ihrer Quelle müssen Sie die in der folgenden Tabelle aufgeführten Abfrageparameter einbeziehen:
{BASE_CONNECTION_ID}
objectType=rest
rest
festgelegt.{OBJECT}
json
.fileType=json
json
der einzige unterstützte Dateityp.{PREVIEW}
{SOURCE_PARAMS}
Definiert Parameter für die Quelldatei, die an Experience Platform übermittelt werden soll. Um den akzeptierten Formattyp für {SOURCE_PARAMS}
abzurufen, müssen Sie die gesamte Zeichenfolge in base64 kodieren.
SAP Commerce unterstützt mehrere APIs. Je nachdem, welchen Objekttyp Sie verwenden, übergeben Sie einen der folgenden :
customers
contacts
Die SAP Commerce-Quelle unterstützt mehrere APIs. Je nachdem, welchen Objekttyp Sie nutzen, wird die Anfrage wie folgt gesendet:
Für SAP Commerce Kunden-API wird der Wert für {SOURCE_PARAMS}
als {"object_type":"customers"}
übergeben. Bei Kodierung in base64 entspricht dies eyJvYmplY3RfdHlwZSI6ImN1c3RvbWVycyJ9
wie unten dargestellt.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/f5421911-6f6c-41c7-aafa-5d9d2ce51535/explore?objectType=rest&object=json&fileType=json&preview=true&sourceParams=eyJvYmplY3RfdHlwZSI6ImN1c3RvbWVycyJ9' \
-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}'
Eine erfolgreiche Antwort gibt eine JSON-Struktur wie die folgende zurück:
{
"format": "hierarchical",
"schema": {
"type": "object",
"properties": {
"personalInfo": {
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
}
},
"addresses": {
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"phone": {
"type": "string"
},
"city": {
"type": "string"
},
"street": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"addressUUID": {
"type": "string"
},
"houseNumber": {
"type": "string"
},
"additionalAddressInfo": {
"type": "string"
},
"state": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
},
"customerNumber": {
"type": "string"
},
"corporateInfo": {
"type": "object",
"properties": {}
},
"customReferences": {
"type": "array",
"items": {
"type": "object",
"properties": {}
}
},
"externalObjectReferences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"externalSystemId": {
"type": "string"
},
"externalId": {
"type": "string"
},
"externalIdTypeCode": {
"type": "string"
}
}
}
},
"createdAt": {
"type": "string"
},
"customerType": {
"type": "string"
},
"markets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"salesArea": {
"type": "object",
"properties": {
"division": {
"type": "string"
},
"distributionChannel": {
"type": "string"
},
"salesOrganization": {
"type": "string"
}
}
},
"priceType": {
"type": "string"
},
"active": {
"type": "boolean"
},
"currency": {
"type": "string"
},
"marketId": {
"type": "string"
}
}
}
},
"createdBy": {
"type": "string"
},
"changedBy": {
"type": "string"
},
"changedAt": {
"type": "string"
},
"defaultAddress": {
"type": "object",
"properties": {
"country": {
"type": "string"
},
"isDefault": {
"type": "boolean"
},
"phone": {
"type": "string"
},
"city": {
"type": "string"
},
"street": {
"type": "string"
},
"postalCode": {
"type": "string"
},
"addressUUID": {
"type": "string"
},
"houseNumber": {
"type": "string"
},
"additionalAddressInfo": {
"type": "string"
},
"state": {
"type": "string"
},
"email": {
"type": "string"
}
}
}
}
},
"data": [
{
"personalInfo": {
"firstName": "Test 1",
"lastName": "User 1"
},
"addresses": [
{
"email": "user1@test.com",
"phone": "123456890",
"houseNumber": "123",
"city": "New Orleans",
"state": "LA",
"postalCode": "700089",
"country": "US",
"addressUUID": "ff871221-ab48-435c-b1f5-903db1c3cea2",
"isDefault": true
}
],
"customerNumber": "2863620303",
"externalObjectReferences": [
{
"externalSystemId": "t090000",
"externalId": "1324566",
"externalIdTypeCode": "201"
}
],
"createdAt": "2023-05-31T06:39:28.499Z",
"customerType": "INDIVIDUAL",
"markets": [
{
"marketId": "US",
"active": true,
"currency": "USD",
"country": "US",
"salesArea": {
"salesOrganization": "SE10",
"distributionChannel": "00",
"division": "00"
},
"priceType": "Net"
}
],
"createdBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"changedBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"changedAt": "2023-05-31T06:39:28.499Z",
"defaultAddress": {
"email": "user1@test.com",
"phone": "123456890",
"houseNumber": "123",
"city": "New Orleans",
"state": "LA",
"postalCode": "700089",
"country": "US",
"addressUUID": "ff871221-ab48-435c-b1f5-903db1c3cea2",
"isDefault": true
}
},
{
"personalInfo": {
"firstName": "Test 2",
"lastName": "User 2"
},
"addresses": [
{
"email": "user2@test.com",
"phone": "1234567899",
"houseNumber": "876",
"city": "New Orleans",
"state": "LA",
"postalCode": "700089",
"country": "US",
"addressUUID": "1cd039aa-5b86-4e46-8e37-9ef263332c6b",
"isDefault": true
}
],
"customerNumber": "6776445404",
"externalObjectReferences": [
{
"externalSystemId": "t089999",
"externalId": "1324565",
"externalIdTypeCode": "201"
}
],
"createdAt": "2023-05-31T06:39:28.142Z",
"customerType": "INDIVIDUAL",
"markets": [
{
"marketId": "US",
"active": true,
"currency": "USD",
"country": "US",
"salesArea": {
"salesOrganization": "SE10",
"distributionChannel": "00",
"division": "00"
},
"priceType": "Net"
}
],
"createdBy": "sb-subscription-billing!b123456|revenue-cloud!b12345",
"changedBy": "sb-subscription-billing!b123456|revenue-cloud!b12345",
"changedAt": "2023-05-31T06:39:28.142Z",
"defaultAddress": {
"email": "user2@test.com",
"phone": "1234567899",
"houseNumber": "876",
"city": "New Orleans",
"state": "LA",
"postalCode": "700089",
"country": "US",
"addressUUID": "1cd039aa-5b86-4e46-8e37-9ef263332c6b",
"isDefault": true
}
}
]
}
Für SAP Commerce Kontakte-API wird der Wert für {SOURCE_PARAMS}
als {"object_type":"contacts"}
übergeben. Bei Kodierung in base64 entspricht dies eyJvYmplY3RfdHlwZSI6ImNvbnRhY3RzIn0=
wie unten dargestellt.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/f5421911-6f6c-41c7-aafa-5d9d2ce51535/explore?objectType=rest&object=json&fileType=json&preview=true&sourceParams=eyJvYmplY3RfdHlwZSI6ImNvbnRhY3RzIn0=' \
-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}'
Eine erfolgreiche Antwort gibt eine JSON-Struktur wie die folgende zurück:
{
"format": "hierarchical",
"schema": {
"type": "object",
"properties": {
"externalObjectReferences": {
"type": "array",
"items": {
"type": "object",
"properties": {}
}
},
"personalInfo": {
"type": "object",
"properties": {
"firstName": {
"type": "string"
},
"lastName": {
"type": "string"
}
}
},
"createdAt": {
"type": "string"
},
"createdBy": {
"type": "string"
},
"changedBy": {
"type": "string"
},
"contactNumber": {
"type": "string"
},
"changedAt": {
"type": "string"
}
}
},
"data": [
{
"personalInfo": {
"firstName": "Test 1",
"lastName": "User 1"
},
"createdAt": "2023-05-31T13:33:52.689Z",
"createdBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"changedBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"contactNumber": "4365374130",
"changedAt": "2023-05-31T13:33:52.689Z"
},
{
"personalInfo": {
"firstName": "Test 2",
"lastName": "User 2"
},
"createdAt": "2023-05-31T13:33:52.37Z",
"createdBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"changedBy": "sb-subscription-billing!b123456|revenue-cloud!b1234",
"contactNumber": "4075431868",
"changedAt": "2023-05-31T13:33:52.37Z"
}
]
}
Erstellen einer Quellverbindung
Sie können eine Quellverbindung erstellen, indem Sie eine POST-Anfrage an den /sourceConnections
-Endpunkt der Flow Service-API senden. Eine Quellverbindung besteht aus einer Verbindungs-ID, einem Pfad zur Quelldatendatei und einer Verbindungsspezifikations-ID.
API-Format
POST /sourceConnections
Je nachdem, welchen Objekttyp Sie verwenden, wählen Sie aus den folgenden Registerkarten:
Die folgende Anfrage erstellt eine Quellverbindung für SAP Commerce Kundendaten:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-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": "SAP Commerce Source Connection",
"description": "SAP Commerce Source Connection",
"baseConnectionId": "f5421911-6f6c-41c7-aafa-5d9d2ce51535",
"connectionSpec": {
"id": "63d2b27b-69a5-45c9-a7fe-78148a25de3c",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"object_type": "customers"
}
}'
name
description
baseConnectionId
connectionSpec.id
data.format
json
unterstützt.object_type
object_type
auf customers
gesetzt werden.path
object_type
auswählen.Eine erfolgreiche Antwort gibt die eindeutige Kennung (id
) der neu erstellten Quellverbindung zurück. Diese ID ist in einem späteren Schritt erforderlich, um einen Datenfluss zu erstellen.
{
"id": "8f1fc72a-f562-4a1d-8597-85b5ca1b1cd3",
"etag": "\"ed05f1e1-0000-0200-0000-6368b8710000\""
}
Die folgende Anfrage erstellt eine Quellverbindung für SAP Commerce Kontaktdaten:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
-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": "SAP Commerce Source Connection",
"description": "SAP Commerce Source Connection",
"baseConnectionId": "f5421911-6f6c-41c7-aafa-5d9d2ce51535",
"connectionSpec": {
"id": "63d2b27b-69a5-45c9-a7fe-78148a25de3c",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"object_type": "contacts"
}
}'
name
description
baseConnectionId
connectionSpec.id
data.format
json
unterstützt.object_type
object_type
auf contacts
gesetzt werden.path
object_type
auswählen.Eine erfolgreiche Antwort gibt die eindeutige Kennung (id
) der neu erstellten Quellverbindung zurück. Diese ID ist in einem späteren Schritt erforderlich, um einen Datenfluss zu erstellen.
{
"id": "8f1fc72a-f562-4a1d-8597-85b5ca1b1cd3",
"etag": "\"ed05f1e1-0000-0200-0000-6368b8710000\""
}
Erstellen eines XDM-Zielschemas
Damit die Quelldaten in Experience Platform verwendet werden können, muss ein Zielschema erstellt werden, das die Quelldaten entsprechend Ihren Anforderungen strukturiert. Das Zielschema wird dann verwendet, um einen Experience Platform-Datensatz zu erstellen, in dem die Quelldaten enthalten sind.
Ein Ziel-XDM-Schema kann erstellt werden, indem eine POST-Anfrage an die Schema-Registrierungs-API durchgeführt wird.
Ausführliche Schritte zum Erstellen eines XDM-Zielschemas finden Sie im Tutorial zum Erstellen eines Schemas mithilfe der API.
Erstellen eines Zieldatensatzes
Ein Zieldatensatz kann erstellt werden, indem eine POST-Anfrage an die Catalog Service API durchgeführt wird, wodurch die ID des Zielschemas in der Payload angegeben wird.
Ausführliche Anweisungen zum Erstellen eines Zieldatensatzes finden Sie im Tutorial zu Erstellen eines Datensatzes mithilfe der API.
Erstellen einer Zielverbindung
Eine Zielverbindung stellt die Verbindung zum Ziel dar, an dem die aufgenommenen Daten gespeichert werden sollen. Um eine Zielverbindung zu erstellen, müssen Sie die feste Verbindungsspezifikations-ID angeben, die dem Data Lake entspricht. Diese ID lautet: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
Sie verfügen jetzt über die eindeutigen Kennungen, ein Zielschema, einen Zieldatensatz und die Verbindungsspezifikations-ID zum Data Lake. Anhand dieser Kennungen können Sie mit der Flow Service-API eine Zielverbindung erstellen, um den Datensatz anzugeben, der die eingehenden Quelldaten enthalten wird.
API-Format
POST /targetConnections
Anfrage
Die folgende Anfrage erstellt eine Zielverbindung für SAP Commerce:
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/targetConnections' \
-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": "SAP Commerce Target Connection Generic Rest",
"description": "SAP Commerce Target Connection Generic Rest",
"connectionSpec": {
"id": "c604ff05-7f1a-43c0-8e18-33bf874cb11c",
"version": "1.0"
},
"data": {
"format": "parquet_xdm",
"schema": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/325fd5394ba421246b05c0a3c2cd5efeec2131058a63d473",
"version": "1.2"
}
},
"params": {
"dataSetId": "645923cd7aeeea1c06c5e92e"
}
}'
name
description
connectionSpec.id
6b137bf6-d2a0-48c8-914b-d50f4942eb85
.data.format
params.dataSetId
Antwort
Eine erfolgreiche Antwort gibt die eindeutige Kennung der neuen Zielverbindung an (id
). Diese ID ist in späteren Schritten erforderlich.
{
"id": "5b72a4b6-2fb8-4ca7-8ad8-4114a3063c5c",
"etag": "\"db00c6dc-0000-0200-0000-6482d8280000\""
}
Erstellen einer Zuordnung
Damit die Quelldaten in einen Zieldatensatz aufgenommen werden können, müssen sie zunächst dem Zielschema zugeordnet werden, zu dem der Zieldatensatz gehört. Dies wird durch eine POST-Anfrage an Data Prep API mit Datenzuordnungen erreicht, die in der Anfrage-Payload definiert sind.
API-Format
POST /conversion/mappingSets
Die folgende Anfrage erstellt eine Zuordnung für SAP Commerce Kunden-API-Daten
curl -X POST \
'https://platform.adobe.io/data/foundation/conversion/mappingSets' \
-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 '{
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/b156e6f818f923e048199173c45e55e20fd2487f5eb03d22",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "customerNumber",
"destination": "_extconndev.customerNumber"
},
{
"sourceType": "ATTRIBUTE",
"source": "customerType",
"destination": "_extconndev.customerType"
},
{
"sourceType": "ATTRIBUTE",
"source": "changedAt",
"destination": "_extconndev.changedAt"
},
{
"sourceType": "ATTRIBUTE",
"source": "addresses[*].email",
"destination": "_extconndev.addresses[*].email"
},
{
"sourceType": "ATTRIBUTE",
"source": "addresses[*].city",
"destination": "_extconndev.addresses[*].city"
},
{
"sourceType": "ATTRIBUTE",
"source": "addresses[*].addressUUID",
"destination": "_extconndev.addresses[*].addressUUID"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalSystemId",
"destination": "_extconndev.externalObjectReferences[*].externalSystemId"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalId",
"destination": "_extconndev.externalObjectReferences[*].externalId"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalIdTypeCode",
"destination": "_extconndev.externalObjectReferences[*].externalIdTypeCode"
},
{
"sourceType": "ATTRIBUTE",
"source": "customReferences[*].id",
"destination": "_extconndev.customReferences[*].id"
},
{
"sourceType": "ATTRIBUTE",
"source": "customReferences[*].typeCode",
"destination": "_extconndev.customReferences[*].typeCode"
}
],
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/325fd5394ba421246b05c0a3c2cd5efeec2131058a63d473",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
}
}'
outputSchema.schemaRef.id
mappings.sourceType
mappings.source
mappings.destination
Eine erfolgreiche Antwort gibt Details zur neu erstellten Zuordnung an, einschließlich der eindeutigen Kennung (id
). Dieser Wert ist in einem späteren Schritt zum Erstellen eines Datenflusses erforderlich.
{
"id": "ddf0592bcc9d4ac391803f15f2429f87",
"version": 0,
"createdDate": 1597784069368,
"modifiedDate": 1597784069368,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Die folgende Anfrage erstellt eine Zuordnung für SAP Commerce Kontakte-API-Daten
curl -X POST \
'https://platform.adobe.io/data/foundation/conversion/mappingSets' \
-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 '{
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/b156e6f818f923e048199173c45e55e20fd2487f5eb03d22",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
},
"mappings": [
{
"sourceType": "ATTRIBUTE",
"source": "contactNumber",
"destination": "_extconndev.contactNumber"
},
{
"sourceType": "ATTRIBUTE",
"source": "createdAt",
"destination": "_extconndev.createdAt"
},
{
"sourceType": "ATTRIBUTE",
"source": "changedAt",
"destination": "_extconndev.changedAt"
},
{
"sourceType": "ATTRIBUTE",
"source": "personalInfo.lastName",
"destination": "_extconndev.personalInfo.lastName"
},
{
"sourceType": "ATTRIBUTE",
"source": "personalInfo.firstName",
"destination": "_extconndev.personalInfo.firstName"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectRefereneces[*].externalSystemId",
"destination": "_extconndev.externalObjectReferences[*].externalSystemId"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalId",
"destination": "_extconndev.externalObjectReferences[*].externalId"
},
{
"sourceType": "ATTRIBUTE",
"source": "externalObjectReferences[*].externalIdTypeCode",
"destination": "_extconndev.externalObjectReferences[*].externalIdTypeCode"
}
],
"outputSchema": {
"schemaRef": {
"id": "https://ns.adobe.com/extconndev/schemas/325fd5394ba421246b05c0a3c2cd5efeec2131058a63d473",
"contentType": "application/vnd.adobe.xed-full+json;version=1"
}
}
}'
outputSchema.schemaRef.id
mappings.sourceType
mappings.source
mappings.destination
Eine erfolgreiche Antwort gibt Details zur neu erstellten Zuordnung an, einschließlich der eindeutigen Kennung (id
). Dieser Wert ist in einem späteren Schritt zum Erstellen eines Datenflusses erforderlich.
{
"id": "ddf0592bcc9d4ac391803f15f2429f87",
"version": 0,
"createdDate": 1597784069368,
"modifiedDate": 1597784069368,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Erstellen eines Flusses
Der letzte Schritt, um Daten von SAP Commerce an Experience Platform zu senden, besteht darin, einen Datenfluss zu erstellen. Bislang haben Sie die folgenden erforderlichen Werte vorbereitet:
Ein Datenfluss ist für die Planung und Erfassung von Daten aus einer Quelle verantwortlich. Sie können einen Datenfluss erstellen, indem Sie eine POST-Anfrage ausführen und dabei die oben genannten Werte in der Payload angeben.
API-Format
POST /flows
Anfrage
curl -X POST \
'https://platform.adobe.io/data/foundation/flowservice/flows' \
-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": "SAP Commerce Connector Description Flow Generic Rest",
"description": "SAP Commerce Connector Description Flow Generic Rest",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"2ef2e831-f4f1-4363-a0f7-08b4ea347164"
],
"targetConnectionIds": [
"5b72a4b6-2fb8-4ca7-8ad8-4114a3063c5c"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "ddf0592bcc9d4ac391803f15f2429f87",
"mappingVersion": "0"
}
}
],
"scheduleParams": {
"startTime": "1625040887",
"frequency": "once",
}
}'
name
description
flowSpec.id
6499120c-0b15-42dc-936e-847ea3c24d72
.flowSpec.version
1.0
festgelegt.sourceConnectionIds
targetConnectionIds
transformations
transformations.name
transformations.params.mappingId
transformations.params.mappingVersion
0
festgelegt.scheduleParams.startTime
scheduleParams.frequency
scheduleParams.interval
Antwort
Bei einer erfolgreichen Antwort wird die ID (id
) des neu erstellten Datenflusses angegeben. Mit dieser ID können Sie Ihren Datenfluss überwachen, aktualisieren oder löschen.
{
"id": "fcd16140-81b4-422a-8f9a-eaa92796c4f4",
"etag": "\"9200a171-0000-0200-0000-6368c1da0000\""
}
Anhang
Im folgenden Abschnitt finden Sie Informationen zu den Schritten, die Sie zum Überwachen, Aktualisieren und Löschen Ihres Datenflusses durchführen können.
Überwachen Ihres Datenflusses
Nachdem Ihr Datenfluss erstellt wurde, können Sie die Datenaufnahme überwachen, um Informationen über die Datenflussausführungen, den Abschlussstatus und Fehler anzuzeigen. Vollständige API-Beispiele finden Sie im Handbuch unter Überwachen Ihrer Quelldatenflüsse mithilfe der API.
Aktualisieren des Datenflusses
Aktualisieren Sie die Details Ihres Datenflusses, z. B. seinen Namen und seine Beschreibung, sowie seinen Ausführungsplan und die zugehörigen Zuordnungssätze, indem Sie eine PATCH-Anfrage an den /flows
-Endpunkt Flow Service -API stellen und dabei die ID Ihres Datenflusses angeben. Bei einer PATCH-Anfrage müssen Sie die eindeutige etag
Ihres Datenflusses in der If-Match
-Kopfzeile angeben. Vollständige API-Beispiele finden Sie im Handbuch unter Aktualisieren von Quelldatenflüssen mithilfe der API.
Konto aktualisieren
Aktualisieren Sie den Namen, die Beschreibung und die Anmeldeinformationen Ihres Quellkontos, indem Sie eine PATCH-Anfrage an die Flow Service-API durchführen und dabei Ihre Basisverbindungs-ID als Abfrageparameter angeben. Bei einer PATCH-Anfrage müssen Sie die eindeutige etag
Ihres Quellkontos in der If-Match
-Kopfzeile angeben. Vollständige API-Beispiele finden Sie im Handbuch unter Aktualisieren Ihres Quellkontos mithilfe der API.
Löschen des Datenflusses
Löschen Sie Ihren Datenfluss, indem Sie eine DELETE-Anfrage an die Flow Service-API stellen und dabei die ID des Datenflusses angeben, den Sie als Teil des Abfrageparameters löschen möchten. Vollständige API-Beispiele finden Sie im Handbuch unter Löschen Ihrer Datenflüsse mithilfe der API.
Konto löschen
Löschen Sie Ihr Konto, indem Sie eine DELETE-Anfrage an die Flow Service-API mit Angabe der Basisverbindungs-ID des Kontos ausführen, das Sie löschen möchten. Vollständige API-Beispiele finden Sie im Handbuch unter Löschen Ihres Quellkontos mithilfe der API.