Erstellen einer Quellverbindung und eines Datenflusses für SugarCRM Accounts & Contacts mithilfe der Flow Service-API
Erstellt für:
- Entwickler
Das folgende Tutorial führt Sie durch die Schritte zum Erstellen einer SugarCRM Accounts & Contacts-Quellverbindung und zum Erstellen eines Datenflusses, um SugarCRM- und Kontaktdaten mithilfe der Flow Service API an Adobe Experience Platform zu übertragen.
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 Platform-Services zu strukturieren, zu kennzeichnen und anzureichern.
- 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 benötigen, um mithilfe der Flow Service-API eine Verbindung zu SugarCRM herstellen zu können.
Sammeln erforderlicher Anmeldedaten
Um eine Verbindung zwischen SugarCRM Accounts & Contacts und Platform herzustellen, müssen Sie Werte für die folgenden Verbindungseigenschaften angeben:
Anmeldedaten | Beschreibung | Beispiel |
---|---|---|
host | Der SugarCRM-API-Endpunkt, mit dem sich die Quelle verbindet. | developer.salesfusion.com |
username | Benutzername Ihres SugarCRM-Entwicklerkontos. | abc.def@example.com@sugarmarketdemo000.com |
password | Ihr SugarCRM-Entwicklerkonto-Passwort. | 123456789 |
Verbinden von SugarCRM Accounts & Contacts mit Platform mithilfe der Flow Service-API
Im Folgenden werden die Schritte beschrieben, die Sie ausführen müssen, um Ihre SugarCRM zu authentifizieren, eine Quellverbindung zu erstellen und einen Datenfluss zu erstellen, um Ihre Konto- und Kontaktdaten auf Experience Platform zu bringen.
Erstellen einer Basisverbindung
Bei einer Basisverbindung werden Informationen zwischen Ihrer Quelle und Platform gespeichert, einschließlich der Authentifizierungs-Anmeldedaten Ihrer Quelle, des aktuellen Verbindungsstatus und Ihrer eindeutigen Kennung 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 SugarCRM Accounts & Contacts Authentifizierungsdaten als Teil des Anfragetexts an.
API-Format
POST /connections
Anfrage
Die folgende Anfrage erstellt eine Basisverbindung für SugarCRM Accounts & Contacts:
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": "SugarCRM Accounts & Contacts base connection",
"description": "Create a live inbound connection to your SugarCRM Accounts & Contacts instance, to ingest both historic and scheduled data into Experience Platform",
"connectionSpec": {
"id": "59a4b493-a615-40f9-bd38-f823d0909a2b",
"version": "1.0"
},
"auth": {
"specName": "OAuth2 Refresh Code",
"params": {
"host": "developer.salesfusion.com",
"username": "{SUGARCRM_DEVELOPER_ACCOUNT_USERNAME}",
"password": "{SUGARCRM_DEVELOPER_ACCOUNT_PASSWORD}"
}
}
}'
name
description
connectionSpec.id
auth.specName
auth.params.host
auth.params.username
auth.params.password
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": "f5421911-6f6c-41c7-aafa-5d9d2ce51535",
"etag": "\"4d08164f-0000-0200-0000-6368b7bf0000\""
}
Durchsuchen der Quelle
Mithilfe der im vorherigen Schritt generierten Basisverbindungs-ID können Sie Dateien und Ordner untersuchen, indem Sie GET-Anfragen ausführen.
Verwenden Sie die folgenden Aufrufe, um den Pfad der Datei zu finden, die Sie in Platform importieren möchten:
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 Platform übermittelt werden soll. Um den akzeptierten Formattyp für {SOURCE_PARAMS}
abzurufen, müssen Sie die gesamte Zeichenfolge in base64 kodieren.
SugarCRM Accounts & Contacts unterstützt mehrere APIs. Je nachdem, welchen Objekttyp Sie verwenden, übergeben Sie einen der folgenden :
accounts
: Unternehmen, zu denen Ihre Organisation eine Beziehung hat.contacts
: Einzelne Personen, mit denen Ihre Organisation eine bestehende Beziehung hat.
Die SugarCRM Accounts & Contacts unterstützt mehrere APIs. Je nachdem, welchen Objekttyp Sie nutzen, wird die Anfrage wie folgt gesendet:
Anfrage
Für SugarCRM Konto-API wird der Wert für {SOURCE_PARAMS}
als {"object_type":"accounts"}
übergeben. Bei Kodierung in base64 entspricht dies eyJvYmplY3RfdHlwZSI6ImFjY291bnRzIn0=
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=eyJvYmplY3RfdHlwZSI6ImFjY291bnRzIn0=' \
-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}'
Für SugarCRM 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}'
Antwort
Je nachdem, welchen Objekttyp Sie verwenden, wird die erhaltene Antwort wie folgt aussehen:
Eine erfolgreiche Antwort gibt eine Struktur wie unten gezeigt zurück.
{
"format": "hierarchical",
"schema": {
"type": "object",
"properties": {
"next": {
"type": "string"
},
"page_number": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"previous": {},
"total_count": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"count": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"results": {
"type": "object",
"properties": {
"owner": {
"type": "string"
},
"key_account": {
"type": "boolean"
},
"owner_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"custom_score_field": {
"type": "string"
},
"created_by": {
"type": "string"
},
"billing_city": {
"type": "string"
},
"account_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"phone": {
"type": "string"
},
"account_name": {
"type": "string"
},
"updated_by": {
"type": "string"
},
"updated_by_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"created_date": {
"type": "string"
},
"updated_date": {
"type": "string"
},
"created_by_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"account_score": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"account": {
"type": "string"
},
"contacts": {
"type": "string"
}
}
},
"page_size": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
}
}
},
"data": [
{
"next": "https://developer.salesfusion.com/api/2.0/accounts/?date_field=updated_date&page=2",
"page_number": 1,
"total_count": 101148,
"count": 101148,
"results": {
"account_id": 1,
"account": "https://developer.salesfusion.com/api/2.0/accounts/1/",
"account_name": "No Company",
"owner_id": 1,
"owner": "https://developer.salesfusion.com/api/2.0/users/1/",
"created_date": "2022-06-22T23:35:00Z",
"created_by": "https://developer.salesfusion.com/api/2.0/users/1/",
"updated_date": "2019-08-29T15:18:00Z",
"updated_by": "https://developer.salesfusion.com/api/2.0/users/1/",
"contacts": "https://developer.salesfusion.com/api/2.0/accounts/1/contacts/",
"created_by_id": 1,
"updated_by_id": 1,
"custom_score_field": "0",
"account_score": 0,
"key_account": false
},
"page_size": 100
},
{
"next": "https://developer.salesfusion.com/api/2.0/accounts/?date_field=updated_date&page=2",
"page_number": 1,
"total_count": 101148,
"count": 101148,
"results": {
"account_id": 2,
"account": "https://developer.salesfusion.com/api/2.0/accounts/2/",
"account_name": "360 Vacations",
"owner_id": 45,
"owner": "https://developer.salesfusion.com/api/2.0/users/45/",
"phone": "+1 - 384 - 735 - 3844",
"created_date": "2022-09-22T23:35:00Z",
"created_by": "https://developer.salesfusion.com/api/2.0/users/45/",
"updated_date": "2022-02-03T21:55:00Z",
"updated_by": "https://developer.salesfusion.com/api/2.0/users/45/",
"billing_city": "New York City",
"contacts": "https://developer.salesfusion.com/api/2.0/accounts/2/contacts/",
"created_by_id": 45,
"updated_by_id": 45,
"custom_score_field": "0",
"account_score": 0,
"key_account": false
},
"page_size": 100
},
{
"next": "https://developer.salesfusion.com/api/2.0/accounts/?date_field=updated_date&page=2",
"page_number": 1,
"total_count": 101148,
"count": 101148,
"results": {
"account_id": 50,
"account": "https://developer.salesfusion.com/api/2.0/accounts/50/",
"account_name": "Waverly Trading House",
"owner_id": 40,
"owner": "https://developer.salesfusion.com/api/2.0/users/40/",
"phone": "+1 - 964 - 226 - 4552",
"created_date": "2022-09-18T23:35:00Z",
"created_by": "https://developer.salesfusion.com/api/2.0/users/40/",
"updated_date": "2022-02-03T21:55:00Z",
"updated_by": "https://developer.salesfusion.com/api/2.0/users/40/",
"billing_city": "Minneapolis",
"contacts": "https://developer.salesfusion.com/api/2.0/accounts/50/contacts/",
"created_by_id": 40,
"updated_by_id": 40,
"custom_score_field": "0",
"account_score": 0,
"key_account": false
},
"page_size": 100
}
]
}
Eine erfolgreiche Antwort gibt eine Struktur wie unten gezeigt zurück.
{
"format": "hierarchical",
"schema": {
"type": "object",
"properties": {
"next": {
"type": "string"
},
"page_number": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"previous": {},
"total_count": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"count": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"results": {
"type": "object",
"properties": {
"opt_out": {
"type": "string"
},
"custom_score_field": {
"type": "string"
},
"contact_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"title": {
"type": "string"
},
"deleted_date": {},
"contact": {
"type": "string"
},
"account_name": {
"type": "string"
},
"first_name": {
"type": "string"
},
"del_date": {},
"email": {
"type": "string"
},
"delivered_date": {},
"owner": {
"type": "string"
},
"owner_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"created_by": {
"type": "string"
},
"account_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"opt_out_date": {},
"phone": {
"type": "string"
},
"crm_id": {
"type": "string"
},
"crm_type": {
"type": "string"
},
"updated_by": {
"type": "string"
},
"updated_by_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"deliverability_status": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"deliverability_message": {},
"created_date": {
"type": "string"
},
"updated_date": {
"type": "string"
},
"created_by_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"account": {
"type": "string"
},
"status": {
"type": "string"
}
}
},
"page_size": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
}
}
},
"data": [
{
"next": "https://developer.salesfusion.com/api/2.0/contacts/?date_field=updated_date&page=2",
"page_number": 1,
"total_count": 135704,
"count": 135704,
"results": {
"contact_id": 1,
"contact": "https://developer.salesfusion.com/api/2.0/contacts/1/",
"first_name": "Cynthia",
"last_name": "Rose",
"phone": "+1 - 000 - 000 - 000",
"email": "test.user@hotmail.com",
"account_id": 10,
"account_name": "Sunyvale Reporting Ltd",
"account": "https://developer.salesfusion.com/api/2.0/accounts/10/",
"owner_name": "Sarah Smith",
"owner": "https://developer.salesfusion.com/api/2.0/users/41/",
"created_date": "2022-06-23T23:35:00Z",
"created_by": "https://developer.salesfusion.com/api/2.0/users/41/",
"updated_date": "2022-02-03T21:55:00Z",
"updated_by": "https://developer.salesfusion.com/api/2.0/users/41/",
"created_by_id": 41,
"updated_by_id": 41,
"crm_id": "f53c3982-84ea-11ec-874a-06a1e215b98e",
"opt_out": "N",
"crm_type": "Lead",
"status": "Assigned",
"title": "Director Operations",
"custom_score_field": "0",
"deliverability_status": 0
},
"page_size": 100
},
{
"next": "https://developer.salesfusion.com/api/2.0/contacts/?date_field=updated_date&page=2",
"page_number": 1,
"total_count": 135704,
"count": 135704,
"results": {
"contact_id": 2,
"contact": "https://developer.salesfusion.com/api/2.0/contacts/2/",
"email": "test.user@outlook.com",
"created_date": "2022-06-21T23:35:00Z",
"updated_date": "2022-02-03T21:55:00Z",
"opt_out": "N",
"crm_type": "Contact",
"deliverability_status": 0
},
"page_size": 100
},
{
"next": "https://developer.salesfusion.com/api/2.0/contacts/?date_field=updated_date&page=2",
"page_number": 1,
"total_count": 135704,
"count": 135704,
"results": {
"contact_id": 3,
"contact": "https://developer.salesfusion.com/api/2.0/contacts/3/",
"first_name": "Jonathan",
"last_name": "Ryan",
"phone": "+1 - 000 - 000 - 0000",
"email": "test.user@yahoo.com",
"account_id": 52,
"account_name": "Q3 ARVRO III PR",
"account": "https://developer.salesfusion.com/api/2.0/accounts/52/",
"owner_name": "Max Jensen",
"owner": "https://developer.salesfusion.com/api/2.0/users/45/",
"created_date": "2022-07-02T23:35:00Z",
"created_by": "https://developer.salesfusion.com/api/2.0/users/45/",
"updated_date": "2022-02-03T21:55:00Z",
"updated_by": "https://developer.salesfusion.com/api/2.0/users/45/",
"created_by_id": 45,
"updated_by_id": 45,
"crm_id": "f54a1840-84ea-11ec-9546-06a1e215b98e",
"opt_out": "N",
"crm_type": "Lead",
"status": "New",
"title": "Director Sales",
"custom_score_field": "0",
"deliverability_status": 0
},
"page_size": 100
]
}
Erstellen einer Quellverbindung
Sie können eine Quellverbindung herstellen, indem Sie eine POST-Anfrage an die Flow Service-API senden. Eine Quellverbindung besteht aus einer Verbindungs-ID, einem Pfad zur Quelldatendatei und einer Verbindungsspezifikations-ID.
API-Format
POST /sourceConnections
Anfrage
Die folgende Anfrage erstellt eine Quellverbindung für SugarCRM Accounts & Contacts:
Je nachdem, welchen Objekttyp Sie verwenden, wählen Sie aus den folgenden Registerkarten:
Für SugarCRM Konto-API sollte der Wert der object_type
-Eigenschaft accounts
sein.
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": "SugarCRM Source Connection",
"description": "SugarCRM Source Connection",
"baseConnectionId": "f5421911-6f6c-41c7-aafa-5d9d2ce51535",
"connectionSpec": {
"id": "63d2b27b-69a5-45c9-a7fe-78148a25de3c",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"object_type": "accounts",
"path": "accounts"
}
}'
Für SugarCRM Kontakte-API sollte der Wert der object_type
-Eigenschaft contacts
sein.
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": "SugarCRM Source Connection",
"description": "SugarCRM 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",
"path": "contacts"
}
}'
name
description
baseConnectionId
connectionSpec.id
data.format
json
unterstützt.object_type
SugarCRM Accounts & Contacts unterstützt mehrere APIs. Je nachdem, welchen Objekttyp Sie verwenden, übergeben Sie einen der folgenden :
accounts
: Unternehmen, zu denen Ihre Organisation eine Beziehung hat.contacts
: Einzelne Personen, mit denen Ihre Organisation eine bestehende Beziehung hat.
path
object_type
auswählen.Antwort
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 Platform verwendet werden können, muss ein Zielschema erstellt werden, das die Quelldaten entsprechend Ihren Anforderungen strukturiert. Das Zielschema wird dann verwendet, um einen 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 SugarCRM Accounts & Contacts:
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": "SugarCRM Target Connection Generic Rest",
"description": "SugarCRM Target Connection Generic Rest",
"connectionSpec": {
"id": "63d2b27b-69a5-45c9-a7fe-78148a25de3c",
"version": "1.0"
},
"data": {
"format": "parquet_xdm",
"schema": {
"id": "https://ns.adobe.com/{TENANT_ID}/schemas/b156e6f818f923e048199173c45e55e20fd2487f5eb03d22",
"version": "1.22"
}
},
"params": {
"dataSetId": "6365389d1d37d01c077a81da"
}
}'
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": "6b137bf6-d2a0-48c8-914b-d50f4942eb85",
"etag": "\"8405a268-0000-0200-0000-6368b8c30000\""
}
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
Anfrage
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": "results.account",
"destination": "_extconndev.account"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.account_id",
"destination": "_extconndev.account_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.acount_name",
"destination": "_extconndev.account_name"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.account_score",
"destination": "_extconndev.account_score"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.billing_city",
"destination": "_extconndev.billing_city"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.contacts",
"destination": "_extconndev.contacts"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.created_by",
"destination": "_extconndev.created_by"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.created_by_id",
"destination": "_extconndev.created_by_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.created_date",
"destination": "_extconndev.created_date"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.custom_score_field",
"destination": "_extconndev.custom_score_field"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.key_account",
"destination": "_extconndev.key_account"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.owner",
"destination": "_extconndev.owner"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.owner_id",
"destination": "_extconndev.owner_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.phone",
"destination": "_extconndev.phone_no"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.updated_by",
"destination": "_extconndev.updated_by"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.updated_by_id",
"destination": "_extconndev.updated_by_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.updated_date",
"destination": "_extconndev.updated_date"
}
]
}'
outputSchema.schemaRef.id
mappings.sourceType
mappings.source
mappings.destination
Antwort
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": "059c69f7207b4d7e9b48c47e2fd966a6",
"version": 0,
"createdDate": 1597784069368,
"modifiedDate": 1597784069368,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Erstellen eines Flusses
Der letzte Schritt, um Daten von SugarCRM Accounts & Contacts an Platform zu übertragen, 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.
Um eine Aufnahme zu planen, legen Sie zunächst den Startzeitwert auf die Epochenzeit in Sekunden fest. Anschließend müssen Sie den Häufigkeitswert auf hour
oder day
festlegen. Der Intervallwert bezeichnet den Zeitraum zwischen zwei aufeinander folgenden Aufnahmen. Der Intervallwert sollte auf 1
oder 24
festgelegt werden, je nach scheduleParams.frequency
Auswahl von hour
oder day
.
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": "SugarCRM Connector Description Flow Generic Rest",
"description": "SugarCRM Connector Description Flow Generic Rest",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"8f1fc72a-f562-4a1d-8597-85b5ca1b1cd3"
],
"targetConnectionIds": [
"6b137bf6-d2a0-48c8-914b-d50f4942eb85"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "059c69f7207b4d7e9b48c47e2fd966a6",
"mappingVersion": "0"
}
}
],
"scheduleParams": {
"startTime": "1625040887",
"frequency": "hour",
"interval": 1
}
}'
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
hour
oder day
.scheduleParams.interval
1
oder 24
festgelegt werden, je nach scheduleParams.frequency
Auswahl von hour
oder day
.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 DELETE, indem Sie eine Kontoanfrage an die Flow Service-API richten und dabei die Basisverbindungs-ID des Kontos angeben, das Sie löschen möchten. Vollständige API-Beispiele finden Sie im Handbuch unter Löschen Ihres Quellkontos mithilfe der API.