Explore an advertising system using the Flow Service API

With a base connection created, you can now use the unique base connection ID to navigate and explore your source’s data structure and contents. This allows you to identify the specific items, and their respective data types and formats, before creating a dataflow and bringing them over to Adobe Experience Platform.

This tutorial uses the Flow Service API to explore advertising systems.

Getting started

IMPORTANT
This tutorial requires you to have the unique base connection ID for your advertising source. If you do not have this ID, see the tutorial on connecting an advertising source to Platform tutorial.

This guide requires a working understanding of the following components of Adobe Experience Platform:

  • Sources: Experience Platform allows data to be ingested from various sources while providing you with the ability to structure, label, and enhance incoming data using Platform services.
  • Sandboxes: Experience Platform provides virtual sandboxes which partition a single Platform instance into separate virtual environments to help develop and evolve digital experience applications.

The following sections provide additional information that you will need to know in order to successfully connect to an advertising system using the Flow Service API.

Using Platform APIs

For information on how to successfully make calls to Platform APIs, see the guide on getting started with Platform APIs.

Explore your data tables

Using the base connection for your advertising system, you can explore your data tables by performing GET requests. Use the following call to find the path of the table you wish to inspect or ingest into Platform.

API format

GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
Parameter
Description
{BASE_CONNECTION_ID}
The ID of the base connection for your advertising system.

Request

curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connections/2484f2df-c057-4ab5-84f2-dfc0577ab592/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}'

Response

A successful response is an array of tables from to your advertising system. Find the table you wish to bring into Platform and take note of its path property, as you are required to provide it in the next step to inspect its structure.

[
    {
        "type": "table",
        "name": "v201809.ACCOUNT_PERFORMANCE_REPORT",
        "path": "v201809.ACCOUNT_PERFORMANCE_REPORT",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "table",
        "name": "v201809.ADGROUP_PERFORMANCE_REPORT",
        "path": "v201809.ADGROUP_PERFORMANCE_REPORT",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "table",
        "name": "v201809.AD_CUSTOMIZERS_FEED_ITEM_REPORT",
        "path": "v201809.AD_CUSTOMIZERS_FEED_ITEM_REPORT",
        "canPreview": true,
        "canFetchSchema": true
    },
    {
        "type": "table",
        "name": "v201809.AD_PERFORMANCE_REPORT",
        "path": "v201809.AD_PERFORMANCE_REPORT",
        "canPreview": true,
        "canFetchSchema": true
    }
]

Inspect the structure of a table

To inspect the structure of a table from your advertising system, perform a GET request while specifying the path of a table as a query parameter.

API format

GET /connections/{BASE_CONNECTION_ID}/explore?objectType=table&object={TABLE_PATH}
Parameter
Description
{BASE_CONNECTION_ID}
The connection ID for your advertising system.
{TABLE_PATH}
The path of a table within your advertising system.

Request

curl -X GET \
    'https://platform.adobe.io/data/foundation/flowservice/connections/2484f2df-c057-4ab5-84f2-dfc0577ab592/explore?objectType=table&object=v201809.AD_PERFORMANCE_REPORT' \
    -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}'

Response

A successful response returns the structure of a table. Details regarding each of the table’s columns are located within elements of the columns array.

{
    "format": "flat",
    "schema": {
        "columns": [
            {
                "name": "CallOnlyPhoneNumber",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "AdGroupId",
                "type": "long",
                "xdm": {
                    "type": "integer",
                    "minimum": -9007199254740992,
                    "maximum": 9007199254740991
                }
            },
            {
                "name": "AdGroupName",
                "type": "string",
                "xdm": {
                    "type": "string"
                }
            },
            {
                "name": "Date",
                "type": "string",
                "meta:xdmType": "date-time",
                "xdm": {
                    "type": "string",
                    "format": "date-time"
                }
            },
        ]
    }
}

Next steps

By following this tutorial, you have explored your advertising system, found the path of the table you wish to bring in to Platform, and obtained information regarding its structure. You can use this information in the next tutorial to collect data from your advertising system and bring it into Platform.

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