Anslut Microsoft Dynamics till Experience Platform med API:t Flow Service

Läs den här vägledningen när du vill veta hur du kan ansluta din Microsoft Dynamics-källa till Adobe Experience Platform med Flow Service API.

Kom igång

Handboken kräver en fungerande förståelse av följande komponenter i Adobe 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.

Använda Experience Platform API:er

Information om hur du kan anropa Experience Platform API:er finns i guiden Komma igång med Experience Platform API:er.

I följande avsnitt finns ytterligare information som du behöver känna till för att kunna ansluta Experience Platform till ett Dynamics-konto med API:t Flow Service.

Samla in nödvändiga inloggningsuppgifter

För att Flow Service ska kunna ansluta till Dynamics måste du ange värden för följande anslutningsegenskaper:

Grundläggande autentisering
table 0-row-2 1-row-2 2-row-2 3-row-2
Autentiseringsuppgifter Beskrivning
serviceUri Tjänst-URL:en för din Dynamics-instans.
username Användarnamnet för ditt Dynamics-användarkonto.
password Lösenordet för ditt Dynamics-konto.
Tjänstens huvudnamn och nyckelautentisering
table 0-row-2 1-row-2 2-row-2
Autentiseringsuppgifter Beskrivning
servicePrincipalId Klient-ID för ditt Dynamics-konto. Detta ID krävs när tjänstens huvudnamn och nyckelbaserad autentisering används.
servicePrincipalKey Tjänstens hemliga huvudnyckel. Denna autentiseringsuppgift krävs när tjänstens huvudnamn och nyckelbaserad autentisering används.

Mer information om hur du kommer igång finns i det här Dynamics dokumentet.

Skapa en basanslutning

TIP
När du väl har skapat den kan du inte ändra autentiseringstypen för en Dynamics-basanslutning. Om du vill ändra autentiseringstypen måste du skapa en ny basanslutning.

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 skickar du en POST-begäran till /connections-slutpunkten och anger dina Dynamics-autentiseringsuppgifter som en del av parametrarna för begäran.

API-format

POST /connections
Grundläggande autentisering

Om du vill skapa en Dynamics-basanslutning med grundläggande autentisering gör du en POST-begäran till Flow Service-API:t och anger värden för din anslutnings serviceUri, username och password.

Begäran

Följande begäran skapar en basanslutning för en Dynamics-källa med grundläggande autentisering.

accordion
Markera för att visa ett exempel på en begäran
code language-shell
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": "Dynamics connection",
      "description": "Dynamics connection using basic auth",
      "auth": {
          "specName": "Basic Authentication for Dynamics-Online",
          "params": {
              "serviceUri": "{SERVICE_URI}",
              "username": "{USERNAME}",
              "password": "{PASSWORD}"
          }
      },
      "connectionSpec": {
          "id": "38ad80fe-8b06-4938-94f4-d4ee80266b07",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
Egenskap Beskrivning
auth.params.serviceUri Den tjänst-URI som är associerad med din Dynamics-instans.
auth.params.username Användarnamnet som är associerat med ditt Dynamics-konto.
auth.params.password Lösenordet som är kopplat till ditt Dynamics-konto.
connectionSpec.id Anslutningsspecifikations-ID Dynamics: 38ad80fe-8b06-4938-94f4-d4ee80266b07

Svar

Ett svar returnerar den nyskapade basanslutningen, inklusive dess unika identifierare (id).

accordion
Markera för att visa svarsexempel
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"9e0052a2-0000-0200-0000-5e35tb330000\""
}
Huvudnyckelbaserad autentisering för tjänst

Om du vill skapa en Dynamics-basanslutning med huvudnyckelbaserad autentisering skapar du en POST-begäran till Flow Service-API:t och anger värden för serviceUri, servicePrincipalId och servicePrincipalKey för anslutningen.

Begäran

Följande begäran skapar en basanslutning för en Dynamics-källa med grundläggande nyckelbaserad autentisering av tjänstens huvudnyckel.

accordion
Markera för att visa ett exempel på en begäran
code language-shell
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": "Dynamics connection",
      "description": "Dynamics connection using key-based authentication",
      "auth": {
          "specName": "Service Principal Key Based Authentication",
          "params": {
              "serviceUri": "{SERVICE_URI}",
              "servicePrincipalId": "{SERVICE_PRINCIPAL_ID}",
              "servicePrincipalKey": "{SERVICE_PRINCIPAL_KEY}"
          }
      },
      "connectionSpec": {
          "id": "38ad80fe-8b06-4938-94f4-d4ee80266b07",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2
Egenskap Beskrivning
auth.params.serviceUri Den tjänst-URI som är associerad med din Dynamics-instans.
auth.params.servicePrincipalId Klient-ID för ditt Dynamics-konto. Detta ID krävs när tjänstens huvudnamn och nyckelbaserad autentisering används.
auth.params.servicePrincipalKey Tjänstens hemliga huvudnyckel. Denna autentiseringsuppgift krävs när tjänstens huvudnamn och nyckelbaserad autentisering används.
connectionSpec.id Anslutningsspecifikations-ID Dynamics: 38ad80fe-8b06-4938-94f4-d4ee80266b07

Svar

Ett svar returnerar den nyligen skapade anslutningen, inklusive dess unika identifierare (id).

accordion
Markera för att visa svarsexempel
code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"9e0052a2-0000-0200-0000-5e35tb330000\""
}

Utforska era datatabeller

Om du vill utforska dina Dynamics-datatabeller skickar du en GET-begäran till /connections/{BASE_CONNECTION_ID}/explore-slutpunkten och anger ditt grundläggande anslutnings-ID som en del av frågeparametrarna.

API-format

GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
Frågeparametrar
Beskrivning
{BASE_CONNECTION_ID}
ID för basanslutningen. Använd det här ID:t för att utforska källans innehåll och struktur.

Begäran

Följande begäran hämtar listan med tillgängliga tabeller och vyer för en Dynamics-källa med basanslutnings-ID: dd668808-25da-493f-8782-f3433b976d1e.

Markera för att visa ett exempel på en begäran
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connections/dd668808-25da-493f-8782-f3433b976d1e/explore?objectType=root' \
  -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' \

Svar

Ett lyckat svar returnerar katalogen Dynamics för tabeller och vyer på rotnivån.

Markera för att visa svarsexempel
code language-json
[
    {
        "type": "table",
        "name": "systemuserlicenses",
        "path": "systemuserlicenses",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "table",
        "name": "Process Dependency",
        "path": "workflowdependency",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "view",
        "name": "accountView1",
        "path": "accountView1",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "view",
        "name": "Inactive_ACC_custom",
        "path": "Inactive_ACC_custom",
        "canPreview": true,
        "canFetchSchema": true
    }
]

Använd primärnyckeln för att optimera datautforskandet

NOTE
Du kan bara använda attribut som inte är sökbara när du använder primärnyckeln för optimering.

Du kan optimera utforska frågor genom att ange primaryKey som en del av dina frågeparametrar. Du måste ange primärnyckeln för tabellen Dynamics när du inkluderar primaryKey som en frågeparameter.

API-format

GET /connections/{BASE_CONNECTION_ID}/explore?preview=true&object={OBJECT}&objectType={OBJECT_TYPE}&previewCount=10&primaryKey={PRIMARY_KEY}
Frågeparametrar
Beskrivning
{BASE_CONNECTION_ID}
ID för basanslutningen. Använd det här ID:t för att utforska källans innehåll och struktur.
preview
Ett booleskt värde som möjliggör förhandsgranskning av data.
{OBJECT}
Det Dynamics-objekt som du vill utforska.
{OBJECT_TYPE}
Objektets typ.
previewCount
En begränsning som begränsar den returnerade förhandsvisningen till ett visst antal poster.
{PRIMARY_KEY}
Primärnyckeln för tabellen som du hämtar för förhandsgranskning.

Begäran

Markera för att visa ett exempel på en begäran
code language-shell
curl -X GET \
  'https://platform-stage.adobe.io/data/foundation/flowservice/connections/dd668808-25da-493f-8782-f3433b976d1e/explore?preview=true&object=lead&objectType=table&previewCount=10&primaryKey=leadid' \
  -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' \

Inspektera strukturen i en tabell

Om du vill inspektera strukturen för en viss tabell gör du en GET-begäran till /connections/{BASE_CONNECTION_ID}/explore och anger sökvägen till den specifika tabellen som en frågeparameter.

API-format

GET /connections/{BASE_CONNECTION_ID}/explore?object={TABLE_PATH}&objectType=table
Frågeparameter
Beskrivning
{BASE_CONNECTION_ID}
ID för basanslutningen. Använd det här ID:t för att utforska källans innehåll och struktur.
{TABLE_PATH}
Sökvägen till den tabell som du vill utforska.

Begäran

Följande begäran hämtar strukturen och innehållet i en Dynamics-tabell med sökvägen workflowdependency.

Markera för att visa ett exempel på en begäran
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connections/dd668808-25da-493f-8782-f3433b976d1e/explore?object=workflowdependency&objectType=table' \
  -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' \

Svar

Ett godkänt svar returnerar innehållet i sökvägen workflowdependency.

Markera för att visa svarsexempel
code language-json
{
    "format": "flat",
    "schema": {
        "columns": [
            {
                "name": "first_name",
                "type": "string",
                "meta": {
                    "originalType": "String"
                }
            },
            {
                "name": "last_name",
                "type": "string",
                "meta": {
                    "originalType": "String"
                }
            },
            {
                "name": "email",
                "type": "string",
                "meta": {
                    "originalType": "String"
                }
            }
        ]
    }
}

Granska strukturen för en vy

I Dynamics refererar en vy till de kolumner som ska visas, bredden på varje kolumn, standardsystemet där en lista med poster sorteras och standardfiltren som används för att begränsa vilka poster som ska visas i listan.

Om du vill inspektera strukturen för en vy gör du en GET-förfrågan till /connections/{BASE_CONNECTION_ID}/explore och anger visningssökvägen i frågeparametrarna. Dessutom måste du ange objectType som view.

API-format

GET /connections/{BASE_CONNECTION_ID}/explore?object={VIEW_PATH}&objectType=view
Frågeparameter
Beskrivning
{BASE_CONNECTION_ID}
ID för basanslutningen. Använd det här ID:t för att utforska källans innehåll och struktur.
{VIEW_PATH}
Sökvägen till den vy som du vill inspektera.

Begäran

Följande begäran hämtar accountView1.

Markera för att visa ett exempel på en begäran
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connections/dd668808-25da-493f-8782-f3433b976d1e/explore?object=accountView1&objectType=view' \
  -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' \

Svar

Ett lyckat svar returnerar strukturen för accountView1.

Markera för att visa svarsexempel
code language-json
{
    "format": "flat",
    "schema": {
        "columns": [
            {
                "name": "name",
                "type": "string",
                "meta": {
                    "originalType": "string"
                },
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "fetchxml",
                "type": "string",
                "meta": {
                    "originalType": "string"
                },
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "querytype",
                "type": "integer",
                "meta": {
                    "originalType": "int"
                },
                "xdm": {
                    "type": "integer",
                    "minimum": -2147483648,
                    "maximum": 2147483647
                }
            },
            {
                "name": "userqueryid",
                "type": "string",
                "meta": {
                    "originalType": "guid"
                },
                "xdm": {
                    "type": "string"
                }
            }
        ]
    }
}

Förhandsgranska entitetstypvy

Om du vill förhandsgranska innehållet i en vy skickar du en GET-begäran till /connections/{BASE_CONNECTION_ID}/explore och tar med vysökvägen samt preview=true i frågeparametrarna.

API-format

GET /connections/{BASE_CONNECTION_ID}/explore?object={VIEW_PATH}&preview=true&objectType=view
Frågeparameter
Beskrivning
{BASE_CONNECTION_ID}
ID för basanslutningen. Använd det här ID:t för att utforska källans innehåll och struktur.
{VIEW_PATH}
Sökvägen till den vy som du vill inspektera.

Begäran

Följande begäran förhandsgranskar innehållet i accountView1.

Markera för att visa ett exempel på en begäran
code language-shell
curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connections/dd668808-25da-493f-8782-f3433b976d1e/explore?object=accountView1&preview=true&objectType=view' \
  -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' \

Svar

Ett godkänt svar returnerar innehållet i accountView1.

Markera för att visa svarsexempel
code language-json
{
    "format": "flat",
    "schema": {
        "columns": [
            {
                "name": "emailaddress1",
                "type": "string",
                "meta": {
                    "originalType": "string"
                },
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "contactid",
                "type": "string",
                "meta": {
                    "originalType": "guid"
                },
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "fullname",
                "type": "string",
                "meta": {
                    "originalType": "string"
                },
                "xdm": {
                    "type": "string"
                }
            }
        ]
    },
    "data": [
        {
            "contactid": "396e19de-0852-ec11-8c62-00224808a1df",
            "fullname": "Tim Barr",
            "emailaddress1": "barrtim@googlemedia.com"
        }
    ]
}

Skapa en källanslutning till importvyn

Om du vill skapa en källanslutning och importera en vy gör du en POST-begäran till /sourceConnections-slutpunkten, anger tabellnamnet och anger entityType as view i begärandetexten.

API-format

POST /sourceConnections

Begäran

Följande begäran skapar en Dynamics-källanslutning och importerar vyer.

Markera för att visa ett exempel på en begäran
code language-shell
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": "Dynamics Source Connection",
      "description": "Dynamics Source Connection",
      "baseConnectionId": "dd668808-25da-493f-8782-f3433b976d1e",
      "data": {
          "format": "tabular",
          "schema": null,
          "properties": null
      },
      "params": {
          "tableName": "Contacts with name TIM",
          "entityType": "view"
      },
      "connectionSpec": {
          "id": "38ad80fe-8b06-4938-94f4-d4ee80266b07",
          "version": "1.0"
      }
  }'

Svar

Ett lyckat svar returnerar det nyligen genererade källanslutnings-ID:t och dess motsvarande tagg.

Markera för att visa svarsexempel
code language-json
{
    "id": "e566bab3-1b58-428c-b751-86b8cc79a3b4",
    "etag": "\"82009592-0000-0200-0000-678121030000\""
}

Använd primärnyckeln för att optimera dataflödet

Du kan även optimera dataflödet för Dynamics genom att ange primärnyckeln som en del av textparametrarna för din begäran.

API-format

POST /sourceConnections

Begäran

Följande begäran skapar en Dynamics-källanslutning när primärnyckeln anges som contactid.

Markera för att visa ett exempel på en begäran
code language-shell
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": "Dynamics Source Connection",
      "description": "Dynamics Source Connection",
      "baseConnectionId": "dd668808-25da-493f-8782-f3433b976d1e",
      "data": {
          "format": "tabular"
      },
      "params": {
          "tableName": "contact",
          "primaryKey": "contactid"
      },
      "connectionSpec": {
          "id": "38ad80fe-8b06-4938-94f4-d4ee80266b07",
          "version": "1.0"
      }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2
Egenskap Beskrivning
baseConnectionId ID för basanslutningen.
data.format Dataformatet.
params.tableName Namnet på tabellen i Dynamics.
params.primaryKey Primärnyckeln för tabellen som optimerar frågor.
connectionSpec.id Anslutningens spec-ID som motsvarar källan Dynamics.

Svar

Ett lyckat svar returnerar det nyligen genererade källanslutnings-ID:t och dess motsvarande tagg.

Markera för att visa svarsexempel
code language-json
{
    "id": "e566bab3-1b58-428c-b751-86b8cc79a3b4",
    "etag": "\"82009592-0000-0200-0000-678121030000\""
}

Nästa steg

Genom att följa den här självstudiekursen har du skapat en Microsoft Dynamics-basanslutning med API:t Flow Service. Du kan använda detta grundläggande anslutnings-ID i följande självstudier:

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089