(Beta) Skapa en källanslutning och ett dataflöde för SugarCRM Events med API:t för Flow Service
I följande självstudiekurs får du hjälp med att skapa en SugarCRM Events-källanslutning och skapa ett dataflöde för att överföra SugarCRM händelsedata till Adobe Experience Platform med hjälp av Flow Service API.
Komma igång
Handboken kräver en fungerande förståelse av följande komponenter i Experience Platform:
- Källor: Med Experience Platform kan data hämtas från olika källor samtidigt som du kan strukturera, etikettera och förbättra inkommande data med hjälp av Experience Platform-tjänster.
- Sandlådor: Experience Platform tillhandahåller virtuella sandlådor som partitionerar en enda Experience Platform-instans till separata virtuella miljöer för att utveckla och utveckla program för digitala upplevelser.
I följande avsnitt finns ytterligare information som du behöver känna till för att kunna ansluta till SugarCRM med API:t Flow Service.
Samla in nödvändiga inloggningsuppgifter
För att kunna ansluta SugarCRM Events till Experience Platform måste du ange värden för följande anslutningsegenskaper:
hostdeveloper.salesfusion.comusernameabc.def@example.com@sugarmarketdemo000.compassword123456789Anslut SugarCRM Events till Experience Platform med API:t Flow Service
Följande beskriver de steg som du måste utföra för att autentisera SugarCRM-källan, skapa en källanslutning och skapa ett dataflöde för att överföra händelsedata till Experience Platform.
Skapa en basanslutning base-connection
En basanslutning bevarar information mellan källan och Experience Platform, inklusive autentiseringsuppgifter för källan, anslutningens aktuella tillstånd och ditt unika basanslutnings-ID. Med det grundläggande anslutnings-ID:t kan du utforska och navigera bland filer inifrån källan och identifiera de specifika objekt som du vill importera, inklusive information om deras datatyper och format.
Om du vill skapa ett basanslutnings-ID skapar du en POST-begäran till /connections-slutpunkten och anger dina SugarCRM Events-autentiseringsuppgifter som en del av begärandetexten.
API-format
POST /connections
Begäran
Följande begäran skapar en basanslutning för SugarCRM Events:
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 Events base connection",
"description": "Create a live inbound connection to your SugarCRM Events 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}"
}
}
}'
namedescriptionconnectionSpec.idauth.specNameauth.params.hostauth.params.usernameauth.params.passwordSvar
Ett svar returnerar den nyskapade basanslutningen, inklusive dess unika anslutnings-ID (id). Detta ID krävs för att undersöka källans filstruktur och innehåll i nästa steg.
{
"id": "f5421911-6f6c-41c7-aafa-5d9d2ce51535",
"etag": "\"4d08164f-0000-0200-0000-6368b7bf0000\""
}
Utforska din källa explore
Med det grundläggande anslutnings-ID som du skapade i det föregående steget kan du utforska filer och kataloger genom att utföra GET-begäranden.
Använd följande anrop för att hitta sökvägen till filen som du vill hämta till Experience Platform:
API-format
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}
När du utför GET-förfrågningar om källans filstruktur och innehåll måste du inkludera de frågeparametrar som anges i tabellen nedan:
{BASE_CONNECTION_ID}objectType=restrest.{OBJECT}json.fileType=jsonjson den enda filtypen som stöds.{PREVIEW}{SOURCE_PARAMS}{SOURCE_PARAMS} måste du koda hela strängen i base64.SugarCRM Events kräver ingen nyttolast. Värdet för
{SOURCE_PARAMS} skickas som {}, kodat i base64 och motsvarar e30= enligt nedan.Begäran
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=e30=' \
-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}'
Svar
Ett lyckat svar returnerar strukturen för den efterfrågade filen. Vissa poster har tagits bort för att ge en bättre presentation.
{
"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": {
"sessions": {
"type": "string"
},
"description": {
"type": "string"
},
"created_by": {
"type": "string"
},
"event_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"name": {
"type": "string"
},
"updated_by": {
"type": "string"
},
"updated_by_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"updated_date": {
"type": "string"
},
"created_date": {
"type": "string"
},
"created_by_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"event": {
"type": "string"
},
"folder_id": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"status": {
"type": "string"
}
}
},
"page_size": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
}
}
},
"data": [
{
"next": "https://developer.salesfusion.com/api/2.0/events/?date_field=updated_date&page=2",
"page_number": 1,
"total_count": 532,
"count": 532,
"results": {
"event_id": 1,
"event": "https://developer.salesfusion.com/api/2.0/events/1/",
"sessions": "https://developer.salesfusion.com/api/2.0/events/1/sessions/",
"name": "Test",
"updated_date": "2022-08-30T11:20:11.813Z",
"updated_by_id": 59,
"updated_by": "https://developer.salesfusion.com/api/2.0/users/59/",
"created_date": "2022-08-28T23:40:11Z",
"created_by_id": 59,
"created_by": "https://developer.salesfusion.com/api/2.0/users/59/",
"status": "Draft",
"folder_id": 2
},
"page_size": 100
},
{
"next": "https://developer.salesfusion.com/api/2.0/events/?date_field=updated_date&page=2",
"page_number": 1,
"total_count": 532,
"count": 532,
"results": {
"event_id": 2,
"event": "https://developer.salesfusion.com/api/2.0/events/2/",
"sessions": "https://developer.salesfusion.com/api/2.0/events/2/sessions/",
"name": "Infy Event",
"description": "Test Event",
"updated_date": "2022-09-15T16:26:43.697Z",
"updated_by_id": 59,
"updated_by": "https://developer.salesfusion.com/api/2.0/users/59/",
"created_date": "2022-09-27T23:40:11Z",
"created_by_id": 59,
"created_by": "https://developer.salesfusion.com/api/2.0/users/59/",
"status": "Active",
"folder_id": 2
},
"page_size": 100
},
{
"next": "https://developer.salesfusion.com/api/2.0/events/?date_field=updated_date&page=2",
"page_number": 1,
"total_count": 532,
"count": 532,
"results": {
"event_id": 3,
"event": "https://developer.salesfusion.com/api/2.0/events/3/",
"sessions": "https://developer.salesfusion.com/api/2.0/events/3/sessions/",
"name": "Infy Workshop 1",
"updated_date": "2022-10-11T18:12:28.767Z",
"updated_by_id": 59,
"updated_by": "https://developer.salesfusion.com/api/2.0/users/59/",
"created_date": "2022-09-14T23:40:11Z",
"created_by_id": 59,
"created_by": "https://developer.salesfusion.com/api/2.0/users/59/",
"status": "Active",
"folder_id": 2
},
"page_size": 100
}
]
}
Skapa en källanslutning source-connection
Du kan skapa en källanslutning genom att göra en POST-begäran till API:t Flow Service. En källanslutning består av ett anslutnings-ID, en sökväg till källdatafilen och ett anslutnings-spec-ID.
API-format
POST /sourceConnections
Begäran
Följande begäran skapar en källanslutning för SugarCRM Events:
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": {
}
}'
namedescriptionbaseConnectionIdconnectionSpec.iddata.formatjson.Svar
Ett lyckat svar returnerar den unika identifieraren (id) för den nyligen skapade källanslutningen. Detta ID krävs i ett senare steg för att skapa ett dataflöde.
{
"id": "ffac1ae1-c137-4133-9f8d-0279468c11c9",
"etag": "\"ed05abc3-0000-0200-0000-6368b3280000\""
}
Skapa ett mål-XDM-schema target-schema
För att källdata ska kunna användas i Experience Platform måste ett målschema skapas för att strukturera källdata efter dina behov. Målschemat används sedan för att skapa en Experience Platform-datauppsättning där källdata finns.
Ett mål-XDM-schema kan skapas genom att en POST-begäran till schemats register-API utförs.
Detaljerade steg om hur du skapar ett mål-XDM-schema finns i självstudiekursen Skapa ett schema med API:t.
Skapa en måldatauppsättning target-dataset
En måldatauppsättning kan skapas genom att en POST-begäran till katalogtjänstens API utförs, med ID:t för målschemat i nyttolasten.
Detaljerade steg om hur du skapar en måldatauppsättning finns i självstudiekursen Skapa en datauppsättning med API:t.
Skapa en målanslutning target-connection
En målanslutning representerar anslutningen till målet där inmatade data ska lagras. Om du vill skapa en målanslutning måste du ange det fasta anslutningsspecifikations-ID som motsvarar datasjön. Detta ID är: c604ff05-7f1a-43c0-8e18-33bf874cb11c.
Nu har du de unika identifierarna ett målschema, en måldatamängd och ett anslutningsspec-ID till datasjön. Med hjälp av dessa identifierare kan du skapa en målanslutning med API:t Flow Service för att ange den datauppsättning som ska innehålla inkommande källdata.
API-format
POST /targetConnections
Begäran
Följande begäran skapar en målanslutning för SugarCRM Events:
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"
}
}'
namedescriptionconnectionSpec.id6b137bf6-d2a0-48c8-914b-d50f4942eb85.data.formatparams.dataSetIdSvar
Ett svar returnerar den nya målanslutningens unika identifierare (id). Detta ID krävs i senare steg.
{
"id": "dfe9113e-be98-4d63-80a9-f41761721049",
"etag": "\"84050267-0000-0200-0000-6368b3640000\""
}
Skapa en mappning mapping
För att källdata ska kunna hämtas till en måldatamängd måste den först mappas till målschemat som måldatamängden följer. Detta uppnås genom att utföra en POST-begäran till Data Prep API med datamappningar definierade i nyttolasten för begäran.
API-format
POST /conversion/mappingSets
Begäran
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.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.name",
"destination": "_extconndev.name_event"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.event_id",
"destination": "_extconndev.id_event"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.event_id",
"destination": "_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.sessions",
"destination": "_extconndev.sessions"
},
{
"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"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.updated_date",
"destination": "timestamp"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.event",
"destination": "_extconndev.event"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.description",
"destination": "_extconndev.description"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.folder_id",
"destination": "_extconndev.folder_id"
},
{
"sourceType": "ATTRIBUTE",
"source": "results.status",
"destination": "_extconndev.status"
}
]
}'
outputSchema.schemaRef.idmappings.sourceTypemappings.sourcemappings.destinationSvar
Ett lyckat svar returnerar information om den nyligen skapade mappningen inklusive dess unika identifierare (id). Detta värde krävs i ett senare steg för att skapa ett dataflöde.
{
"id": "d3845beaceeb49669228973f5f937f89",
"version": 0,
"createdDate": 1597784069368,
"modifiedDate": 1597784069368,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
Skapa ett flöde flow
Det sista steget mot att överföra data från SugarCRM Events till Experience Platform är att skapa ett dataflöde. Nu har du förberett följande obligatoriska värden:
Ett dataflöde ansvarar för att schemalägga och samla in data från en källa. Du kan skapa ett dataflöde genom att utföra en POST-begäran samtidigt som du anger de tidigare nämnda värdena i nyttolasten.
Om du vill schemalägga ett intag måste du först ange starttidsvärdet till epok time i sekunder. Sedan måste du ange frekvensvärdet till hour eller day. Intervallvärdet anger perioden mellan två på varandra följande inmatningar. Intervallvärdet ska anges som 1 eller 24 beroende på scheduleParams.frequency val av antingen hour eller day.
API-format
POST /flows
Begäran
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": "d3845beaceeb49669228973f5f937f89",
"mappingVersion": "0"
}
}
],
"scheduleParams": {
"startTime": "1625040887",
"frequency": "hour",
"interval": 1
}
}'
namedescriptionflowSpec.id6499120c-0b15-42dc-936e-847ea3c24d72.flowSpec.version1.0.sourceConnectionIdstargetConnectionIdstransformationstransformations.nametransformations.params.mappingIdtransformations.params.mappingVersion0.scheduleParams.startTimescheduleParams.frequencyhour eller day.scheduleParams.interval1 eller 24 beroende på scheduleParams.frequency val av antingen hour eller day.Svar
Ett lyckat svar returnerar ID:t (id) för det nyskapade dataflödet. Du kan använda det här ID:t för att övervaka, uppdatera eller ta bort dataflödet.
{
"id": "fcd16140-81b4-422a-8f9a-eaa92796c4f4",
"etag": "\"9200a171-0000-0200-0000-6368c1da0000\""
}
Bilaga
Följande avsnitt innehåller information om hur du övervakar, uppdaterar och tar bort dataflödet.
Övervaka dataflödet
När dataflödet har skapats kan du övervaka de data som importeras genom det för att se information om flödeskörningar, slutförandestatus och fel. Fullständiga API-exempel finns i handboken om att övervaka källans dataflöden med API:t.
Uppdatera ditt dataflöde
Uppdatera informationen om dataflödet, till exempel namn och beskrivning, samt körningsschema och associerade mappningsuppsättningar genom att göra en PATCH-begäran till /flows-slutpunkten för Flow Service API, samtidigt som du anger ID:t för dataflödet. När du gör en PATCH-begäran måste du ange dataflödets unika etag i rubriken If-Match. Fullständiga API-exempel finns i handboken om att uppdatera källkodsdataflöden med API
Uppdatera ditt konto
Uppdatera namn, beskrivning och autentiseringsuppgifter för källkontot genom att utföra en PATCH-begäran till Flow Service-API:t och ange ditt grundläggande anslutnings-ID som en frågeparameter. När du gör en PATCH-begäran måste du ange källkontots unika etag i rubriken If-Match. Fullständiga API-exempel finns i handboken Uppdatera ditt källkonto med API.
Ta bort ditt dataflöde
Ta bort dataflödet genom att utföra en DELETE-begäran till Flow Service-API:t och ange ID:t för det dataflöde som du vill ta bort som en del av frågeparametern. Fullständiga API-exempel finns i guiden om att ta bort dataflöden med API:t.
Ta bort ditt konto
Ta bort ditt konto genom att utföra en DELETE-begäran till Flow Service-API:t och ange det grundläggande anslutnings-ID:t för kontot som du vill ta bort. Fullständiga API-exempel finns i guiden om att ta bort ditt källkonto med API.