The Oracle NetSuite Entities source is in beta. See the sources overview for more information on using beta-labeled sources.
Read the following tutorial to learn how to bring contacts and customer data from your Oracle NetSuite Activities Entities account to Adobe Experience Platform using the Flow Service API.
This guide requires a working understanding of the following components of Experience Platform:
The following sections provide additional information that you will need to know in order to successfully connect to Oracle NetSuite Entities using the Flow Service API.
Read the Oracle NetSuite overview for information on how to retrieve your authentication credentials.
For information on how to successfully make calls to Platform APIs, see the guide on getting started with Platform APIs.
The following outlines the steps you need to make in order to authenticate your Oracle NetSuite Entities source, create a source connection, and create a dataflow to bring your customer and contact data to Experience Platform.
A base connection retains information between your source and Platform, including your source’s authentication credentials, the current state of the connection, and your unique base connection ID. The base connection ID allows you to explore and navigate files from within your source and identify the specific items that you want to ingest, including information regarding their data types and formats.
To create a base connection ID, make a POST request to the /connections
endpoint while providing your Oracle NetSuite Entities authentication credentials as part of the request body.
API format
POST /connections
Request
The following request creates a base connection for Oracle NetSuite Entities:
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": "Oracle NetSuite Entities base connection",
"description": "Authenticated base connection for Oracle NetSuite Entities",
"connectionSpec": {
"id": "fdf850b4-5a8d-4a5a-9ce8-4caef9abb2a8",
"version": "1.0"
},
"auth": {
"specName": "OAuth2 Client Credential",
"params": {
"clientId": "{CLIENT_ID}",
"clientSecret": "{CLIENT_SECRET}"
"accessTokenUrl": "{ACCESS_TOKEN_URL}",
"accessToken": "{ACCESS_TOKEN_URL}"
}
}
}'
Property | Description |
---|---|
name |
The name of your base connection. Ensure that the name of your base connection is descriptive as you can use this to look up information on your base connection. |
description |
An optional value that you can include to provide more information on your base connection. |
connectionSpec.id |
The connection specification ID of your source. This ID can be retrieved after your source is registered and approved through the Flow Service API. |
auth.specName |
The authentication type that you are using to authenticate your source to Platform. |
auth.params.clientId |
The Client ID value when you create the integration record. The process to create an interation record can be found here. The value is a 64 characters string similar to 7fce.....b42f . |
auth.params.clientSecret |
The Client ID value when you create the integration record. The process to create an interation record can be found here. The value is a 64 characters string similar to 5c98.....1b46 . |
auth.params.accessTokenUrl |
The NetSuite Access Token URL, similar to https://{ACCOUNT_ID}.suitetalk.api.netsuite.com/services/rest/auth/oauth2/v1/token where you will replace ACCOUNT_ID with your NetSuite Account ID. |
auth.params.accessToken |
The Access token value is generated at the end of step two of the OAuth 2.0 Authorization Code Grant Flow tutorial. Access tokens expire are valid only for 60 minutes. the value is a 1024 characters string formatted as a JSON Web Token (JWT) similar to eyJr......f4V0 . |
Response
A successful response returns the newly created base connection, including its unique connection identifier (id
). This ID is required to explore your source’s file structure and contents in the next step.
{
"id": "60c81023-99b4-4aae-9c31-472397576dd2",
"etag": "\"fa003785-0000-0200-0000-6555c5310000\""
}
Once you have your base connection ID, you can now exploree the content and structure of your source data by performing a GET request to the /connections
endpoint while providing your base connection ID as a query parameter.
API format
GET /connections/{BASE_CONNECTION_ID}/explore?objectType=rest&object={OBJECT}&fileType={FILE_TYPE}&preview={PREVIEW}&sourceParams={SOURCE_PARAMS}
Request
When performing GET requests to explore your source’s file structure and contents, you must include the query parameters that are listed in the table below:
Parameter | Description |
---|---|
{BASE_CONNECTION_ID} |
The base connection ID generated in the previous step. |
objectType=rest |
The type of object that you wish to explore. Currently, this value is always set to rest . |
{OBJECT} |
This parameter is required only when viewing a specific directory. Its value represents the path of the directory you wish to explore. For this source the value would be json . |
fileType=json |
The file type of the file you want to bring to Platform. Currently, json is the only supported file type. |
{PREVIEW} |
A boolean value that defines whether the contents of the connection supports preview. |
{SOURCE_PARAMS} |
Defines parameters for the source file you want to bring to Platform. To retrieve the accepted format-type for {SOURCE_PARAMS} , you must encode the entire string in base64. Oracle NetSuite Entities supports both customer and contact data retrieval. Depending on which object type you are leveraging, pass one of the below :
|
For Oracle NetSuite Entities, to retrieve contact data the value for {SOURCE_PARAMS}
is passed as {"object_type":"customer"}
. When encoded in base64, it equates to eyAib2JqZWN0X3R5cGUiOiAiY3VzdG9tZXIifQ%3D%3D
as shown below.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/db7a6f4b-3f5d-487c-9a87-83e84df5074c/explore?objectType=rest&object=json&fileType=json&preview=true&sourceParams=eyAib2JqZWN0X3R5cGUiOiAiY3VzdG9tZXIifQ%3D%3D' \
-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}'
For Oracle NetSuite Entities, to retrieve contact data the value for {SOURCE_PARAMS}
is passed as {"object_type":"contact"}
. When encoded in base64, it equates to eyAib2JqZWN0X3R5cGUiOiAiY29udGFjdCJ9
as shown below.
curl -X GET \
'https://platform.adobe.io/data/foundation/flowservice/connections/db7a6f4b-3f5d-487c-9a87-83e84df5074c/explore?objectType=rest&object=json&fileType=json&preview=true&sourceParams=eyAib2JqZWN0X3R5cGUiOiAiY29udGFjdCJ9' \
-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
Similarly, depending on which object type you are leveraging the response received is as below:
Some records have been truncated to allow for a better presentation.
A successful response returns a structure as below.
"format": "hierarchical",
"schema": {
"type": "object",
"properties": {
"totalResults": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"count": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rel": {
"type": "string"
},
"href": {
"type": "string"
}
}
}
},
"items": {
"type": "object",
"properties": {
"isinactive": {
"type": "string"
},
"weblead": {
"type": "string"
},
"emailtransactions": {
"type": "string"
},
"entityid": {
"type": "string"
},
"dateclosed": {
"type": "string"
},
"entitynumber": {
"type": "string"
},
"emailpreference": {
"type": "string"
},
"creditholdoverride": {
"type": "string"
},
"entitystatus": {
"type": "string"
},
"giveaccess": {
"type": "string"
},
"isbudgetapproved": {
"type": "string"
},
"receivablesaccount": {
"type": "string"
},
"shippingcarrier": {
"type": "string"
},
"isperson": {
"type": "string"
},
"balancesearch": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {}
}
},
"currency": {
"type": "string"
},
"overduebalancesearch": {
"type": "string"
},
"id": {
"type": "string"
},
"entitytitle": {
"type": "string"
},
"email": {
"type": "string"
},
"displaysymbol": {
"type": "string"
},
"searchstage": {
"type": "string"
},
"lastmodifieddate": {
"type": "string"
},
"oncredithold": {
"type": "string"
},
"probability": {
"type": "string"
},
"faxtransactions": {
"type": "string"
},
"altname": {
"type": "string"
},
"datecreated": {
"type": "string"
},
"printtransactions": {
"type": "string"
},
"alcoholrecipienttype": {
"type": "string"
},
"overridecurrencyformat": {
"type": "string"
},
"companyname": {
"type": "string"
},
"unbilledorderssearch": {
"type": "string"
},
"shipcomplete": {
"type": "string"
},
"symbolplacement": {
"type": "string"
}
}
}
}
},
"data": [
{
"totalResults": 10,
"offset": 0,
"count": 10,
"hasMore": false,
"links": [
{
"rel": "self",
"href": "https://{ACCOUNT_ID}.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql"
}
],
"items": {
"alcoholrecipienttype": "CONSUMER",
"altname": "Company 1615554322",
"balancesearch": "0",
"companyname": "Company 1615554322",
"creditholdoverride": "AUTO",
"currency": "1",
"dateclosed": "2022-12-15",
"datecreated": "2022-12-15",
"displaysymbol": "£",
"email": "customer3@example.com",
"emailpreference": "DEFAULT",
"emailtransactions": "F",
"entityid": "4",
"entitynumber": "4",
"entitystatus": "13",
"entitytitle": "4 Company 1615554322",
"faxtransactions": "F",
"giveaccess": "F",
"id": "404",
"isbudgetapproved": "F",
"isinactive": "F",
"isperson": "F",
"lastmodifieddate": "2022-12-15",
"oncredithold": "F",
"overduebalancesearch": "0",
"overridecurrencyformat": "F",
"printtransactions": "F",
"probability": "1",
"receivablesaccount": "-10",
"searchstage": "Customer",
"shipcomplete": "F",
"shippingcarrier": "nonups",
"symbolplacement": "1",
"unbilledorderssearch": "0",
"weblead": "F"
}
},
{
"totalResults": 10,
"offset": 0,
"count": 10,
"hasMore": false,
"links": [
{
"rel": "self",
"href": "https://{ACCOUNT_ID}.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql"
}
],
"items": {
"alcoholrecipienttype": "CONSUMER",
"altname": "Company 1615554322",
"balancesearch": "0",
"companyname": "Company 1615554322",
"creditholdoverride": "AUTO",
"currency": "1",
"dateclosed": "2023-01-19",
"datecreated": "2023-01-19",
"displaysymbol": "£",
"email": "customer3@example.com",
"emailpreference": "DEFAULT",
"emailtransactions": "F",
"entityid": "6",
"entitynumber": "6",
"entitystatus": "13",
"entitytitle": "6 Company 1615554322",
"faxtransactions": "F",
"giveaccess": "F",
"id": "605",
"isbudgetapproved": "F",
"isinactive": "F",
"isperson": "F",
"lastmodifieddate": "2023-01-19",
"oncredithold": "F",
"overduebalancesearch": "0",
"overridecurrencyformat": "F",
"printtransactions": "F",
"probability": "1",
"receivablesaccount": "-10",
"searchstage": "Customer",
"shipcomplete": "F",
"shippingcarrier": "nonups",
"symbolplacement": "1",
"unbilledorderssearch": "0",
"weblead": "F"
}
},
{
"totalResults": 10,
"offset": 0,
"count": 10,
"hasMore": false,
"links": [
{
"rel": "self",
"href": "https://{ACCOUNT_ID}.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql"
}
],
"items": {
"alcoholrecipienttype": "CONSUMER",
"altname": "Company 1615554322",
"balancesearch": "0",
"companyname": "Company 1615554322",
"creditholdoverride": "AUTO",
"currency": "1",
"dateclosed": "2023-02-01",
"datecreated": "2023-02-01",
"displaysymbol": "£",
"email": "customer3@example.com",
"emailpreference": "DEFAULT",
"emailtransactions": "F",
"entityid": "9",
"entitynumber": "9",
"entitystatus": "13",
"entitytitle": "9 Company 1615554322",
"faxtransactions": "F",
"giveaccess": "F",
"id": "710",
"isbudgetapproved": "F",
"isinactive": "F",
"isperson": "F",
"lastmodifieddate": "2023-02-01",
"oncredithold": "F",
"overduebalancesearch": "0",
"overridecurrencyformat": "F",
"printtransactions": "F",
"probability": "1",
"receivablesaccount": "-10",
"searchstage": "Customer",
"shipcomplete": "F",
"shippingcarrier": "nonups",
"symbolplacement": "1",
"unbilledorderssearch": "0",
"weblead": "F"
}
},
]
},
A successful response returns a structure as below.
{
"format": "hierarchical",
"schema": {
"type": "object",
"properties": {
"totalResults": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"offset": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"count": {
"type": "integer",
"minimum": -9007199254740992,
"maximum": 9007199254740991
},
"hasMore": {
"type": "boolean"
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rel": {
"type": "string"
},
"href": {
"type": "string"
}
}
}
},
"items": {
"type": "object",
"properties": {
"isinactive": {
"type": "string"
},
"isprivate": {
"type": "string"
},
"phone": {
"type": "string"
},
"lastmodifieddate": {
"type": "string"
},
"links": {
"type": "array",
"items": {
"type": "object",
"properties": {}
}
},
"company": {
"type": "string"
},
"entityid": {
"type": "string"
},
"datecreated": {
"type": "string"
},
"id": {
"type": "string"
},
"entitytitle": {
"type": "string"
}
}
}
}
},
"data": [
{
"totalResults": 10,
"offset": 0,
"count": 10,
"hasMore": false,
"links": [
{
"rel": "self",
"href": "https://{ACCOUNT_ID}.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql"
}
],
"items": {
"company": "504",
"datecreated": "2023-09-06",
"entityid": "John Doe2",
"entitytitle": "John Doe2",
"id": "1210",
"isinactive": "F",
"isprivate": "F",
"lastmodifieddate": "2023-09-06",
"phone": "+9199999999998"
}
},
{
"totalResults": 10,
"offset": 0,
"count": 10,
"hasMore": false,
"links": [
{
"rel": "self",
"href": "https://{ACCOUNT_ID}.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql"
}
],
"items": {
"company": "504",
"datecreated": "2023-09-06",
"entityid": "John Doe4",
"entitytitle": "John Doe4",
"id": "1212",
"isinactive": "F",
"isprivate": "F",
"lastmodifieddate": "2023-09-06",
"phone": "+9199999999996"
}
},
{
"totalResults": 10,
"offset": 0,
"count": 10,
"hasMore": false,
"links": [
{
"rel": "self",
"href": "https://{ACCOUNT_ID}.suitetalk.api.netsuite.com/services/rest/query/v1/suiteql"
}
],
"items": {
"company": "504",
"datecreated": "2023-09-06",
"entityid": "John Doe6",
"entitytitle": "John Doe6",
"id": "1214",
"isinactive": "F",
"isprivate": "F",
"lastmodifieddate": "2023-09-06",
"phone": "+9199999999994"
}
},
]
}
You can create a source connection by making a POST request to the /sourceConnections
endpoint of the Flow Service API. A source connection consists of a connection ID, a path to the source data file, and a connection spec ID.
API format
POST /sourceConnections
Request
The following request creates a source connection for Oracle NetSuite Entities:
When retrieving customer data the object_type
property value should be customer
.
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": "Oracle NetSuite Entities Source Connection",
"description": "Oracle NetSuite Entities Source Connection",
"baseConnectionId": "60c81023-99b4-4aae-9c31-472397576dd2",
"connectionSpec": {
"id": "fdf850b4-5a8d-4a5a-9ce8-4caef9abb2a8",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"object_type": "customer"
}
}'
When retrieving contact data the object_type
property value should be contact
.
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": "Oracle NetSuite Entities Source Connection",
"description": "Oracle NetSuite Entities Source Connection",
"baseConnectionId": "60c81023-99b4-4aae-9c31-472397576dd2",
"connectionSpec": {
"id": "fdf850b4-5a8d-4a5a-9ce8-4caef9abb2a8",
"version": "1.0"
},
"data": {
"format": "json"
},
"params": {
"object_type": "contact"
}
}'
Property | Description |
---|---|
name |
The name of your source connection. Ensure that the name of your source connection is descriptive as you can use this to look up information on your source connection. |
description |
An optional value that you can include to provide more information on your source connection. |
baseConnectionId |
The base connection ID of Oracle NetSuite Entities. This ID was generated in an earlier step. |
connectionSpec.id |
The connection specification ID that corresponds to your source. |
data.format |
The format of the Oracle NetSuite Entities data that you want to ingest. Currently, the only supported data format is json . |
object_type |
Oracle NetSuite Entities supports both customer and contact retrieval. Depending on which entity you want, pass one of the below :
|
Response
A successful response returns the unique identifier (id
) of the newly created source connection. This ID is required in a later step to create a dataflow.
{
"id": "574c049f-29fc-411f-be0d-f80002025f51",
"etag": "\"0704acb3-0000-0200-0000-6555c5470000\""
}
In order for the source data to be used in Platform, a target schema must be created to structure the source data according to your needs. The target schema is then used to create a Platform dataset in which the source data is contained.
A target XDM schema can be created by performing a POST request to the Schema Registry API.
For detailed steps on how to create a target XDM schema, see the tutorial on creating a schema using the API.
A target dataset can be created by performing a POST request to the Catalog Service API, providing the ID of the target schema within the payload.
For detailed steps on how to create a target dataset, see the tutorial on creating a dataset using the API.
A target connection represents the connection to the destination where the ingested data is to be stored. To create a target connection, you must provide the fixed connection spec ID that corresponds to the data lake. This ID is: c604ff05-7f1a-43c0-8e18-33bf874cb11c
.
You now have the unique identifiers a target schema a target dataset and the connection spec ID to the data lake. Using these identifiers, you can create a target connection using the Flow Service API to specify the dataset that will contain the inbound source data.
API format
POST /targetConnections
Request
The following request creates a target connection for Oracle NetSuite Entities:
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": "Oracle NetSuite Entities Target Connection Generic Rest",
"description": " Oracle NetSuite Entities 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": "65004470082ac828d2c3d6a0"
}
}'
Property | Description |
---|---|
name |
The name of your target connection. Ensure that the name of your target connection is descriptive as you can use this to look up information on your target connection. |
description |
An optional value that you can include to provide more information on your target connection. |
connectionSpec.id |
The connection specification ID that corresponds to data lake. This fixed ID is: 6b137bf6-d2a0-48c8-914b-d50f4942eb85 . |
data.format |
The format of the Oracle NetSuite Entities data that you want to ingest. |
params.dataSetId |
The target dataset ID retrieved in a previous step. |
Response
A successful response returns the new target connection’s unique identifier (id
). This ID is required in later steps.
{
"id": "382fc614-3c5b-46b9-a971-786fb0ae6c5d",
"etag": "\"e0016100-0000-0200-0000-655707a40000\""
}
In order for the source data to be ingested into a target dataset, it must first be mapped to the target schema that the target dataset adheres to. This is achieved by performing a POST request to Data Prep API with data mappings defined within the request payload.
API format
POST /conversion/mappingSets
Request
The following request creates a mapping for DNL NetSuite Entities
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": "items.id",
"destination": "_extconndev.NS_ID"
},
{
"sourceType": "ATTRIBUTE",
"source": "items.entitytitle",
"destination": "_extconndev.NS_entity_title"
},
{
"sourceType": "ATTRIBUTE",
"source": "items.datecreated",
"destination": "_extconndev.NS_datecreated"
},
{
"sourceType": "ATTRIBUTE",
"destination": "_extconndev.NS_email",
"source": "items.email"
},
{
"sourceType": "ATTRIBUTE",
"source": "items.lastmodifieddate",
"destination": "_extconndev.NS_lastmodified"
}
]
}'
Property | Description |
---|---|
outputSchema.schemaRef.id |
The ID of the target XDM schema generated in an earlier step. |
mappings.sourceType |
The source attribute type that is being mapped. |
mappings.source |
The source attribute that needs to be mapped to a destination XDM path. |
mappings.destination |
The destination XDM path where the source attribute is being mapped to. |
Response
A successful response returns details of the newly created mapping including its unique identifier (id
). This value is required in a later step to create a dataflow.
{
"id": "ddf0592bcc9d4ac391803f15f2429f87",
"version": 0,
"createdDate": 1597784069368,
"modifiedDate": 1597784069368,
"createdBy": "{CREATED_BY}",
"modifiedBy": "{MODIFIED_BY}"
}
The last step towards bringing data from Oracle NetSuite Entities to Platform is to create a dataflow. By now, you have the following required values prepared:
A dataflow is responsible for scheduling and collecting data from a source. You can create a dataflow by performing a POST request while providing the previously mentioned values within the payload.
API format
POST /flows
Request
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": "Oracle NetSuite Entities connector Flow Generic Rest",
"description": "Oracle NetSuite Entities connector Description Flow Generic Rest",
"flowSpec": {
"id": "6499120c-0b15-42dc-936e-847ea3c24d72",
"version": "1.0"
},
"sourceConnectionIds": [
"d8827440-339f-428d-bf38-5e2ab1f0f7bb"
],
"targetConnectionIds": [
"e349a15e-c639-4047-8b2a-154aa7a857d7"
],
"transformations": [
{
"name": "Mapping",
"params": {
"mappingId": "10787532e0994eb686e76bdab69a9e88",
"mappingVersion": 0
}
}
],
"scheduleParams": {
"startTime": 1700202649,
"frequency": "once"
}
}'
Property | Description |
---|---|
name |
The name of your dataflow. Ensure that the name of your dataflow is descriptive as you can use this to look up information on your dataflow. |
description |
An optional value that you can include to provide more information on your dataflow. |
flowSpec.id |
The flow specification ID required to create a dataflow. This fixed ID is: 6499120c-0b15-42dc-936e-847ea3c24d72 . |
flowSpec.version |
The corresponding version of the flow specification ID. This value defaults to 1.0 . |
sourceConnectionIds |
The source connection ID generated in an earlier step. |
targetConnectionIds |
The target connection ID generated in an earlier step. |
transformations |
This property contains the various transformations that are needed to be applied to your data. This property is required when bringing non-XDM-compliant data to Platform. |
transformations.name |
The name assigned to the transformation. |
transformations.params.mappingId |
The mapping ID generated in an earlier step. |
transformations.params.mappingVersion |
The corresponding version of the mapping ID. This value defaults to 0 . |
scheduleParams.startTime |
This property contains information on the ingestion scheduling of the dataflow. |
scheduleParams.frequency |
The frequency at which the dataflow will collect data. |
scheduleParams.interval |
The interval designates the period between two consecutive flow runs. The interval’s value should be a non-zero integer. |
Response
A successful response returns the ID (id
) of the newly created dataflow. You can use this ID to monitor, update, or delete your dataflow.
{
"id": "84c64142-1741-4b0b-95a9-65644eba0cf6",
"etag": "\"3901770b-0000-0200-0000-655708970000\""
}
The following section provides information on the steps you can to monitor, update, and delete your dataflow.
Once your dataflow has been created, you can monitor the data that is being ingested through it to see information on flow runs, completion status, and errors. For complete API examples, read the guide on monitoring your sources dataflows using the API.
Update the details of your dataflow, such as its name and description, as well as its run schedule and associated mapping sets by making a PATCH request to the /flows
endpoint of Flow Service API, while providing the ID of your dataflow. When making a PATCH request, you must provide your dataflow’s unique etag
in the If-Match
header. For complete API examples, read the guide on updating sources dataflows using the API.
Update the name, description, and credentials of your source account by performing a PATCH request to the Flow Service API while providing your base connection ID as a query parameter. When making a PATCH request, you must provide your source account’s unique etag
in the If-Match
header. For complete API examples, read the guide on updating your source account using the API.
Delete your dataflow by performing a DELETE request to the Flow Service API while providing the ID of the dataflow you want to delete as part of the query parameter. For complete API examples, read the guide on deleting your dataflows using the API.
Delete your account by performing a DELETE request to the Flow Service API while providing the base connection ID of the account you want to delete. For complete API examples, read the guide on deleting your source account using the API.