Oracle Eloqua Bulk 2.0 API Developer Guide

396
Oracle Eloqua Bulk API v2.0 Developer Guide http://docs.oracle.com ©2018 Oracle Corporation. All rights reserved 02-Feb-2018

Transcript of Oracle Eloqua Bulk 2.0 API Developer Guide

Oracle Eloqua Bulk API v2.0

Developer Guide

http://docs.oracle.com

©2018Oracle Corporation. All rights reserved 02-Feb-2018

©2018Oracle Corporation. All rights reserved 2 of 396

Contents

1 Oracle Eloqua Bulk API 7

1.1What you'll find in these docs 7

2 Getting Started with the Bulk API 9

2.1 Requirements 9

2.2 Considerations 9

2.2.1 Use Case 9

2.2.2 Authentication and Security 10

2.3 Accessible Elements 10

2.4 API Call Format 10

2.5 API Call Format 11

2.5.1 Pattern 11

2.5.2 Basic Structure 12

2.5.3 Example Call & Response 14

2.6 Introduction to Eloqua Elements 15

2.6.1 Eloqua Elements 15

2.6.2 Bulk API Elements 16

2.7 Export data from Eloqua 17

2.7.1 To export data from Eloqua 17

2.8 Import data into Eloqua 23

2.8.1 To import data into Eloqua 23

2.9 Using import and export parameters 30

2.10 Fields (metadata) 37

2.10.1 Example 37

2.11 Filtering 42

2.11.1 Simple Filters 43

2.11.2 Complex Filters 46

2.12 Retrieving large volumes of data 49

2.12.1 Understanding the offset and limit query parameters 49

2.12.2 Example requests 51

©2018Oracle Corporation. All rights reserved 3 of 396

2.13 Exporting activities 53

2.13.1 Related 57

2.13.2 Activities export definitions 58

2.14 Using the campaign response endpoints 72

2.14.1 Feature highlights 72

2.14.2 Use cases 72

2.14.3Workflow 72

2.14.4 API Reference 73

2.14.5 Developing for campaign responses 73

2.14.6 Campaign response setup for Marketers 77

3 Bulk API Endpoint Reference 80

3.1 Accounts 80

3.1.1 Overview 80

3.1.2 API Tasks 81

3.2 Activities 131

3.2.1 Overview 131

3.2.2 API Tasks 132

3.3 Contacts 172

3.3.1 Overview 172

3.3.2 API Tasks 172

3.4 Custom objects 233

3.4.1 Overview 233

3.4.2 Bulk API Tasks 233

3.4.3 GET /customobjects/id 274

3.4.4 GET /customobjects 276

3.5 Email addresses (globally unsubscribe) 280

3.5.1 Overview 280

3.5.2 Bulk API Tasks 280

3.5.3 POST /emailAddresses/imports 282

3.6 Email groups 287

3.6.1 Overview 287

©2018Oracle Corporation. All rights reserved 4 of 396

3.6.2 API Tasks 288

3.6.3 GET /emailGroups/id 288

3.6.4 GET /emailGroups 290

3.7 Exports 293

3.7.1 Overview 293

3.7.2 API Tasks 293

3.7.3 GET /exports 295

3.8 Lead scoringmodels 300

3.8.1 Overview 300

3.8.2 API Tasks 300

3.8.3 GET /contacts/scoring/models 301

3.8.4 GET /contacts/scoring/models/id 305

3.9 Imports 307

3.9.1 Overview 307

3.9.2 API Tasks 307

3.9.3 GET /imports/priorities 309

3.9.4 GET /imports/priorities/id 313

3.9.5 GET /imports 316

3.10 Sync actions 321

3.10.1 Overview 321

3.10.2 API Tasks 321

3.10.3 POST /contacts/syncActions 321

3.10.4 POST /accounts/syncActions 324

3.10.5 POST /customobjects/id/syncActions 327

3.11 Syncs 330

3.11.1 Overview 330

3.11.2 API Tasks 330

3.11.3 GET /syncs/id/data 330

3.11.4 GET /syncs/id/logs 332

3.11.5 GET /syncs/id/rejects 336

3.11.6 GET /syncs/id 339

©2018Oracle Corporation. All rights reserved 5 of 396

3.11.7 GET /syncs 341

3.11.8 POST /syncs 344

3.12 Bulk API Endpoint Reference 347

3.12.1 Eloqua Expression Language 348

3.12.2 EloquaMarkup Language version 2 354

3.12.3 EloquaMarkup Language version 3 361

3.13 Export Characteristics 370

3.14 Import Characteristics 370

3.15 Import updateRule parameter 372

3.16 Sync actions parameters 373

3.16.1 Sync action reference for contacts 374

3.16.2 Sync action reference for custom objects 377

3.16.3 Sync action reference for accounts 378

3.17 Sync Status Types 379

3.18 Activity Fields 380

3.18.1 EmailOpen activity fields 380

3.18.2 EmailClickthrough activity fields 381

3.18.3 EmailSend activity fields 382

3.18.4 Subscribe activity fields 382

3.18.5 Unsubscribe activity fields 383

3.18.6 Bounceback activity fields 383

3.18.7WebVisit activity fields 384

3.18.8 PageView activity fields 384

3.18.9 FormSubmit activity fields 385

3.18.10 Activity field details 385

3.19 Bulk API Limits 387

3.19.1 Import limits: 388

3.19.2 Export Limits 388

3.19.3 Data limitations: 389

3.20 Field names 390

3.21 System timestamps 391

©2018Oracle Corporation. All rights reserved 6 of 396

3.21.1 Contacts 392

3.21.2 Accounts 392

3.21.3 Custom Objects / Events 392

3.21.4 Activities 392

3.22 Default display formats 392

3.22.1 Date Formats 393

3.22.2 Numeric Formats 393

3.23 Troubleshooting 394

3.23.1 View Sync Logs 394

3.23.2 Check for Import Errors 395

3.23.3 Retrieve Past Data Files 395

©2018Oracle Corporation. All rights reserved 7 of 396

1 Oracle Eloqua Bulk API

The Bulk API is a RESTful API designed to support high volume data transfers. It can be used for

CRM and data warehousing integrations and extending Eloqua's functionality.

1.1 What you'll find in these docs

Getting Started - This section discusses core concepts related to Eloqua's Bulk API: the API

call format, descriptions of the assets and entities you will be working with, and provides some

troubleshooting guidance.

Bulk API getting started overview

Learn about basic call format

Learn about Eloqua elements

Tutorials - This section provides step-by-step instructions for common tasks youmay want to

accomplish with the Bulk API such as importing and exporting data and searching for fields.

Exporting data from Eloqua

Filtering data to export

Importing data into Eloqua

Sourcing Eloqua element metadata (to structure export and import definitions)

Endpoints - This section provides detailed information about the API's service endpoints and

their parameters. You can learnmore about the following endpoints:

Accounts

Activities

Contacts

Custom objects

©2018Oracle Corporation. All rights reserved 8 of 396

Email addresses

Email groups

Exports

Imports

Sync actions

Syncs

Reference - This section provides detailed referencematerials for the API itself. This section

includes material on:

Export characteristics

Import parameters:

Import characteristics

Import update rule types

Syncs:

Sync actions

Sync status types

Activity fields

Bulk data limits

Field names

Bulk languages:

Eloqua expression language

Eloquamarkup language v2

Eloquamarkup language v3

Troubleshooting

©2018Oracle Corporation. All rights reserved 9 of 396

2 Getting Started with the Bulk API

While the Bulk API is designed for ease of use, there are things to bear in mind when determining how

you will interact with the Bulk API.

2.1 Requirements

The Bulk API is designed to let developers start developing with minimal setup or configuration effort.

At aminimum, you need an Eloqua instance and an account on that instance. In order to be able to

interact with your Eloqua data, your account needs adequate permissions to access contact fields,

secondary assets, and so on.

Some Eloqua instances enable contact-level security, which restricts access to data based on

different user roles. Users might only have access to contacts located in their geographical region, for

instance. Because these permissions affect what data the user can access, it is important that the

Eloqua user accessing the API has the appropriate permissions.

2.2 Considerations

2.2.1 Use Case

The Bulk API does not constrain how you interact with it, but your use case should determine how you

develop your integration.

For example, if you are importing data into Eloqua, you should consider resiliency: if an item fails to

import, can you send it again in 15minutes, or do you need to deal with the failure immediately? Your

use case will determine what measures you need to put into place to deal with this.

Similarly, if you are exporting data from Eloqua, how large a data set are you working with? Larger

exports will be time consuming, so you can break the export up into smaller chunks using a filter. Be

aware of the data volumes you expect to deal with and create your export definitions accordingly.

©2018Oracle Corporation. All rights reserved 10 of 396

The Troubleshooting section discusses ways you canmonitor your imports and exports and leverage

this data to improve your integration. The Bulk API Limits documentation can also help guide you when

designing your interaction with the Bulk API.

2.2.2 Authentication and Security

Access to the Oracle Eloqua Bulk API requires adequate permissions based on security group. Oracle

Eloqua utilizes SSL/TLS with support for 128-bit and 256-bit ciphers to securely transmit traffic in all

API calls. The encryption level depends on the libraries being used by your app.

For authentication, Eloqua’s Bulk API supports HTTP Basic Authentication as well as OAuth 2.0.

OAuth is the preferredmethod of authenticating. OAuth allows Bulk API-powered applications to

access resources on behalf of a resource owner without needing the resource owner’s credentials.

The Bulk API supports 2-leggedOAuth for second party apps, and 3-leggedOAuth for apps in the

AppCloud™.

In cases where implementing OAuth is not feasible, you can use HTTP Basic Authentication. This

approach requires that you obtain the user’s credentials, which is not ideal. For example, if a user

changes their password, you will need to obtain the new password. If feasible, use OAuth over basic

authentication.

2.3 Accessible Elements

The Bulk API is gives you access to contacts, accounts, custom data objects, email groups, external

activities, and events. See: Introduction to Eloqua Elements for a full description of each element.

2.4 API Call Format

Interactions with the Bulk API follow a consistent pattern: you create a record definition that tells

Eloqua what data you are importing or exporting, move that data into a staging area, and either retrieve

the data, in the case of an export, or push that data into Eloqua, in the case of an import.

©2018Oracle Corporation. All rights reserved 11 of 396

The API Call Format document explores this pattern in detail, touching on the rationale behind the

three-step workflow. It also discusses data formatting requirements, header requirements, and so on.

You should familiarize yourself with the API call format before starting to work with the Bulk API.

2.5 API Call Format

All Bulk API calls use the same general call pattern: whether you are importing or exporting data, the

structure of your call will be consistent.

2.5.1 Pattern

Importing and Exporting data with the Bulk API follows a three-step pattern:

1. Define the import or export. The definition describes how Eloqua’s fields map to your own. For

example, your ‘email’ field might map to Eloqua’s Contact.Field(C_EmailAddress). You can

also give the definition a name, so that you can reuse it later, specify how to filter the data, and

define any additional actions you want to perform. The import or export definition tells Eloqua

what kind of operation to prepare to perform.

2. Move data into the staging area. For Imports, this means POST-ing your data to the staging area;

for Exports, this means telling Eloqua tomove its data into the staging area. The staging area is

amiddle ground that allows read and write operations to occur asynchronously from the HTTP

requests you send.

3. Move the data to its final destination. For Imports, this means telling Eloqua to sync the data

from the staging area into its database; for Exports, this involves retrieving the data from the

staging area.

This design allows for fast client requests, while longer actions are performed asynchronously. By not

interacting with the Eloqua database during the HTTP request, you gain a consistent expectation of

how long I/O operations will take. The asynchronous pattern also enables scalability: were I/O

operations andmerges performed inline, database locks would impact the performance of your Eloqua

instance.

©2018Oracle Corporation. All rights reserved 12 of 396

The staging area system allows data to be written to disk, and then processed in the background

without affecting performance.

2.5.2 Basic Structure

Familiarizing yourself with the commonURI parameters, required HTTP headers, and JSON patterns

will give you a strong foundation from which to start using the Bulk API.

Call URL

The URL you need to call to access Eloqua’s Bulk API depends on which “pod” your Eloqua

instance is hosted on. The base url is: https://<host>.eloqua.com/api/bulk/2.0, where

<host> can be secure, www02.secure, or secure.p03. To find your URL, see: Determining

Endpoint URLs on Topliners.

URL Parameters

The Bulk API’s HTTP GET endpoints support a variety of URL parameters that you can use to control

what data you retrieve.

limit : specifies themaximum number of records to return

offset: specifies an offset that allows you to retrieve the next batch of records. For example, if

your limit is 1000, specifying an offset of 1000 will return records 1000 through 2000.

q: specifies query criteria used to filter results.

The q format is <term><operator><value>. For example: name='Email*''.

orderBy: specifies the name of the property to order the results by.

The orderBy format is <term> ASC | DESC. For example, orderBy=name ASC.

©2018Oracle Corporation. All rights reserved 13 of 396

HTML Headers

Eloqua’s Bulk API supports most commonHTMLHeaders: in addition to the authentication headers for

users of Basic Authentication, the Content-Type and Accept headers specify data formats for the

data you import into Eloqua and the Bulk API’s response data.

Content-Type

The Bulk API supports both JSON and CSV file formats as data sources for PUT and POST requests.

The Bulk API does not support XML.

For PUT and POST requests, youmust specify either application/json or text/csv in the Content-

Type header: if you do not include the Content-Type header an error will occur. The Content-Type

header is not required for GET and DELETE requests, since these do not accept data inputs.

Accept

The Accept parameter specifies what file formats you, the client, are willing to accept from the server:

either JSON or CSV. Use of the Accept header is optional: if you do not specify a parameter for

Accept, the response will default to JSON.

The following call requests the list of Contact fields in CSV format:

GET https://<host>.eloqua.com/api/bulk/2.0/contacts/fieldsAccept: text/csv

The response would resemble:

name,internalName,dataType,defaultValue,hasReadOnlyConstraint,hasNotNullConstraintEmail Address,C_EmailAddress,emailAddress,,False,FalseFirst Name,C_FirstName,string,,False,False

The following requests the list of Contact fields in JSON format:

GET https://<host>.eloqua.com/api/bulk/2.0/contacts/fieldsAccept: application/json

The response resembles:

©2018Oracle Corporation. All rights reserved 14 of 396

"count": 82,"hasMore": false,"items": [

"createdAt": "1900-01-01T05:00:00.0000000Z","dataType": "emailAddress","hasNotNullConstraint": false,"hasReadOnlyConstraint": false,"hasUniquenessConstraint": true,"internalName": "C_EmailAddress","name": "Email Address","statement": "Contact.Field(C_EmailAddress)","updatedAt": "1900-01-01T05:00:00.0000000Z","uri": "/contacts/fields/100001"

,

"createdAt": "1900-01-01T05:00:00.0000000Z","dataType": "string","hasNotNullConstraint": false,"hasReadOnlyConstraint": false,"hasUniquenessConstraint": false,"internalName": "C_FirstName","name": "First Name","statement": "Contact.Field(C_FirstName)","updatedAt": "2013-03-26T21:32:13.2530000Z","updatedBy": "Docs.Example","uri": "/contacts/fields/100002"

]

2.5.3 Example Call & Response

You can create Bulk API requests using whatever language you wish. The examples and tutorials in

this guide show the basic request that you need to send to perform your request, ignoring language-

specific code examples.

Request:

https://<host>.eloqua.com/API/Bulk/2.0/contact/import/123

Response:

©2018Oracle Corporation. All rights reserved 15 of 396

"createdAt": "2014-05-13T18:25:32.0270000Z","createdBy": "Docs.Example","fields":

"C_EmailAddress": "Contact.Field(C_EmailAddress)","C_FirstName": "Contact.Field(C_FirstName)","C_LastName": "Contact.Field(C_LastName)"

,"identifierFieldName": "C_EmailAddress","isSyncTriggeredOnImport": false,"isUpdatingMultipleMatchedRecords": false,"name": "Docs Import Example","syncActions": [],"updatedAt": "2014-05-13T18:25:32.0270000Z","updatedBy": "Docs.Example","uri": "/contacts/imports/1183"

2.6 Introduction to Eloqua Elements

The Bulk API enables you to import and export data for numerous elements within Eloqua. The Bulk

API also has its own elements that it uses to interact with Eloqua.

The following sections describe all of the elements encountered when using the Bulk API, and

highlights the different interaction patterns associated with each type.

2.6.1 Eloqua Elements

The “Eloqua Elements” are elements stored in Eloqua. Each element type has its own set of

associated fields.

The Bulk API exists to allow you to import and export data related to these elements. However, due to

the asynchronous design of the Bulk API, you never interact directly with the Eloqua Elements.

Rather, youmove data into a staging area and then synchronize the data into Eloqua or out for your

use.

The Eloqua elements are:

©2018Oracle Corporation. All rights reserved 16 of 396

Contacts

Accounts

Custom Objects

Activity

External activities

Events

With the exception of Activity and External Activities, you can use a /fields endpoint to retrieve the

list of fields associated with each element in your Eloqua instance. See Field names for more

information.

Activity behaves differently than the other Eloqua elements. Each Activity Type has its own set of

fields. Refer to Activity Fields for a full description of the Activity types that the Bulk API supports and

their specific fields.

2.6.2 Bulk API Elements

The “Bulk API Elements” are objects that you create in order to interact with Eloqua through the Bulk

API. The are, essentially, metadata elements: elements that provide context to Eloqua and to the Bulk

API to allow them to perform the appropriate actions.

These bulk elements are:

Imports

Exports

Syncs

Unlike the “Eloqua Elements”, which you interact with indirectly, the Bulk API enables you to perform

direct CRUD operations on themetadata. If you GET an import or an export, Eloqua returns its data. In

contrast, you cannot directly GET contact or activity data: you have to go through the export steps to

obtain it.

©2018Oracle Corporation. All rights reserved 17 of 396

2.7 Export data from Eloqua

The process for exporting data from Eloqua using the Bulk API follows 3 basic steps:

1. Create the export definition

2. Synchronize the outgoing data into a temporary staging area

3. Retrieve the data

Eloqua supports export definitions for Activities, Accounts, Contacts, Custom objects, and Events.

Important: If you are working with large volumes of data, you should break your dataset into

smaller segments using filters. Learnmore about Bulk API limits.

2.7.1 To export data from Eloqua

1. Create the export definition.

The export definition outlines your request's details. Once you create an export definition,

Eloqua will respond with a uri which you will need in order to synchronize the data for export

(step 2).

Definition parameters

Name Required/Optional Description

name required The name of your export for reference.

fields required This is themost important parameter in your export

definition. It defines which fields of the Eloqua record

you are exporting will bemapped to the export output. A

field parameter is made up of a name value and a field

statement, for example: "ActivityId":"

©2018Oracle Corporation. All rights reserved 18 of 396

Name Required/Optional Description

Activity.Id". The name value can be anything

you want and doesn't need tomatch the Eloqua field

name. The statement on the other hand needs to be

valid EloquaMarkup Language andmust match an

existing field for the record being exported. You can

retrieve detailed field information by calling the fields

endpoint. Learnmore about retrieving fields information.

filter optional Filters allow you to select the exact data that you wish

to export. For instance if you only wish to export

contact records where the company field is of a certain

value (such as Oracle employees) you can do so using

a filter. Learnmore about Bulk API filtering.

syncActions optional Sync Actions are parameters that you declare in an

import or export definition that specify additional

actions Eloqua should take when you import or export

data. Learnmore about sync actions.

The following export definition requests all Activity records where the activity type is

FormSubmit. There are different endpoints depending on whether you're creating an export

definition for Activities, Accounts, Contacts, Custom objects, or Events.

Request:

POST /bulk/2.0/activities/exports

Request body:

"name":"Example Activity Export",

"fields":

©2018Oracle Corporation. All rights reserved 19 of 396

"ActivityId":"Activity.Id",

"AssetName":"Activity.Asset.Name",

"ActivityType":"Activity.Type",

"ActivityDate":"Activity.CreatedAt",

"ContactId":"Activity.Contact.Id",

"VisitorId":"Activity.Visitor.Id",

"AssetType":"Activity.Asset.Type",

"AssetId":"Activity.Asset.Id",

"RawData":"Activity.Field(RawData)"

,

"filter":"'Activity.Type'='FormSubmit'"

A successful response will include the export definition’s name, fields and filter parameters,

along with the new uri field, the name of the user who created and updated it, and timestamps

for the creation and update.

Response:

"name":"Example Activity Export",

"fields":

"ActivityId":"Activity.Id",

"AssetName":"Activity.Asset.Name",

"ActivityType":"Activity.Type",

"ActivityDate":"Activity.CreatedAt",

"ContactId":"Activity.Contact.Id",

"VisitorId":"Activity.Visitor.Id",

"AssetType":"Activity.Asset.Type",

©2018Oracle Corporation. All rights reserved 20 of 396

"AssetId":"Activity.Asset.Id",

"RawData":"Activity.Field(RawData)"

,

"filter":"'Activity.Type'='FormSubmit'",

"dataRetentionDuration":"P7D",

"uri":"/activities/exports/26331",

"createdBy":"API.User",

"createdAt":"2015-07-16T19:14:13.5598178Z",

"updatedBy":"API.User",

"updatedAt":"2015-07-16T19:14:13.5598178Z"

Save the uri field value for the next step, in this case: /activities/exports/26331.

2. Synchronize the data.

Once you have your export definition's uri, you can use it to synchronize the requested data.

This is done by sending the export definition's uri to the /syncs endpoint .

Continuing the above example, the request would be:

POST /bulk/2.0/syncs

Request body:

"syncedInstanceUri" : "/activities/exports/26331"

The response will include a status parameter, creationmetadata, and the sync uri:

©2018Oracle Corporation. All rights reserved 21 of 396

"syncedInstanceUri":"/activities/exports/26331",

"status":"pending",

"createdAt":"2015-07-16T19:25:14.0808068Z",

"createdBy":"API.User",

"uri":"/syncs/52524"

The sync status is pending. As the sync progresses, the statusmessage will change.

To check the status of the sync, send aGET request to the sync's uri. In this example:

GET /bulk/2.0/syncs/52524

When the sync is complete there will be a 200 OK response that resembles the following:

"syncedInstanceUri":"/activities/exports/26331",

"syncStartedAt":"2015-07-16T19:25:14.3900000Z",

"syncEndedAt":"2015-07-16T19:25:19.9370000Z",

"status":"success",

"createdAt":"2015-07-16T19:25:13.6930000Z",

"createdBy":"API.User",

"uri":"/syncs/52524"

In order to avoid polling to check the sync's status, the syncs endpoint has an optional

callbackUrl parameter available. Learnmore about the sync endpoint.

3. Retrieve the data.

Finally, you can retrieve the data you have synchronized using the sync URI's data endpoint.

Continuing the example, the request would be:

©2018Oracle Corporation. All rights reserved 22 of 396

GET /bulk/2.0/syncs/52524/data

The response will include the requested records within the items property:

"Count": 1,

"hasMore": false,

"limit": 1000,

"offset": 1,

"totalResults": 1,

"items": [

"ActivityId": "999",

"AssetName": "Forms-BulkActivity",

"ActivityType": "FormSubmit",

"ActivityDate": "2014-01-29 13:45:31",

"EmailAddress": "[email protected]",

"ContactId": "123",

"VisitorId": "1",

"AssetType": "Form",

"AssetId": "1",

]

Note: If you do not specify a limitwhen you send your GET request, the limit defaults

to 1000. You can specify any limit up to 50000, though requesting larger volumes may

create performance issues.

If there weremore than 1000matching items, hasMorewould be true and you would be

©2018Oracle Corporation. All rights reserved 23 of 396

able to request the next batch of items using an appropriate offset. For example, if

there were 1500 items, the following call would request items 1000 through 1500:

GET /bulk/2.0/syncs/52524/data?offset=1000

Formore information on how to use these query parameters, see Retrieving large

volumes of data.

See the syncs data endpoint documentation for full list of URL parameters.

2.8 Import data into Eloqua

The process for importing data into Eloqua using the Bulk API follows 3 basic steps:

1. Create the import definition

2. Upload the incoming data into a temporary staging area

3. Synchronize the data from the staging area into Eloqua

Eloqua supports import definitions for Activities, Accounts, Contacts, Custom objects, and Events.

Important: If you are working with large volumes of data, you should break your dataset into

smaller segments using filters. Learnmore about Bulk API limits.

2.8.1 To import data into Eloqua

1. Create the import definition.

The import definition outlines your request's details. Once you create an import definition,

Eloqua will respond with a uriwhich you will need in order to upload data into Eloqua (step 2).

©2018Oracle Corporation. All rights reserved 24 of 396

Definition parameters

Name Required/Optional Description

name required The name of your export for

reference.

fields required This is themost important

parameter in your import definition.

It defines which fields your

imported data will bemapped to

for the given Eloqua record type. A

field parameter is made up of a

name value and a field statement,

for example: "ActivityId":"

Activity.Id". The name

value can be anything you want

and doesn't need tomatch the

Eloqua field name. The statement

on the other hand needs to be valid

EloquaMarkup Language and

must match an existing field for

the record being exported. You

can retrieve detailed field

information by calling the fields

endpoint. Learnmore about

retrieving fields information.

identifierFieldName required This parameter is used to check

the imported data against existing

records within Eloqua. It should

match one of the field names as

defined in the above fields

parameter. Choose a field that is

likely to be unique to avoid

©2018Oracle Corporation. All rights reserved 25 of 396

Name Required/Optional Description

updating the wrong record. Do not

use a large text field as the

identifierFieldName as this

can produce errors.

isSyncTriggeredOnImport optional A Boolean parameter specifying

whether the sync is triggered

automatically upon import. If set to

true, the Bulk API automatically

syncs your data into Eloqua when

you upload it to the staging area. If

set to false, youmust manually

create the sync operation that

merges your data into Eloqua.

Manually syncing the data

provides more control over the

timing of the syncs, and allows

you to break large sync operations

into smaller batches. This can

mitigate performance issues in

your Eloqua instance. By default,

isSyncTriggeredOnImport is set

to false.

dataRetentionDuration optional the length of time that unsync’d

data from this import should

remain in the staging area. Bulk

API 2.0 uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1 hour) to

P2W (2 weeks). This setting will

©2018Oracle Corporation. All rights reserved 26 of 396

Name Required/Optional Description

default to P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export definitions and

synced data strictly honor this

setting.

syncActions optional Sync Actions are parameters that

you declare in an import or export

definition that specify additional

actions Eloqua should take when

you import or export data. Learn

more about sync actions.

isUpdatingMultipleMatchedRecordsoptional Whether or not imported data will

bemapped tomultiple existing

records. Learnmore.

importPriorityUri optional Must reference an existing

/imports/priorities/id.

The following import definition will map incoming data to Eloqua Contact record fields,

specifically firstName, lastName, and emailAddress. There are different endpoints depending

on whether you're creating an import definition for Activities, Accounts, Contacts, Custom

objects, or Events

Request:

POST /bulk/2.0/contacts/imports/

Request body:

"name": "Docs Import Example",

"fields":

©2018Oracle Corporation. All rights reserved 27 of 396

"firstName": "Contact.Field(C_FirstName)",

"lastName": "Contact.Field(C_LastName)",

"emailAddress": "Contact.Field(C_EmailAddress)"

,

"identifierFieldName": "emailAddress",

"isSyncTriggeredOnImport" : "false"

A successful response will include the import definition’s name, fields,

identifierFieldName, isSyncTriggeredOnImport, isUpdatingMultipleMatchedRecords,

along with the new uri field, the name of the user who created and updated it, and timestamps

for the creation and update.

Response:

"name": "Docs Import Example",

"fields":

"firstName": "Contact.Field(C_FirstName)",

"lastName": "Contact.Field(C_LastName)",

"emailAddress": "Contact.Field(C_

EmailAddress)"

,

"identifierFieldName": "emailAddress",

"isSyncTriggeredOnImport": false,

"isUpdatingMultipleMatchedRecords": false,

"uri": "/contacts/imports/1182",

"createdBy": "Docs.Example",

"createdAt": "2014-05-13T14:13:30.0402961Z",

"updatedBy": "Docs.Example",

"updatedAt": "2014-05-13T14:13:30.0402961Z"

©2018Oracle Corporation. All rights reserved 28 of 396

Youwill use the returned uri parameter to upload data into Eloqua.

2. Upload the data.

Once you have your import definition's uri, you can use it to upload the incoming data.

Continuing the above example, the request would be:

POST /bulk/2.0/contacts/imports/1182/data

Request body:

[

"firstName": "Juan",

"lastName": "Garcia",

"emailAddress": "[email protected]"

,

"firstName": "Tatiana",

"lastName": "Smirnov",

"emailAddress": "[email protected]"

]

The response, if successful is an HTTP 204 No Contentmessage. The data is now in the staging

area, ready to be synced into Eloqua.

Note: There is a hard limit of 32MB per request when posting data to an import sync’s

staging area. Requests larger than 32MB will fail by returning a 404 Not Found

©2018Oracle Corporation. All rights reserved 29 of 396

response. To import more than 32MB of data, you canmakemultiple posts of 32MB (or

less) to the import definition before syncing.

It is recommended to sync an import whenever approximately 250MB of data has been

posted to its staging area.

3. Synchronize the data.

Finally, you can synchronize the data from the staging area into your Eloqua database.

Note: If isSyncTriggeredOnImportwas set to true, the sync occurs automatically

and you can skip this step. If isSyncTriggeredOnImport is set to false, youmust

manually create the sync.

If uploadingmore than 32MB of data within a sync, isSyncTriggeredOnImport needs

to be set to false to allow multiple requests for posting data.

Continuing the above example, the request would be:

POST /bulk/2.0/syncs

Request body:

"syncedInstanceUri": "/contacts/imports/1182"

The response will include a status parameter, creationmetadata, and the sync uri:

"syncedInstanceUri": "/contacts/imports/1182",

"status": "pending",

©2018Oracle Corporation. All rights reserved 30 of 396

"createdAt": "2014-05-13T17:58:34.0176959Z",

"createdBy": "Docs.Example",

"uri": "/syncs/1208"

The sync status is pending. As the sync progresses, the statusmessage will change.

To check the status of the sync, send aGET request to the sync's uri. In this example:

GET /bulk/2.0/syncs/1208

When the sync is complete there will be a 200 OK response that resembles the following:

"syncedInstanceUri": "/contacts/imports/1182",

"syncStartedAt": "2014-05-13T17:58:34.2770000Z",

"status": "success",

"createdAt": "2014-05-13T17:58:33.8130000Z",

"createdBy": "Docs.Example",

"uri": "/syncs/1208"

In order to avoid polling to check the sync's status, the syncs endpoint has an optional

callbackUrl parameter available. Learnmore about the sync endpoint.

2.9 Using import and export parameters

Import and export parameters enable you to control and describe your imports and exports with the

Bulk API. This tutorial will walkthrough how to use the following parameters:

©2018Oracle Corporation. All rights reserved 31 of 396

mapDataCards (imports)

syncActions (imports and exports)

importPriorityUri (imports)

updateRule (imports)

All of these parameters are optional. See Import Characteristics or Export Characteristics for a full list

of available parameters.

mapDataCards

The mapDataCards parameter enables you to decide whether or not custom object records or event

registrants will bemapped on import. If set to true, you'll need to specify the Eloqua entity field for

mapping and the field that will be used for matching.

Here are the parameters you'll need to familiarize yourself with:

mapDataCards (boolean): Whether or not custom object records or event registrants will be

mapped on import. By default, mapDataCards is false. If you set it to true, youmust specify

the fields for mapping.

mapDataCardsEntityField (string): Specifies which Eloqua entity field will be used for

mapping.

mapDataCardsSourceField (string): Specifies the source field that will be used for matching.

mapDataCardsEntityType (string): Specifies the entity of the custom object record or event

import. Allowed values are "Contact" or "Company".

mapDataCardsCaseSensitiveMatch (boolean): Whether to perform a case sensitive search

whenmapping custom object records or events to a contact or account.

Example

Let's create a new custom object import andmap records to contacts using the contact field

ContactIdExt:

HTTP Request

©2018Oracle Corporation. All rights reserved 32 of 396

POST /api/bulk/2.0/customObjects/8/importsContent-Type: application/json

Request Body

"name": "Simple CDO Contact Import 2","mapDataCards": "true","mapDataCardsEntityField": "Contact.Field

(ContactIDExt)","mapDataCardsSourceField": "ContactIDExt","mapDataCardsEntityType": "Contact","mapDataCardsCaseSensitiveMatch": "false","updateRule": "always","dataRetentionDuration": "P7D","fields":

"email": "CustomObject[8].Field[58]","first": "CustomObject[8].Field[405]","contactIDExt": "CustomObject[8].Field[406]"

,"identifierFieldName": "contactIDExt"

"mapDataCardsEntityField": "Contact.Field(ContactIDExt)"

Since wewant to map records to contacts using their contact ID, we are setting

mapDataCardsEntityField to Contact.Field(ContactIDExt) because

Contact.Field(ContactIDExt) is the internal Eloqua name for the field.

"mapDataCardsSourceField": "ContactIDExt"

The source field from the imported data that we will use for mapping is ContactIDExt, so we

have set mapDataCardsSourceField to ContactIDExt.

"contactIDExt": "CustomObject[8].Field[406]"

Whichever field you use for mapping has to exist in both entities (in this case on a contact

record and CDO record). Meaning we have to create a new custom object data field for the

contactIDExt value.

Response

©2018Oracle Corporation. All rights reserved 33 of 396

"id": 836,"parentId": 8,"mapDataCards": true,"mapDataCardsCaseSensitiveMatch": false,"mapDataCardsEntityField": "Contact.Field

(ContactIDExt)","mapDataCardsSourceField": "ContactIDExt","mapDataCardsEntityType": "Contact","name": "Simple CDO Contact Import 2","updateRule": "always","fields":

"email": "CustomObject[8].Field[58]","first": "CustomObject[8].Field[405]","ContactIDExt": "CustomObject[8].Field[406]"

,"identifierFieldName": "ContactIDExt","isSyncTriggeredOnImport": false,"dataRetentionDuration": "P7D","isUpdatingMultipleMatchedRecords": false,"uri": "/customObjects/8/imports/836","createdBy": "API.User","createdAt": "2016-02-01T21:43:03.7931253Z","updatedBy": "API.User","updatedAt": "2016-02-01T21:43:03.7931253Z"

syncActions

The syncActions parameter enables you to declare in an import or export definition that Eloqua should

perform additional actions when you importing or exporting data. Using a sync action parameter

generally involves specifying the action to perform and the destination for the entities.

See Sync actions parameters to see a full list of actions you can perform using this parameter.

Example

Create a contact import definition and use a sync action to add contacts to a contact list:

HTTP Request

POST /api/bulk/2.0/contacts/importsContent-Type: application/json

Request Body

©2018Oracle Corporation. All rights reserved 34 of 396

"name": "Email Address Import","fields":

"EmailAddress": "Contact.Field(C_EmailAddress)","identifierFieldName": "EmailAddress","syncActions": [

"destination": "ContactList[31]","action": "add"

]

Response

"name": "Email Address Import","fields":

"EmailAddress": "Contact.Field(C_EmailAddress)","identifierFieldName": "EmailAddress","syncActions": [

"destination": "ContactList[31]","action": "add"

],"isSyncTriggeredOnImport": false,"dataRetentionDuration": "P7D","isUpdatingMultipleMatchedRecords": false,"uri": "/contacts/imports/3","createdBy": "API.User","createdAt": "2018-01-29T14:29:15.2227712Z","updatedBy": "API.User","updatedAt": "2018-01-29T14:29:15.2227712Z"

importPriorityUri

The importPriorityUri parameter is used to set the import to a different priority which overrides the

default Bulk API priority set in your Eloqua instance. You're able to discover your import priorities via

this endpoint,

©2018Oracle Corporation. All rights reserved 35 of 396

If you are not familiar with how Eloqua handles data import priorities, see Data import priority for more

information.

Example

Create a new import and set the data import priority to #1.

HTTP Request

POST /api/bulk/2.0/contacts/importsContent-Type: application/json

Request Body

"name":"Email Address Import","importPriorityUri":"/imports/priorities/100001","fields":

"EmailAddress":"Contact.Field(C_EmailAddress)",

"identifierFieldName": "EmailAddress"

Response

"name": "Email Address Import","importPriorityUri": "/imports/priorities/100001","fields":

"EmailAddress": "Contact.Field(C_EmailAddress)","identifierFieldName": "EmailAddress","isSyncTriggeredOnImport": false,"dataRetentionDuration": "P7D","isUpdatingMultipleMatchedRecords": false,"uri": "/contacts/imports/15","createdBy": "API.User","createdAt": "2018-01-24T15:29:02.5037857Z","updatedBy": "API.User","updatedAt": "2018-01-24T15:29:02.5037857Z"

©2018Oracle Corporation. All rights reserved 36 of 396

updateRule

Import definitions include an updateRule parameter, which specifies how Eloqua should handle

updating records when you import a new value for an existing field. For example, if contact Sally

Jones's email address in Eloqua is [email protected], and you import a new email address

for Sally Jones, the updateRule determines whether Eloqua should retain the existing email address or

replace it with the new one. If you do not specify an updateRule, the rule type defaults to always.

The following rule types are available:

always: Always update.

ifNewIsNotNull: Update if the new value is not blank.

ifExistingIsNull: Update if the existing value is blank.

useFieldRule: Use the rule defined at the field level.

Example

Create a new contact import definition and set the update rule to always replace existing records with

new values.

HTTP Request

POST /api/bulk/2.0/contacts/importsContent-Type: application/json

Request Body

"name": "Email Address Import","fields":

"EmailAddress": "Contact.Field(C_EmailAddress)","FirstName": "Contact.Field(C_FirstName)","LastName": "Contact.Field(C_LastName)","Company": "Contact.Field(C_Company)","Address1": "Contact.Field(C_Address1)","Address2": "Contact.Field(C_Address2)","City": "Contact.Field(C_City)","StateProvince": "Contact.Field(C_State_Prov)"

,

©2018Oracle Corporation. All rights reserved 37 of 396

"identifierFieldName": "EmailAddress","updateRule": "always"

Response

"name": "Email Address Import","updateRule": "always","fields":

"EmailAddress": "Contact.Field(C_EmailAddress)","FirstName": "Contact.Field(C_FirstName)","LastName": "Contact.Field(C_LastName)","Company": "Contact.Field(C_Company)","Address1": "Contact.Field(C_Address1)","Address2": "Contact.Field(C_Address2)","City": "Contact.Field(C_City)","StateProvince": "Contact.Field(C_State_Prov)"

,"identifierFieldName": "EmailAddress","isSyncTriggeredOnImport": false,"dataRetentionDuration": "P7D","isUpdatingMultipleMatchedRecords": false,"uri": "/contacts/imports/6","createdBy": "API.User","createdAt": "2018-01-29T14:44:42.7717370Z","updatedBy": "API.User","updatedAt": "2018-01-29T14:44:42.7717370Z"

2.10 Fields (metadata)

The Bulk API provides fields endpoints for account, contact, custom objects, and events. Activity

elements behave differently from other Eloqua elements. Activity types have their own set of

associated fields which are detailed here. In order to create export or import definitions using the Bulk

API, you need to include the statement definitions for the fields you want to retrieve or submit

(respectively).

2.10.1 Example

©2018Oracle Corporation. All rights reserved 38 of 396

Let's say wewant to export a set of contacts from Eloqua. Before we can do so, we need to know

which fields are available, and what their Eloquamarkup language statements are.

Retrieve a list of the first 10 contact field parameters:

GET /contacts/fields?limit=10

Note: there are likely to bemany more fields than 10, and the exact number differs for every

Eloqua instance, but for the purposes of this example wewill limit our scope to the first 10

fields.

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: dd60555b-2202-48e1-9a53-fc7761494cb8X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Tue,22 Sep 2015 18:42:00 GMT

Content-Length: 3575

"items":[

"name":"Email Address","internalName":"C_EmailAddress","dataType":"emailAddress","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":true,"statement":"Contact.Field(C_EmailAddress)","uri":"/contacts/fields/100001","createdAt":"1900-01-01T05:00:00.0000000Z","updatedAt":"1900-01-01T05:00:00.0000000Z"

,

"name":"First Name",

©2018Oracle Corporation. All rights reserved 39 of 396

"internalName":"C_FirstName","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_FirstName)","uri":"/contacts/fields/100002","createdAt":"1900-01-01T05:00:00.0000000Z","updatedBy":"MgrPlatformTeamPod1","updatedAt":"2014-06-16T14:43:50.8100000Z"

,

"name":"Last Name","internalName":"C_LastName","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_LastName)","uri":"/contacts/fields/100003","createdAt":"1900-01-01T05:00:00.0000000Z","updatedBy":"MgrPlatformTeamPod1","updatedAt":"2014-06-16T14:43:50.8100000Z"

,

"name":"Company","internalName":"C_Company","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_Company)","uri":"/contacts/fields/100004","createdAt":"1900-01-01T05:00:00.0000000Z","updatedBy":"MgrPlatformTeamPod1","updatedAt":"2014-06-16T14:43:50.8030000Z"

,

"name":"Email Display Name","internalName":"C_EmailDisplayName","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_

©2018Oracle Corporation. All rights reserved 40 of 396

EmailDisplayName)","uri":"/contacts/fields/100005","createdAt":"1900-01-01T05:00:00.0000000Z","updatedAt":"1900-01-01T05:00:00.0000000Z"

,

"name":"Address 1","internalName":"C_Address1","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_Address1)","uri":"/contacts/fields/100006","createdAt":"1900-01-01T05:00:00.0000000Z","updatedBy":"MgrPlatformTeamPod1","updatedAt":"2014-06-16T14:43:50.7900000Z"

,

"name":"Address 2","internalName":"C_Address2","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_Address2)","uri":"/contacts/fields/100007","createdAt":"1900-01-01T05:00:00.0000000Z","updatedBy":"MgrPlatformTeamPod1","updatedAt":"2014-06-16T14:43:50.7930000Z"

,

"name":"Address 3","internalName":"C_Address3","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_Address3)","uri":"/contacts/fields/100008","createdAt":"1900-01-01T05:00:00.0000000Z","updatedAt":"1900-01-01T05:00:00.0000000Z"

,

"name":"City",

©2018Oracle Corporation. All rights reserved 41 of 396

"internalName":"C_City","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_City)","uri":"/contacts/fields/100009","createdAt":"1900-01-01T05:00:00.0000000Z","updatedBy":"MgrPlatfoemailrmTeamPod1","updatedAt":"2014-06-16T14:43:50.8000000Z"

,

"name":"State or Province","internalName":"C_State_Prov","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_State_Prov)","uri":"/contacts/fields/100010","createdAt":"1900-01-01T05:00:00.0000000Z","updatedBy":"MgrPlatformTeamPod1","updatedAt":"2014-06-16T14:43:50.8130000Z"

],"totalResults":62,"limit":10,"offset":0,"count":10,"hasMore":true

On this list we see Email Address, First Name, Last Name, Company, Email Display

Name, Address 1, Address 2, Address 3, City and State or Province.

Let's say now wewant to export a set of contact containing email address, last name, and city

information. To do so, we would create the following export definition:

POST /contacts/exports

Request body:

©2018Oracle Corporation. All rights reserved 42 of 396

"name":"New Contact Export","fields":

"email_contact":"Contact.Field(C_EmailAddress)","family_name":"Contact.Field(C_LastName)","city_they_live_in":"Contact.Field(C_City)"

Response:

HTTP/1.1 201 CreatedCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 1cc83f79-c839-4ddd-b270-1b6b641ff996X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Tue,22 Sep 2015 18:57:10 GMT

Content-Length: 392

"name":"New Contact Export","fields":

"email_contact":"Contact.Field(C_EmailAddress)","family_name":"Contact.Field(C_LastName)","city_they_live_in":"Contact.Field(C_City)"

,"dataRetentionDuration":"P7D","uri":"/contacts/exports/32855","createdBy":"Philip.Horwitz","createdAt":"2015-09-22T18:57:10.0723218Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-09-22T18:57:10.0723218Z"

2.11 Filtering

The Bulk API allows you to create filter statements in export definitions. Filters enable you to select the

exact data that you wish to export. Filters use the comparison, logic, and existence operators specified

©2018Oracle Corporation. All rights reserved 43 of 396

by Eloqua Expression Language to filter export data based on Eloqua field values, existence in Contact

Filters, Contact Segments, Contact Lists, Account Lists, and status in AppCloud services.

Eloqua uses the SQL Server implementation of the LIKE operator.

The correct syntax format for Eloqua field values is:

'EML_field_statement' <operator> '<value>'

Note that the field, expressed in EloquaMarkup Language, and the value are both wrapped in single

quotes.

The correct syntax format for using the EXISTS existence operator is:

EXISTS('EML_entity_statement')

The correct syntax format for using the STATUS existence operator is:

STATUS('EML_service_statement') = '<status>'

Formore detail on the syntax for each entity, see Eloqua Expression Language.

Note: Filters have a 1000 character limit.

2.11.1 Simple Filters

Simple filters include one criterion and no logical operators, such as one predicate, filtering on a single

field, or one existence operator. The following export definitions illustrate simple filters:

Export contacts whose country is Belgium:

"name": "Belgian Contacts Export","fields":

"ID": "Contact.Id","FirstName": "Contact.Field(C_FirstName)","LastName": "Contact.Field(C_LastName)",

©2018Oracle Corporation. All rights reserved 44 of 396

"Country": "Contact.Field(C_Country)","filter": "'Contact.Field(C_Country)' = 'BE'"

Export activities of type "EmailClickthrough":

"name": "Bulk Activity Export - Email Clickthrough","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","ContactId": "Activity.Contact.Id","IpAddress": "Activity.Field(IpAddress)","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "

Activity.Visitor.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","EmailClickedThruLink": "Activity.Field

(EmailClickedThruLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailSendType": "Activity.Field(EmailSendType)"

,"filter": "'Activity.Type' = 'EmailClickthrough'",

Export contacts based on their presence in the Contact List with id 123:

"name": "List 123 Contacts Export","fields":

"ID": "Contact.Id","FirstName": "Contact.Field(C_FirstName)",

©2018Oracle Corporation. All rights reserved 45 of 396

"LastName": "Contact.Field(C_LastName)","EmailAddress": "Contact.Field(C_EmailAddress)"

,"filter": "EXISTS('ContactList[123]')"

Export contacts based on their presence in the Contact Segment with id 5:

"name": "Segment 5 Contacts Export","fields":

"ID": "Contact.Id","FirstName": "Contact.Field(C_FirstName)","LastName": "Contact.Field(C_LastName)","EmailAddress": "Contact.Field(C_EmailAddress)"

,"filter": "EXISTS('ContactSegment[5]')"

Note: EXISTS operators can only be used on exports of the same entity:

The ContactList, ContactFilter, or ContactSegment EXISTS operators can only be used

in filters for contact exports.

The AccountList EXISTS operator can only be used in filters for account exports.

Export contacts for which the AppCloud Action service instance id is

f82d50cd86a94fcab37e4ec9a98b0339, with an execution id of 12345 and a status is "pending":

"name": "Action Service Contacts Export","fields":

"ID": "Contact.Id","EmailAddress": "Contact.Field(C_EmailAddress)"

,"filter" : "STATUS('ActionInstance

(f82d50cd86a94fcab37e4ec9a98b0339).Execution[12345]') ='pending'"

With areSystemTimestampsInUTC request parameter set to true, export accounts that have been

©2018Oracle Corporation. All rights reserved 46 of 396

created after September 9, 2016 13:46:20.975 UTC:

"name": "System Timestamps in UTC Export","fields":

"companyName": "Account.Field(M_CompanyName)","createdDate": "Account.Field(M_DateCreated)","modifiedDate": "Account.Field(M_DateModified)"

,"areSystemTimestampsInUTC": true,"filter": "'Account.Field(M_DateCreated)' > '2016-09-

01 13:46:20.975'"

Here is an example filtering on the sameUTC date value usingmarkers:

"name":"System Timestamps in UTC Export","fields":

"companyName":"Account.Field(M_CompanyName)","createdDate":"Account.Field(M_DateCreated)","modifiedDate":"Account.Field(M_DateModified)"

,"areSystemTimestampsInUTC":true,"filter":"'Account.Field(M_DateCreated)' > '2016-09-

01T13:46:20.975Z'"

2.11.2 Complex Filters

The Bulk API also supports complex filters that filter based onmultiple criteria using the AND, OR, and

NOT operators.

You can only use one STATUS operator in a filter. You can usemultiple EXISTS operators, but they

must be linked by AND operators to the remaining predicates.

The Bulk API processes complex filters much like a WHERE clause in a SQL environment. You can use

parentheses to group predicates together.

©2018Oracle Corporation. All rights reserved 47 of 396

Important

Supported filter formats with logical operators:

(A OR B) AND (C OR D)

A AND NOT B AND (C OR D)

A AND B AND (C OR D)

A AND (B OR C)

Note: Activity exports only support the A AND B AND C filter format.

The following export definitions illustrate some complex filters:

Export contacts whose country is Belgium or France:

"name": "Belgian and French Contacts Export","fields":

"ID": "Contact.Id","FirstName": "Contact.Field(C_FirstName)","LastName": "Contact.Field(C_LastName)","Country": "Contact.Field(C_Country)"

,"filter": "'Contact.Field(C_Country)' = 'BE' OR '

Contact.Field(C_Country)' = 'FR'"

Export activities of type "EmailClickedThrough" that occurred in August 2014:

"name":"EmailClickthrough Activity Export - Aug 2014","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","ContactId": "Activity.Contact.Id","IpAddress": "Activity.Field(IpAddress)",

©2018Oracle Corporation. All rights reserved 48 of 396

"VisitorId": "Activity.Visitor.Id","VisitorExternalId": "

Activity.Visitor.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","EmailClickedThruLink": "Activity.Field

(EmailClickedThruLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailSendType": "Activity.Field(EmailSendType)"

,"filter":"'Activity.Type' = 'EmailClickthrough' AND '

Activity.CreatedAt' >= '2014-08-01' AND 'Activity.CreatedAt' < '2014-09-01'"

Export contacts whose CreatedAt field is greater than 2013-12-31 and whose Account's company

name is not Oracle and whose C_Country field is Canada or United States:

"name": "Contacts Created after 2013 - Not Oracle - Canada

or US","fields":

"firstName": "Contact.Field(C_FirstName)","lastName": "Contact.Field(C_LastName)","email": "Contact.Field(C_EmailAddress)","country": "Contact.Field(C_Country)"

,"filter": "'Contact.CreatedAt' > '2013-12-31' AND '

Contact.Account.Field(M_CompanyName)' != 'Oracle' AND ('Contact.Field(C_Country)' = 'CA' OR 'Contact.Field(C_Country)' = 'US')"

©2018Oracle Corporation. All rights reserved 49 of 396

2.12 Retrieving large volumes of data

Retrieving large volumes of data from Eloqua requires multiple requests using the offset and limit

query parameters. This tutorial will walk you through how to retrieve data surpassing the limit of 50,000

per request, including example HTTP requests and cURL.

In this tutorial:

Understanding the offset and limit query parameters

Example requests

2.12.1 Understanding the offset and limit query parameters

The query parameters limit and offset are used to specify how many records to return, and which

batch of records to return. When exporting large amounts of data surpassing 50,000, these query

parameters are required to retrieve the next batch of records since themaximum amount of records you

can retrieve at once within a single batch is 50,000.

Query parameter Description Default Maximum Examplelimit A URL parameter

that specifies themaximum numberof records to return.This can be anypositive integerbetween 1 and50000 inclusive. Ifnot specified, thedefault is 1000.

Note: Only

the /data

endpoints

have a

maximum

limit of

1000 50000

?limit=50000

©2018Oracle Corporation. All rights reserved 50 of 396

Query parameter Description Default Maximum Example

50000.

Refer to the

documentati

on for

specific

endpoints to

learnmore

about

limitations.

offset Specifies an offsetthat allows you toretrieve the nextbatch of records.Any positiveinteger. Forexample, if yourlimit is 1000,specifying an offsetof 1000 will returnrecords 1000through 2000. If notspecified, thedefault is 0.

0 N/A

?offset=1000

Note the following:

It's best practice to export data using the syncs data endpoint.

By default, data is returned in JSON format unless an Accept header is added to accept

text/csv format.

©2018Oracle Corporation. All rights reserved 51 of 396

2.12.2 Example requests

Let's say for example you have 150,000 records in your database. Since themaximum amount of

records you can retrieve at once is 50,000, you'll need tomake three separate calls to retrieve 50,000

records at a time. The following examples will walkthrough how to form these requests.

Note: The example requests below assume that our Eloqua pod is 3 and our sync id is 8.

Retrieving records 0 - 50000

To return records 0 to 50,000, we'll specify an offset of 0 and a limit of 50000.

HTTP Request

GEThttps://secure.p03.eloqua.com/api/bulk/2.0/syncs/8/data?limit=50000&offset=0

cURL Request

curl --user "APITest\API.User" --request GEThttps://secure.p03.eloqua.com/api/bulk/2.0/syncs/8/data?limit=50000&offset=0

Response

"totalResults": 150000,"limit": 50000,"offset": 0,"count": 50000,"hasMore": true,"items": [

...],

©2018Oracle Corporation. All rights reserved 52 of 396

The response displays items 0 to 50,000.

Retrieving records 50,000 - 100,000

To return records 50,000 to 100,000, we'll specify an offset of 50000 and a limit of 50000.

HTTP Request

GEThttps://secure.p03.eloqua.com/api/bulk/2.0/syncs/8/data?limit=50000&offset=50000

cURL Request

curl --user "APITest\API.User" --request GEThttps://secure.p03.eloqua.com/api/bulk/2.0/syncs/8/data?limit=50000&offset=50000

Response

"totalResults": 150000,"limit": 50000,"offset": 50000,"count": 50000,"hasMore": true,"items": [

...],

The response displays items 50,000 to 100,000.

Retrieving records 100,000 - 150,000

To return records 100,000 to 150,000, we'll specify an offset of 100000 and a limit of 50000.

HTTP Request

GET

©2018Oracle Corporation. All rights reserved 53 of 396

https://secure.p03.eloqua.com/api/bulk/2.0/syncs/8/data?limit=50000&offset=100000

cURL Request

curl --user "APITest\API.User" --request GEThttps://secure.p03.eloqua.com/api/bulk/2.0/syncs/8/data?limit=50000&offset=100000

Response

"totalResults": 150000,"limit": 50000,"offset": 100000,"count": 50000,"hasMore": false,"items": [

...],

The response displays items 100,000 to 150,000.

2.13 Exporting activities

The following steps show how to export activities from Eloqua. The same process can be used for any

activity export by changing the filter and fields definitions. See our Activities export definitions page for

a complete list.

All exports follow the same basic flow:

1. Define the export

2. Create the sync

3. Retrieve the data

©2018Oracle Corporation. All rights reserved 54 of 396

To export activities using the Bulk API:

1. Define the export

In order to export email open activities, first create an export definition. This defines the data to be

exported including any required filters. For this example wewill use the email open activity to

demonstrate the process.

Important:

There is amaximum of 5million records per Activity export sync. If necessary, you'll

need to use a date/time filter to reduce the number of records exported to below 5million.

Activity volume can be checked using Insight reports. No filter is needed if there are

fewer than 5million records. Learnmore about Bulk filtering.

There is amaximum of 10 contact fields allowed in an activity export definition. The

addition of contact fields to activity exports will add to export time.

This example uses a filter to export onemonth of data: in this case April 2015. Be sure to filter to a

smaller time-frame if you think this may still returnmore than 5million records:

"filter": "'Activity.Type'='EmailOpen' AND 'Activity.CreatedAt'>= '2015-04-01' AND 'Activity.CreatedAt' <'2015-05-01'"

Once you created an appropriate filter, create a new activity export definition. For this example, we will

include all possible email open activity fields, however you only need to use fields whose values you

need to export.

Request:

POST /activities/exports

Request body:

©2018Oracle Corporation. All rights reserved 55 of 396

"filter": "'Activity.Type'='EmailOpen'","name": "Bulk Activity Export - Email Open","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","IpAddress": "Activity.Field(IpAddress)","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType)","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

When the above export definition is POSTed to /activities/exports an export definition is created.

Eloqua responds with the following:

Response body:

"name": "Bulk Activity Export - Email Open","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","IpAddress": "Activity.Field(IpAddress)","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type",

©2018Oracle Corporation. All rights reserved 56 of 396

"AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType)","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

,"filter": "'Activity.Type'='EmailOpen'","dataRetentionDuration": "PT12H","uri": "/activities/exports/1560","createdBy": "API.User","createdAt": "2017-08-09T16:22:09.0434041Z","updatedBy": "API.User","updatedAt": "2017-08-09T16:22:09.0434041Z"

In the above response the URI /activities/exports/1560 is used to trigger the export sync. Be sure

to save this value for the following steps.

2. Create the sync

Using the URI value from step 1 (in this case /activities/exports/1560) we can now create a

sync. To do so, submit a POST request with the URI passed as the syncedInstanceUri value:

Request:

POST /syncs

Request body:

"syncedInstanceUri": "/activities/exports/1560"

A response is then received and the sync is now queued to be automatically run.

©2018Oracle Corporation. All rights reserved 57 of 396

Response body:

"syncedInstanceUri": "/activities/exports/1560","status": "pending","createdAt": "2017-08-09T16:22:09.0434041Z","createdBy": "API.User","uri": "/syncs/5744"

The status of the export can be checked by performing aGET on the URI of the sync. In this case,

/syncs/5744.

When the export is complete, the status value will be "success":

"syncedInstanceUri": "/activities/exports/1560","syncStartedAt": "2017-08-24T20:54:03.8330000Z","syncEndedAt": "2017-08-24T20:54:05.6630000Z","status": "success","createdAt": "2017-08-09T16:22:09.0434041Z","createdBy": "API.User","uri": "/syncs/5744"

3. Retrieve the data

The data can now be retrieved by performing aGET on the URI's /data endpoint, in this case

/syncs/5744/data.

Request:

GET /syncs/5744/data

By default this will return the first 1,000 records exported. In order to refine your data selection learn

more about URL parameters.

2.13.1 Related

Activities - export definitions

©2018Oracle Corporation. All rights reserved 58 of 396

2.13.2 Activities export definitions

Below are example export definition requests for all activity types. Creating an export definition is the

first step in exporting records from Eloqua. The examples use all possible export fields for each activity

type, but you only need to use the fields you wish to actually export and use. If you expect more than

5,000,000 records to be returned in any given export, be sure to filter the results further. Learnmore

about exporting activities.

Activity types:

Bounceback

Email clickthrough

Email open

Email send

Form submit

Page view

Subscribe

Unsubscribe

Web visit

Important: There is amaximum of 10 contact fields allowed in an activity export definition. The

addition of contact fields to activity exports will add to export time.

Bounceback

Request:

POST /activities/exports

©2018Oracle Corporation. All rights reserved 59 of 396

Request body:

"filter": "'Activity.Type'='Bounceback'","name": "Bulk Activity Export - Bounceback","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","DeploymentId": "Activity.Field(EmailDeploymentId)","SmtpErrorCode": "Activity.Field(SmtpErrorCode)","SmtpStatusCode": "Activity.Field(SmtpStatusCode)","SmtpMessage": "Activity.Field(SmtpMessage)"

Response body:

"name": "Bulk Activity Export - Bounceback","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","DeploymentId": "Activity.Field(EmailDeploymentId)","SmtpErrorCode": "Activity.Field(SmtpErrorCode)","SmtpStatusCode": "Activity.Field(SmtpStatusCode)","SmtpMessage": "Activity.Field(SmtpMessage)"

,

©2018Oracle Corporation. All rights reserved 60 of 396

"filter": "'Activity.Type'='Bounceback'","dataRetentionDuration": "PT12H","uri": "/activities/exports/52","createdBy": "API.User","createdAt": "2017-08-18T18:33:42.6517322Z","updatedBy": "API.User","updatedAt": "2017-08-18T18:33:42.6517322Z"

Email clickthrough

Request:

POST /activities/exports

Request body:

"filter": "'Activity.Type'='EmailClickthrough'","name": "Bulk Activity Export - Email Clickthrough","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","IpAddress": "Activity.Field(IpAddress)","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","EmailClickedThruLink": "Activity.Field

(EmailClickedThruLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType)","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

©2018Oracle Corporation. All rights reserved 61 of 396

Response body:

"name": "Bulk Activity Export - Email Clickthrough","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","IpAddress": "Activity.Field(IpAddress)","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","EmailClickedThruLink": "Activity.Field

(EmailClickedThruLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType)","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

,"filter": "'Activity.Type'='EmailClickthrough'","dataRetentionDuration": "PT12H","uri": "/activities/exports/42","createdBy": "API.User","createdAt": "2017-08-09T16:19:38.3152379Z","updatedBy": "API.User","updatedAt": "2017-08-09T16:19:38.3152379Z"

©2018Oracle Corporation. All rights reserved 62 of 396

Email open

Request:

POST /activities/exports

Request body:

"filter": "'Activity.Type'='EmailOpen'","name": "Bulk Activity Export - Email Open","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","IpAddress": "Activity.Field(IpAddress)","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType)","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

Response body:

"name": "Bulk Activity Export - Email Open","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id",

©2018Oracle Corporation. All rights reserved 63 of 396

"IpAddress": "Activity.Field(IpAddress)","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType)","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

,"filter": "'Activity.Type'='EmailOpen'","dataRetentionDuration": "PT12H","uri": "/activities/exports/43","createdBy": "API.User","createdAt": "2017-08-09T16:22:09.0434041Z","updatedBy": "API.User","updatedAt": "2017-08-09T16:22:09.0434041Z"

Email send

Request:

POST /activities/exports

Request body:

"filter": "'Activity.Type'='EmailSend'","name": "Bulk Activity Export - Email Send","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailRecipientId": "Activity.Field

(EmailRecipientId)",

©2018Oracle Corporation. All rights reserved 64 of 396

"ContactId": "Activity.Contact.Id","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType)","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

Response body:

"name": "Bulk Activity Export - Email Send","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailRecipientId": "Activity.Field

(EmailRecipientId)","ContactId": "Activity.Contact.Id","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType)","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

,"filter": "'Activity.Type'='EmailSend'","dataRetentionDuration": "PT12H","uri": "/activities/exports/44","createdBy": "API.User","createdAt": "2017-08-09T16:23:40.7095917Z","updatedBy": "API.User","updatedAt": "2017-08-09T16:23:40.7095917Z"

©2018Oracle Corporation. All rights reserved 65 of 396

Form submit

Request:

POST /activities/exports

Request body:

"filter": "'Activity.Type'='FormSubmit'","name": "Bulk Activity Export - Form Submit","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","RawData": "Activity.Field(RawData)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Contact.Field(C_

EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

Response body:

"name": "Bulk Activity Export - Form Submit","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","VisitorId": "Activity.Visitor.Id",

©2018Oracle Corporation. All rights reserved 66 of 396

"VisitorExternalId": "Activity.Visitor.ExternalId","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","RawData": "Activity.Field(RawData)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Contact.Field(C_

EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

,"filter": "'Activity.Type'='FormSubmit'","dataRetentionDuration": "PT12H","uri": "/activities/exports/33","createdBy": "API.User","createdAt": "2017-08-09T15:58:24.8762814Z","updatedBy": "API.User","updatedAt": "2017-08-09T15:58:24.8762814Z"

Page view

Request:

POST /activities/exports

Request body:

"filter": "'Activity.Type'='PageView'","name": "Bulk Activity Export - Page View","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","WebVisitId": "Activity.Field(WebVisitId)","Url": "Activity.Field(Url)","ReferrerUrl": "Activity.Field(ReferrerUrl)","IpAddress": "Activity.Field(IpAddress)","IsWebTrackingOptedIn": "Activity.Field

©2018Oracle Corporation. All rights reserved 67 of 396

(IsWebTrackingOptedIn)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Contact.Field(C_

EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

Response body:

"name": "Bulk Activity Export - Page View","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","WebVisitId": "Activity.Field(WebVisitId)","Url": "Activity.Field(Url)","ReferrerUrl": "Activity.Field(ReferrerUrl)","IpAddress": "Activity.Field(IpAddress)","IsWebTrackingOptedIn": "Activity.Field

(IsWebTrackingOptedIn)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Contact.Field(C_

EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

,"filter": "'Activity.Type'='PageView'","dataRetentionDuration": "PT12H","uri": "/activities/exports/34","createdBy": "API.User","createdAt": "2017-08-09T16:00:06.3163312Z","updatedBy": "API.User","updatedAt": "2017-08-09T16:00:06.3163312Z"

©2018Oracle Corporation. All rights reserved 68 of 396

Subscribe

Request:

POST /activities/exports

Request body:

"filter": "'Activity.Type'='Subscribe'","name": "Bulk Activity Export - Subscribe","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

Response body:

"name": "Bulk Activity Export - Subscribe","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

©2018Oracle Corporation. All rights reserved 69 of 396

,"filter": "'Activity.Type'='Subscribe'","dataRetentionDuration": "PT12H","uri": "/activities/exports/46","createdBy": "API.User","createdAt": "2017-08-09T16:32:47.6178975Z","updatedBy": "API.User","updatedAt": "2017-08-09T16:32:47.6178975Z"

Unsubscribe

Request:

POST /activities/exports

Request body:

"filter": "'Activity.Type'='Unsubscribe'","name": "Bulk Activity Export - Unsubscribe","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

Response body:

"name": "Bulk Activity Export - Unsubscribe","fields":

©2018Oracle Corporation. All rights reserved 70 of 396

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailRecipientId": "Activity.Field

(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Field(EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

,"filter": "'Activity.Type'='Unsubscribe'","dataRetentionDuration": "PT12H","uri": "/activities/exports/48","createdBy": "API.User","createdAt": "2017-08-09T16:34:42.1226315Z","updatedBy": "API.User","updatedAt": "2017-08-09T16:34:42.1226315Z"

Web visit

Request:

POST /activities/exports

Request body:

"filter": "'Activity.Type'='WebVisit'","name": "Bulk Activity Export - Web Visit","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","ReferrerUrl": "Activity.Field(ReferrerUrl)","IpAddress": "Activity.Field(IpAddress)","NumberOfPages": "Activity.Field(NumberOfPages)",

©2018Oracle Corporation. All rights reserved 71 of 396

"FirstPageViewUrl": "Activity.Field(FirstPageViewUrl)",

"Duration": "Activity.Field(Duration)","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Contact.Field(C_

EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

Response body:

"name": "Bulk Activity Export - Web Visit","fields":

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","ReferrerUrl": "Activity.Field(ReferrerUrl)","IpAddress": "Activity.Field(IpAddress)","NumberOfPages": "Activity.Field(NumberOfPages)","FirstPageViewUrl": "Activity.Field

(FirstPageViewUrl)","Duration": "Activity.Field(Duration)","ExternalId": "Activity.ExternalId","EmailAddress": "Activity.Contact.Field(C_

EmailAddress)","ContactIdExt": "Activity.Contact.Field(ContactIDExt)"

,"filter": "'Activity.Type'='WebVisit'","dataRetentionDuration": "PT12H","uri": "/activities/exports/39","createdBy": "API.User","createdAt": "2017-08-09T16:14:57.0142347Z","updatedBy": "API.User","updatedAt": "2017-08-09T16:14:57.0142347Z"

Related

Exporting activities

©2018Oracle Corporation. All rights reserved 72 of 396

2.14 Using the campaign response endpoints

The campaign response endpoints enable App Developers to send campaign responses from Eloqua

to a CRM, using an Action Service on a Program or Campaign Canvas.

Important: This feature is currently released under our Controlled Availability program. To

request access to this feature, please log in toMy Oracle Support and create a service request.

2.14.1 Feature highlights

Enables sending campaign responses to any CRM using an App Action Service on a Program

or Campaign Canvas. Previously, campaign responses could only be sent using Integration

Rules or Program Builder to a native CRM integration.

Limits use to one app service instance to ensure all campaign responses are successfully sent

to the designated CRM.

2.14.2 Use cases

The usage of the campaign response endpoints are tied to a single instance of an app service. During

the setup, users must select the app, the service, and the exact app service instance that can export

and import campaign responses. This is done to prevent other users from interacting with campaign

responses, except for the app service instance selected.

2.14.3 Workflow

The process of leveraging the campaign response endpoints is as follows:

Task Responsible RoleDevelop an Action service specifically for campaign responses App DevelopersShare the install URLwith users App DevelopersInstall the app and service Marketers

©2018Oracle Corporation. All rights reserved 73 of 396

Task Responsible RoleDrag the service into a Program or Campaign Canvas MarketersConfigure response rules MarketersActivate the campaign or program to start receiving notifications Marketers

See the following topics to get started.

Tasks

Developing for campaign responses

Campaign response setup for Marketers

2.14.4 API Reference

campaignResponses API

2.14.5 Developing for campaign responses

This tutorial provides a walkthrough of considerations when developing an app and service for

Campaign Responses. The campaign response endpoints generally work the same as other Bulk API

endpoints, however there are some unique considerations. The following guidelines aremeant to

instruct developers on how to best use the campaign response endpoints. In this tutorial:

Understanding workflows

Developing apps and services

Calling the endpoints

Troubleshooting

Understanding workflows

As an app provider, your implementation of your app workflow may be unique. Here is an example

workflow of how developers could use these endpoints:

©2018Oracle Corporation. All rights reserved 74 of 396

1. Contacts enter app service step and Eloqua notifies app.

2. App retrieves campaign responses from Eloqua with a campaign response definition.

3. App sends campaign responses to a CRM.

4. App responds back to Eloqua with a campaign response import definition for every successful

campaign response created in the CRM.

5. App uses a sync action tomove contacts along.

Developing apps and services

The following are guidelines to ensure that apps and services that are used to send campaign

responses to CRM are optimized correctly:

Ensure Records per Notification is set to 0

During Action Service registration, we recommend that the Records per Notification should be

is set to 0 given you are always going to be exporting campaign responses in a separate sync.

Calling the endpoints

POST /api/bulk/2.0/campaignResponses/exports

API reference

General endpoint usage

In the filter, your service instance ID is specified. If your service instance ID has not been selected

to consume campaign responses, a validation error will be returned.

This export requires records to be in the step. In the filter, a valid execution ID is also required, and

the validation error will be returned if there is not a valid execution ID.

"name": "Example Campaign Response Export","fields":

"CampaignResponseId": "CampaignResponse.Id","MemberStatus": "CampaignResponse.Field

(MemberStatus)","CampaignMembershipId": "CampaignResponse.Field

©2018Oracle Corporation. All rights reserved 75 of 396

(IntegrationReturnValue)","CreatedAt": "CampaignResponse.CreatedAt","CRMCampaignId": "CampaignResponse.Campaign.Field

(CRMCampaignId)","EloquaCampaignId": "CampaignResponse.Campaign.Id","EloquaCampaignName": "CampaignResponse.Campaign.Field

(CampaignName)","LeadId": "CampaignResponse.Contact.Field(C_

OracleFusionLeadID)","ContactId": "CampaignResponse.Contact.Field(C_

OracleFusionContactID)","EmailAddress": "CampaignResponse.Contact.Field(C_

EmailAddress)","filter": "STATUS('ActionInstance

(7BE704D3AF604775AD416E8D0A5AB212).Execution[12345]') ='pending'"

Date ranges

By default, when creating campaign response export definitions, you will get 30 days of campaign

responses. This is the limit of how far in the past campaign responses can be retrieved.

If you want to retrieve anything other than 30 days, developers can use a date range in the filter to

filter results to be anything less than 30 days. If a date filter is greater than 30 days, a validation error

will be returned.

Here's an example of a campaign response export definition using a date range filter.

"name": "Example Campaign Response Export with date filter","fields":

"CampaignResponseId": "CampaignResponse.Id","MemberStatus": "CampaignResponse.Field

(MemberStatus)","CampaignMembershipId": "CampaignResponse.Field

(IntegrationReturnValue)","CreatedAt": "CampaignResponse.CreatedAt","CRMCampaignId": "CampaignResponse.Campaign.Field

(CRMCampaignId)","EloquaCampaignId": "CampaignResponse.Campaign.Id","EloquaCampaignName": "CampaignResponse.Campaign.Field

(CampaignName)",

©2018Oracle Corporation. All rights reserved 76 of 396

"LeadId": "CampaignResponse.Contact.Field(C_OracleFusionLeadID)",

"ContactId": "CampaignResponse.Contact.Field(C_OracleFusionContactID)",

"EmailAddress": "CampaignResponse.Contact.Field(C_EmailAddress)"

,"filter": "STATUS('ActionInstance

(7BE704D3AF604775AD416E8D0A5AB212).Execution[12345]') ='pending' AND 'CampaignResponse.CreatedAt' > '2017-09-0113:41:20.985'"

POST /api/bulk/2.0/campaignResponses/imports

API reference

General endpoint usage

Youmust specify your service instance id with the serviceInstanceId property and this must match

the selected service instance to consume campaign responses, or else a validation error will be

returned. We recommend using the CampaignMembershipId from the CRM for the

IntegrationReturnValueCampaign Response field. The existence of the

IntegrationReturnValueCampaign Response field value is how we know not to send this

Campaign Response record in the future, so a value should be imported to this field for every campaign

response record that is successfully created in CRM.

Both the CampaignResponseId and IntegrationReturnValue fields are required in a campaign

response import. Additionally, these are the only two fields allowed in a campaign response import.

This endpoint could be used to test if your instance has been selected to consume campaign

responses, and block activating a canvas if it has not. For example, the requiresConfiguration

property on the DTO could be set to false, requiring the User to click the instance configuration. Within

configuration, there could be a “Validate instance selected to consume campaign responses” button,

which could initiate a campaign responses import with the service instance id to confirm if it’s

successful. If successful, the app could set requiresConfiguration to true and unblock activation. If

not successful, instructions could be provided on how to set the instance to consume campaign

responses.

©2018Oracle Corporation. All rights reserved 77 of 396

It's important to note that there are various campaign responses that could exist for a contact. In the

scenario where there aremultiple campaign responses for a contact and one of those responses errors,

app providers must determine how to handle that error.

Troubleshooting

If you experience any difficulty using the campaign response endpoints, see the following

troubleshooting tips.

Ensure the selected service instance within a Campaign or Program canvas is in a draft or

deactivated state before changing the selection

If the selected service instance is in an Active canvas, the selection cannot be changed. To change

the instance to consume campaign responses, the canvas the current selection is locatedmust be

deactivated.

What happens if contacts are reaching the step, but do not have any campaign responses?

If contacts reach the step, but do not have any campaign responses, records with contact fields are

sent and all campaign response fields are blank for these records.

2.14.6 Campaign response setup for Marketers

This topic instructs marketers on how to leverage the Campaign Response functionality within their

Eloqua instance. This process involves four steps:

1. Install an app developed for sending campaign responses to a CRM.

2. Drag the app service instance into a campaign or program canvas designed for campaign

responses.

3. Configure your campaign responses within Eloqua to use the app, service, and campaign or

program you have orchestrated.

4. Activate the campaign or program.

©2018Oracle Corporation. All rights reserved 78 of 396

Step 1 - Installing the app

Contact the App Provider for the app install URL. The App Provider should be able to guide you through

the installation.

Step 2 - Orchestrate a campaign or program using the app

Create a campaign or program to be used for sending campaign responses to your CRM. Here's an

example of a sample contact program, where our service is called Oracle Sales Cloud Campaign

Response Integration.

Keep the campaign or program in the draft stage for now, we will activate it during step 4. If you need

help creating a campaign or program, see the Oracle Eloqua Help Center.

Note: This is an example of a standalone campaign response Program. This step is also

commonly added to the larger CRM integration Program. Regardless of where the step is

placed, a Campaign Responses Listener is typically added to feed in contacts that have new

campaign responses as they occur.

Step 3 - Configuring campaign responses

1. Navigate to Settings > Response Rules.

2. Select Use Program and Campaign Canvas for Campaign Associations. If you do not see

this option, this feature has not been enabled yet in your instance. To request access to this

feature, please log in toMy Oracle Support and create a service request.

3. Click the drop downs to select the App, Service, and Instance you will use to consume

©2018Oracle Corporation. All rights reserved 79 of 396

campaign responses.

App: Select the app you want to use to send campaign responses to your CRM.

Service: Select the service you want to use to send campaign responses to your CRM.

Instance: Select the campaign or program instance where your app service instance is

being used to send campaign responses to your CRM. You created this in step 2.

4. Click Save.

Note: To change the instance to consume campaign responses, the canvas the current

selection is locatedmust be deactivated.

Step 4 - Activate the campaign or program

Navigate back to your campaign or program, and click Activate. You'll then start receiving campaign

responses.

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 80 of 396

3 Bulk API Endpoint Reference

This section provides detailed information about the Bulk API's service endpoints and their

parameters. You can learnmore about the following endpoints:

Accounts

Activities

Contacts

Custom objects

Email addresses

Email groups

Exports

Lead scoringmodels

Imports

Sync actions

Syncs

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.1 Accounts

3.1.1 Overview

AnOracle Eloqua Account provides group contact information.

©2018Oracle Corporation. All rights reserved 81 of 396

3.1.2 API Tasks

Exports

Retrieve a list of accounts export definitions

Retrieve a specific account export definition

Create an account export definition

Update an account export definition

Delete an account export definition

Exports data

Retrieve an account export's data

Delete an account export's data

Imports

Retrieve a list of account import definitions

Retrieve a specific account import definition

Create an account import definition

Update an account import definition

Delete an account import definition

Imports data

Upload an account import's data

Delete an account import's data

Fields (metadata)

Retrieve a list of account fields

Retrieve a specific account field

©2018Oracle Corporation. All rights reserved 82 of 396

Lists

Retrieve a list of account lists

Retrieve a specific account list

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /accounts/exports/id/data

Deletes an account export definition's data. Learnmore about Bulk API exports.

Request parameters

Required

Name Type DescriptionPossible value

(s)

id string The unique resource identifier.

Example

Delete the data for the account export definition with ID 2900:

DELETE /accounts/exports/29000/data

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 83 of 396

GET /accounts/exports/id/data

Retrieves an account export definition's synced data. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

Name Description Possible Values Example

limit A URL parameter that

dictates themaximum

number of entities to

return.

Any positive integer.

?limit=5

offset A URL parameter

specifying an offset for

batch retrieval of records

Any positive integer.

?offset=100

totalResultsA URL parameter that

captures the total

number of records that

satisfy the request. This

is not the count returned

in the current response,

but total count on the

server side.

Boolean.

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)items array The data endpoint returns whatever what synchronized. This is based

on the fields parameter set in the initial import/export definition. Learn

more about Bulk syncs.

©2018Oracle Corporation. All rights reserved 84 of 396

Example

Retrieve the synced data for the export with ID 2900:

GET /accounts/exports/29000/data

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 553f3656-0a14-4a61-9eb8-6d3bbe14e29bX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:44:28 GMT

Content-Length: 321

"totalResults":8,"limit":1000,"offset":0,"count":0,"hasMore":false,"items":[

"TestValue":"Warbucks Inc."

,

"TestValue":"Cyberdyne Systems",

"TestValue":"Hudsucker Industries",

"TestValue":"Jarndyce and Jarndyce Law"

]

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 85 of 396

DELETE /accounts/exports/id

Deletes an account export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

Example

Delete the account export definition with ID 29001:

DELETE /accounts/exports/29001

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /accounts/exports/id

Retrieves an account export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

©2018Oracle Corporation. All rights reserved 86 of 396

None.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

export definitions and synced data strictly

honor this setting.

kbUsed long The amount of spaces used in kb.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 87 of 396

Name Type DescriptionPossible value

(s)

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve the definition for the accounts export with ID = 21358:

GET /accounts/exports/21358

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: cadf9f66-3d26-4091-9c7c-c178cba0d4afX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Mon,10 Aug 2015 19:50:57 GMT

Content-Length: 296

"name":"Test Export","fields":

"accountId":"Account.Id","syncActions":[

],"dataRetentionDuration":"P7D","kbUsed":0,"id":"/accounts/exports/21586","createdBy":"Alfred.Hitchcock","createdAt":"2015-05-26T18:27:33.9530000Z","updatedBy":"Alfred.Hitchcock","updatedAt":"2015-05-26T18:27:33.9530000Z"

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 88 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /accounts/exports

Retrieves a list of account export definitions. Learnmore about Bulk API exports.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that String of the format: ?q="name=*Test*"Will find

©2018Oracle Corporation. All rights reserved 89 of 396

Name Description Possible Values Example

specifies query criteria

used to filter results.

q="<field><operator><valu

e>". Use "*" for wildcard

values.

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 90 of 396

Name Type DescriptionPossible value

(s)

export definitions and synced data strictly

honor this setting.

kbUsed long The amount of spaces used in kb.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve a list of the first 2 export definitions:

GET/accounts/exports?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: bc999be0-3911-4542-8fab-0e7530626b43X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,04 Aug 2015 19:50:58 GMT

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 91 of 396

Content-Length: 672

"items":[

"name":"Account Export Example","fields":

"accountId":"Account.Id","syncActions":[

],"dataRetentionDuration":"P7D","id":"/accounts/exports/21585","createdBy":"John.Connor","createdAt":"2015-05-26T18:24:39.1130000Z","updatedBy":"John.Connor","updatedAt":"2015-05-26T18:24:39.1130000Z"

,

"name":"Export Test","fields":

"accountId":"Account.Id","syncActions":[

],"dataRetentionDuration":"P7D","kbUsed":0,"id":"/accounts/exports/21586","createdBy":"Sarah.Connor","createdAt":"2015-05-26T18:27:33.9530000Z","updatedBy":"Sarah.Connor","updatedAt":"2015-05-26T18:27:33.9530000Z"

],"totalResults":2,"limit":1000,"offset":0,"count":2,"hasMore":false

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 92 of 396

POST /accounts/exports

Creates a new account export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

Optional

Name Type DescriptionPossible value

(s)syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 93 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

export definitions and synced data strictly

honor this setting.

kbUsed long The amount of spaces used in kb.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 94 of 396

Example

Create a new account export definition to export a list of all the Account company names in your

instance:

POST /accounts/exports

Request body:

"name":"Account Company Name Export","fields":

"ExportName":"Account.Field(M_CompanyName)"

Response:

HTTP/1.1 201 CreatedCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 8b04e435-5f56-46b8-85b4-40f3d77e1328X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:27:50 GMT

Content-Length: 303

"name":"Account Company Name Export","fields":

"ExportName":"Account.Field(M_CompanyName)","dataRetentionDuration":"P7D","id":"/accounts/exports/29001","createdBy":"Philip.Horwitz","createdAt":"2015-08-13T15:27:49.9264581Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-13T15:27:49.9264581Z"

©2018Oracle Corporation. All rights reserved 95 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

PUT /accounts/exports/id

Updates an account export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

name string The asset's name.

fields array List of fields to be included in the operation.

Note: for PUT requests, the above parameters are required for validation, but you can keep the

same: there is no requirement to change them, but your are able to if desired. Certain fields

parameters may also be required. Learnmore about bulk fields.

Optional

Name Type DescriptionPossible value

(s)syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 96 of 396

Name Type DescriptionPossible value

(s)

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

export definitions and synced data strictly

honor this setting.

kbUsed long The amount of spaces used in kb.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 97 of 396

Name Type DescriptionPossible value

(s)

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Use an export's ID to update its name and fields:

PUT /accounts/exports/21358

Request body:

"name": "A new export name","fields":

"accountId": "Account.Id"

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: fb175f95-3999-4d1e-92c3-0fff7118957eX-Powered-By: ServiceStack/3.924 Win32NT/.NET

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 98 of 396

P3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Mon,10 Aug 2015 20:00:23 GMT

Content-Length: 298

"name":"A new export name","fields":

"accountId":"Account.Id","syncActions":[

],"dataRetentionDuration":"P7D","kbUsed":0,"id":"/accounts/exports/21586","createdBy":"Philip.Horwitz","createdAt":"2015-05-26T18:27:33.9530000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-10T20:00:23.3837934Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /accounts/fields/id

Retrieves an account field definition. Learnmore about Bulk field parameters.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

©2018Oracle Corporation. All rights reserved 99 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

internalName string The field's internal name (used to uniquely

identify it).

dataType string The field's data type.

hasReadOnlyConstraint boolean Indicates whether the field can be written

to.

hasNotNullConstraint boolean Indicates whether the field can have null

values (i.e. empty).

hasUniquenessConstraintboolean Indicates whether the field must have a

unique value.

statement string Themarkup language statement used to

reference the field in an import or export

mapping.

id string The unique resource identifier.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve the definition for the accounts field with ID = 100118:

GET /accounts/imports/100118

Response:

HTTP/1.1 200 OK

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 100 of 396

Cache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 11804b3c-38be-4629-a398-cbc3931de2c7X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 18:13:20 GMT

Content-Length: 322

"name":"Industry","internalName":"M_Industry1","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Account.Field(M_Industry1)","id":"/accounts/fields/100118","createdAt":"1900-01-01T05:00:00.0000000Z","updatedAt":"1900-01-01T05:00:00.0000000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /accounts/fields

Retrieves a list of account field definitions. Learnmore about Bulk field parameters.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

Any positive integer between 1

and 1,000 inclusive.?limit=5

©2018Oracle Corporation. All rights reserved 101 of 396

Name Description Possible Values Example

number of records to

return.

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

©2018Oracle Corporation. All rights reserved 102 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

internalName string The field's internal name (used to uniquely

identify it).

dataType string The field's data type.

hasReadOnlyConstraint boolean Indicates whether the field can be written

to.

hasNotNullConstraint boolean Indicates whether the field can have null

values (i.e. empty).

hasUniquenessConstraintboolean Indicates whether the field must have a

unique value.

statement string Themarkup language statement used to

reference the field in an import or export

mapping.

id string The unique resource identifier.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve a list of the first 2 accounts field parameters:

GET /accounts/fields?limit=2

Response:

HTTP/1.1 200 OK

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 103 of 396

Cache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 68f8ec3d-b4db-4f2c-8e44-d64f6a9e8743X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 18:01:34 GMT

Content-Length: 723

"items":[

"name":"Company Name","internalName":"M_CompanyName","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":true,"hasUniquenessConstraint":false,"statement":"Account.Field(M_CompanyName)","id":"/accounts/fields/100085","createdAt":"1900-01-01T05:00:00.0000000Z","updatedAt":"1900-01-01T05:00:00.0000000Z"

,

"name":"Country","internalName":"M_Country","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Account.Field(M_Country)","id":"/accounts/fields/100088","createdAt":"1900-01-01T05:00:00.0000000Z","updatedAt":"1900-01-01T05:00:00.0000000Z"

],"totalResults":22,"limit":2,"offset":0,"count":2,"hasMore":true

©2018Oracle Corporation. All rights reserved 104 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /accounts/imports/id/data

Deletes an account import definition's data. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

Example

Delete the data for the account import definition with ID 2900:

DELETE /accounts/imports/29000/data

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /accounts/imports/id/data

Upload data for a specified account import definition. Learnmore about Bulk API imports.

Request parameters

Required

©2018Oracle Corporation. All rights reserved 105 of 396

Name Type Description

id string The unique resource identifier.

Optional

Name Description Possible Values Example

limit A URL parameter that

dictates themaximum

number of entities to

return.

Any positive integer.

?limit=5

offset A URL parameter

specifying an offset for

batch retrieval of records

Any positive integer.

?offset=100

totalResultsA URL parameter that

captures the total

number of records that

satisfy the request. This

is not the count returned

in the current response,

but total count on the

server side.

Boolean.

?totalResults=true

Response parameters

Note: POSTing data to an import's data endpoint should return a 204 "No Content" response.

Example

Upload data for the import with ID 2900:

POST /accounts/imports/29000/data

Request body:

[

©2018Oracle Corporation. All rights reserved 106 of 396

"CompanyName": "Cyberdyne"

,

"CompanyName": "Hudsucker_Industries",

"CompanyName": "Weylan-Yutani"

]

Important: The format of the above information depends on which fields are entered into the

import definition. Learnmore about Bulk API imports.

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 301ccb9a148d41c8add0f582aea82301/8662595P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,28 Sep 2015 18:35:23 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /accounts/imports/id

Deletes an account import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

©2018Oracle Corporation. All rights reserved 107 of 396

Example

Delete the account import definition with ID 29001:

DELETE /accounts/imports/29001

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /accounts/imports/id

Retrieves an account import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

©2018Oracle Corporation. All rights reserved 108 of 396

Name Type Description Possible value(s)

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

be a string value, at least 1

character and at most 100

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 109 of 396

Name Type Description Possible value(s)

definition creation. Import

definitions, export

definitions and synced data

strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will

be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

fields array List of fields to be included

in the operation.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

that last updated the entity.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 110 of 396

Name Type Description Possible value(s)

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

Example

Retrieve the definition for the accounts import with ID = 21358:

GET /accounts/imports/14052

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 55a423b4-8b80-482f-9962-6ca59ee51cc8X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Mon,17 Aug 2015 19:59:30 GMT

Content-Length: 605

"name":"Bulk Import","updateRule":"always","fields":

"M_CompanyName":"Account.Field(M_CompanyName)","M_Address1":"Account.Field(M_Address1)","M_BusPhone":"Account.Field(M_BusPhone)","M_Industry1":"Account.Field(M_Industry1)"

,"identifierFieldName":"M_CompanyName","syncActions":[

],"isSyncTriggeredOnImport":true,"dataRetentionDuration":"PT1H",

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 111 of 396

"autoDeleteDuration":"PT1H","isUpdatingMultipleMatchedRecords":false,"id":"/accounts/imports/14052","createdBy":"Philip.Horwitz","createdAt":"2015-03-11T18:40:41.6800000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-03-11T18:40:41.6800000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /accounts/imports

Retrieves a list of account import definitions. Learnmore about Bulk API imports.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

©2018Oracle Corporation. All rights reserved 112 of 396

Name Description Possible Values Example

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

©2018Oracle Corporation. All rights reserved 113 of 396

Name Type Description Possible value(s)

be a string value, at least 1

character and at most 100

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export

definitions and synced data

strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will

be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 114 of 396

Name Type Description Possible value(s)

Learnmore.

fields array List of fields to be included

in the operation.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

that last updated the entity.

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

Example

Retrieve a list of the first 2 account import definitions:

GET /accounts/imports?limit=2

Response:

HTTP/1.1 200 OK

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 115 of 396

Cache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 5f21020f-6211-4a1e-9de1-6da14ee2f985X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Mon,17 Aug 2015 19:55:59 GMT

Content-Length: 681

"items":[

"name":"Account Export Example","fields":

"accountId":"Account.Id","syncActions":[

],"dataRetentionDuration":"P7D","kbUsed":2,"id":"/accounts/exports/21585","createdBy":"Philip.Horwitz","createdAt":"2015-05-26T18:24:39.1130000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-05-26T18:24:39.1130000Z"

,

"name":"Another world","fields":

"accountId":"Account.Id","syncActions":[

],"dataRetentionDuration":"P7D","kbUsed":0,"id":"/accounts/exports/21586","createdBy":"Philip.Horwitz","createdAt":"2015-05-26T18:27:33.9530000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-10T20:00:23.3830000Z"

©2018Oracle Corporation. All rights reserved 116 of 396

],"totalResults":5,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /accounts/imports

Creates a new account import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

Optional

Name Type Description Possible value(s)

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

©2018Oracle Corporation. All rights reserved 117 of 396

Name Type Description Possible value(s)

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

be a string value, at least 1

character and at most 100

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export

definitions and synced data

strictly honor this setting.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 118 of 396

Name Type Description Possible value(s)

autoDeleteDuration dateTime1 Time until the definition will

be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

be a string value, at least 1

character and at most 100

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime2 the length of time that

1Unix time - 10 digit integer2Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 119 of 396

Name Type Description Possible value(s)

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export

definitions and synced data

strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will

be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

fields array List of fields to be included

in the operation.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 120 of 396

Name Type Description Possible value(s)

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

that last updated the entity.

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

Example

Create a new account import definition to import a list of account company names:

POST /accounts/imports

Request body:

"name":"Account Company Name Import","fields":

"CompanyName":"Account.Field(M_CompanyName)",

"identifierFieldName": "CompanyName",

Response:

HTTP/1.1 201 Created

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 121 of 396

Cache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 26e98f17-be2d-487a-b545-56253219045eX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Mon,17 Aug 2015 20:02:48 GMT

Content-Length: 413

"name":"Account Company Name Import","fields":

"CompanyName":"Account.Field(M_CompanyName)","identifierFieldName":"CompanyName","isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"id":"/accounts/imports/29298","createdBy":"Philip.Horwitz","createdAt":"2015-08-17T20:02:48.8708817Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-17T20:02:48.8708817Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

PUT /accounts/imports/id

Updates an account import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

name string The asset's name.

fields array List of fields to be included in the operation.

©2018Oracle Corporation. All rights reserved 122 of 396

Name Type DescriptionPossible value

(s)identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

Note: for PUT requests, the above parameters are required for validation, but you can keep the

same: there is no requirement to change them, but your are able to if desired. Certain fields

parameters may also be required. Learnmore about bulk fields.

Optional

Name Type Description Possible value(s)

syncActions array Specifies additional operations to

perform during the import or export.

Learnmore about Sync Actions.

updateRule RuleType Learnmore about updateRule values. always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldNamestring The field which will be used to identify

the entity. Must be a string value, at

least 1 character and at most 100

characters long.

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

©2018Oracle Corporation. All rights reserved 123 of 396

Name Type Description Possible value(s)

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

be a string value, at least 1

character and at most 100

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 124 of 396

Name Type Description Possible value(s)

definition creation. Import

definitions, export

definitions and synced data

strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will

be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

fields array List of fields to be included

in the operation.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

that last updated the entity.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 125 of 396

Name Type Description Possible value(s)

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

Example

Use an import's ID to update its name and fields:

PUT /accounts/imports/29298

Request body:

"name":"Account Company Name Import + URI","fields":

"CompanyName":"Account.Field(M_CompanyName)","accountId": "Account.Id"

,"identifierFieldName": "accountId"

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 21030368-1d53-47df-b3a8-a75de6b18730X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Mon,17 Aug 2015 20:08:45 GMT

Content-Length: 457

"name":"Account Company Name Import + URI","fields":

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 126 of 396

"CompanyName":"Account.Field(M_CompanyName)","accountId":"Account.Id"

,"identifierFieldName":"accountId","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"id":"/accounts/imports/29298","createdBy":"Philip.Horwitz","createdAt":"2015-08-17T20:02:48.8700000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-17T20:08:46.0517116Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /accounts/lists/id

Retrieves an account list definition. Learnmore about Bulk lists.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

©2018Oracle Corporation. All rights reserved 127 of 396

Name Type DescriptionPossible value

(s)

count integer The number of resource entries in your instance.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve the definition for the accounts list with ID = 1:

GET /accounts/lists/1

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 81b9e343-dd33-4a6d-a477-ca1cadd5e385X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 19:22:50 GMT

Content-Length: 239

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 128 of 396

"name":"SYSTEM - CRM Accounts","count":0,"statement":"AccountList[1]","id":"/accounts/lists/1","createdBy":"Deploy.User","createdAt":"2005-11-11T16:39:05.0000000Z","updatedBy":"Deploy.User","updatedAt":"2011-05-27T15:16:08.9800000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /accounts/lists

Retrieves a list of account list definitions. Learnmore about Bulk lists.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

©2018Oracle Corporation. All rights reserved 129 of 396

Name Description Possible Values Example

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

count integer The number of resource entries in your instance.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 130 of 396

Name Type DescriptionPossible value

(s)

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve a list of the first 2 accounts lists:

GET /accounts/fields?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 68f8ec3d-b4db-4f2c-8e44-d64f6a9e8743X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 18:01:34 GMT

Content-Length: 723

"items":[

"name":"Company Name","internalName":"M_CompanyName","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":true,"hasUniquenessConstraint":false,"statement":"Account.Field(M_CompanyName)","id":"/accounts/fields/100085","createdAt":"1900-01-01T05:00:00.0000000Z",

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 131 of 396

"updatedAt":"1900-01-01T05:00:00.0000000Z",

"name":"Country","internalName":"M_Country","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Account.Field(M_Country)","id":"/accounts/fields/100088","createdAt":"1900-01-01T05:00:00.0000000Z","updatedAt":"1900-01-01T05:00:00.0000000Z"

],"totalResults":22,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.2 Activities

3.2.1 Overview

Activities are entities which track certain defined online behavior for individual contacts. Activity

elements behave differently from other Eloqua elements: each activity type has its own set of

associated fields

Learnmore about Bulk activity fields.

©2018Oracle Corporation. All rights reserved 132 of 396

3.2.2 API Tasks

Exports

Retrieve a list of activity export definitions

Retrieve a specific activity export definition

Create an activity export definition

Update an activity export definition

Delete an activity export definition

Exports data

Retrieve an activity export's data

Delete an activity export's data

Imports

Retrieve a list of activity import definitions

Retrieve a specific activity import definition

Create an activity import definition

Update an activity import definition

Delete an activity import definition

Imports data

Upload an activity import's data

Delete an activity import's data

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /activities/exports/id/data

Deletes a specific activity export definition's data. Learnmore about Bulk API exports.

©2018Oracle Corporation. All rights reserved 133 of 396

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Example

Delete the data for the account export definition with ID 2910:

DELETE /activities/exports/29010/data

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /activities/exports/id/data

Retrieves an activity export's synced data. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

©2018Oracle Corporation. All rights reserved 134 of 396

Name Description Possible Values Example

limit A URL parameter that

dictates themaximum

number of entities to

return.

Any positive integer.

?limit=5

offset A URL parameter

specifying an offset for

batch retrieval of records

Any positive integer.

?offset=100

totalResultsA URL parameter that

captures the total

number of records that

satisfy the request. This

is not the count returned

in the current response,

but total count on the

server side.

Boolean.

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)items array The data endpoint returns whatever what synchronized. This is based

on the fields parameter set in the initial import/export definition. Learn

more about Bulk syncs.

Example

Retrieves the data for the activity export with ID = 21585:

GET /activities/exports/21585

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8

©2018Oracle Corporation. All rights reserved 135 of 396

X-Request-Id: 35fc77e850984690aa7cbd12c46ba2a8/8801866P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,28 Sep 2015 18:49:59 GMT

Content-Length: 307

"name":"Account Export Example","fields":

"accountId":"Account.Id","syncActions":[

],"dataRetentionDuration":"P7D","kbUsed":0,"uri":"/accounts/exports/21585","createdBy":"Philip.Horwitz","createdAt":"2015-05-26T18:24:39.1130000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-05-26T18:24:39.1130000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /activities/exports/id

Deletes an activity export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

Example

Delete the activity export definition with ID 4352:

©2018Oracle Corporation. All rights reserved 136 of 396

DELETE /activities/exports/4352

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /activities/exports/id

Retrieves an activity export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

syncActions array Specifies additional operations to perform

©2018Oracle Corporation. All rights reserved 137 of 396

Name Type DescriptionPossible value

(s)

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

export definitions and synced data strictly

honor this setting.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve the definition for the activities export with ID = 29388:

POST /activities/exports/29388

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 138 of 396

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: edf729d6-ea40-4627-acff-e604b0ed3866X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Mon,17 Aug 2015 19:18:10 GMT

Content-Length: 444

"name":"FS Export","fields":

"ActivityId":"Activity.Id","ActivityType":"Activity.Type","AssetType":"Activity.Asset.Type","AssetName":"Activity.Asset.Name"

,"filter":"'Activity.Type'='FormSubmit'","syncActions":[

],"dataRetentionDuration":"P7D","id":"/activities/exports/29388","createdBy":"Philip.Horwitz","createdAt":"2015-08-17T19:17:58.5530000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-17T19:17:58.5530000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /activities/exports

Retrieves a list of activity export definitions. Learnmore about Bulk API exports.

Request parameters

Required

©2018Oracle Corporation. All rights reserved 139 of 396

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

©2018Oracle Corporation. All rights reserved 140 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

export definitions and synced data strictly

honor this setting.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 141 of 396

Example

Retrieve a list of the first 2 export definitions:

GET /activities/exports?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: ba7e9372145849f1bf4da38c22551c58/8811566P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,28 Sep 2015 18:50:58 GMT

Content-Length: 1087

"items":[

"name":"Activity Export Test","fields":

"email":"Activity.Field(EmailAddress)","filter":"'Activity.Type'='Subscribe'","syncActions":[

],"dataRetentionDuration":"P7D","uri":"/activities/exports/26330","createdBy":"Philip.Horwitz","createdAt":"2015-07-16T19:08:59.8470000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-07-16T19:08:59.8470000Z"

,

"name":"Example Activity Export","fields":

"ActivityId":"Activity.Id","AssetName":"Activity.Asset.Name","ActivityType":"Activity.Type","ActivityDate":"Activity.CreatedAt","ContactId":"Activity.Contact.Id",

©2018Oracle Corporation. All rights reserved 142 of 396

"VisitorId":"Activity.Visitor.Id","AssetType":"Activity.Asset.Type","AssetId":"Activity.Asset.Id","RawData":"Activity.Field(RawData)"

,"filter":"'Activity.Type'='FormSubmit'","syncActions":[

],"dataRetentionDuration":"P7D","kbUsed":4,"uri":"/activities/exports/26331","createdBy":"Philip.Horwitz","createdAt":"2015-07-16T19:14:13.5600000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-07-16T19:14:13.5600000Z"

],"totalResults":18,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /activities/exports

Creates a new activity export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

name string The asset's name.

filter EML statement The filter parameter uses EloquaMarkup

©2018Oracle Corporation. All rights reserved 143 of 396

Name Type DescriptionPossible value

(s)

Language to only return certain results. Learnmore

about Bulk filters.

Optional

Name Type DescriptionPossible value

(s)syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

export definitions and synced data strictly

honor this setting.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 144 of 396

Name Type DescriptionPossible value

(s)

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

export definitions and synced data strictly

honor this setting.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Create a new activity export definition:

POST /activities/exports

Request body:

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 145 of 396

"name":"Form submit activity id export","fields":

"ActivityId":"Activity.Id","filter":"'Activity.Type'='FormSubmit'"

Response:

HTTP/1.1 201 CreatedCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 43cbc139-73d9-4a0b-8ee4-57fa0a4777c3X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Mon,17 Aug 2015 19:08:28 GMT

Content-Length: 445

"name":"Form submit activity id export","fields":

"ActivityId":"Activity.Id","filter":"'Activity.Type'='FormSubmit'","dataRetentionDuration":"P7D","id":"/activities/exports/29386","createdBy":"Philip.Horwitz","createdAt":"2015-08-17T19:08:29.2772694Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-17T19:08:29.2772694Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

PUT /activities/exports

Updates activity export definition. Learnmore about Bulk API exports.

Request parameters

©2018Oracle Corporation. All rights reserved 146 of 396

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

id string The unique resource identifier.

fields array List of fields to be included in the operation.

name string The asset's name.

filter EML statement The filter parameter uses EloquaMarkup

Language to only return certain results. Learnmore

about Bulk filters.

Optional

Name Type DescriptionPossible value

(s)syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

export definitions and synced data strictly

honor this setting.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 147 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import definitions,

export definitions and synced data strictly

honor this setting.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 148 of 396

Example

Update an activity export definition with the id #29388:

PUT /activities/exports/29388

Request body:

"name":"FS Export UPDATED","fields":

"ActivityId":"Activity.Id","ActivityType":"Activity.Type","ActivityId":"Activity.Id","AssetType":"Activity.Asset.Type","AssetName":"Activity.Asset.Name","AssetId":"Activity.Asset.Id"

,"filter":"'Activity.Type'='FormSubmit'"

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 200b5d6b-b40a-4f31-a59f-f96431d427e4X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Mon,17 Aug 2015 19:24:33 GMT

Content-Length: 486

"name":"FS Export UPDATED","fields":

"ActivityId":"Activity.Id","ActivityType":"Activity.Type","AssetType":"Activity.Asset.Type","AssetName":"Activity.Asset.Name","AssetId":"Activity.Asset.Id"

,

©2018Oracle Corporation. All rights reserved 149 of 396

"filter":"'Activity.Type'='FormSubmit'","syncActions":[

],"dataRetentionDuration":"P7D","id":"/activities/exports/29388","createdBy":"Philip.Horwitz","createdAt":"2015-08-17T19:17:58.5530000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-17T19:24:34.4643290Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /activities/imports/id/data

Deletes an activity import definition's data. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

Example

Delete the data for the account import definition with ID 2910:

DELETE /activities/imports/29010/data

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

©2018Oracle Corporation. All rights reserved 150 of 396

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /activities/imports/id/data

Upload data for a specified activity import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

Name Description Possible Values Example

limit A URL parameter that

dictates themaximum

number of entities to

return.

Any positive integer.

?limit=5

offset A URL parameter

specifying an offset for

batch retrieval of records

Any positive integer.

?offset=100

totalResultsA URL parameter that

captures the total

number of records that

satisfy the request. This

is not the count returned

in the current response,

but total count on the

server side.

Boolean.

?totalResults=true

©2018Oracle Corporation. All rights reserved 151 of 396

Response parameters

Note: POSTing data to an import's data endpoint should return a 204 "No Content" response.

Example

Upload the data for the import with ID 2900:

POST /activities/imports/1673/data

Request body:

[

"activityId": "1000","email": "[email protected]","type":"Registered"

,

"activityId": "1000","FirstName": "[email protected]","type":"Registered"

]

Important: The format of the above information depends on which fields are entered into the

import definition. Learnmore about Bulk API imports.

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 301ccb9a148d41c8add0f582aea82301/8662595P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,28 Sep 2015 18:35:23 GMT

©2018Oracle Corporation. All rights reserved 152 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /activities/imports/id

Deletes an activity import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

Example

Delete the activity import definition with ID 29043:

DELETE /activities/imports/29043

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /activities/imports/id

Retrieves an activity import definition. Learnmore about Bulk API imports.

Request parameters

Required

©2018Oracle Corporation. All rights reserved 153 of 396

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

be a string value, at least 1

character and at most 100

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 154 of 396

Name Type Description Possible value(s)

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export

definitions and synced data

strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will

be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

fields array List of fields to be included

in the operation.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

id string The unique resource

identifier.

createdBy string The login name of the user

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 155 of 396

Name Type Description Possible value(s)

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

that last updated the entity.

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

Example

Retrieve the definition for the activity import with ID = 21358:

GET /activities/imports/14052

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 1f6da680-cedd-4ae5-97b4-8f5094a84b6aX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 16:10:09 GMT

Content-Length: 481

"name":"Test import 2","fields":

"ActivityType":"Activity.Type",

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 156 of 396

"AssetType":"Activity.Asset.Type","AssetName":"Activity.Asset.Name"

,"identifierFieldName":"ActivityType","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"id":"/activities/imports/29378","createdBy":"Philip.Horwitz","createdAt":"2015-08-18T15:35:26.9070000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-18T15:35:26.9070000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /activities/imports

Retrieves a list of activity import definitions. Learnmore about Bulk API imports.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

©2018Oracle Corporation. All rights reserved 157 of 396

Name Description Possible Values Example

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

©2018Oracle Corporation. All rights reserved 158 of 396

Name Type Description Possible value(s)

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

be a string value, at least 1

character and at most 100

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export

definitions and synced data

strictly honor this setting.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 159 of 396

Name Type Description Possible value(s)

autoDeleteDuration dateTime1 Time until the definition will

be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

fields array List of fields to be included

in the operation.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

that last updated the entity.

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 160 of 396

Example

Retrieve a list of the first 2 import definitions:

GET /activities/imports?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 37f110c6-a690-467b-8f4c-dc4452f723b4X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 16:06:49 GMT

Content-Length: 1066

"items":[

"name":"Test import","fields":

"ActivityId":"Activity.Id","ActivityType":"Activity.Type","AssetType":"Activity.Asset.Type","AssetName":"Activity.Asset.Name"

,"identifierFieldName":"ActivityId","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"id":"/activities/imports/29377","createdBy":"Philip.Horwitz","createdAt":"2015-08-18T15:32:17.8700000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-18T15:32:17.8700000Z"

,

"name":"Test import 2",

©2018Oracle Corporation. All rights reserved 161 of 396

"fields":"ActivityType":"Activity.Type","AssetType":"Activity.Asset.Type","AssetName":"Activity.Asset.Name"

,"identifierFieldName":"ActivityType","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"id":"/activities/imports/29378","createdBy":"Philip.Horwitz","createdAt":"2015-08-18T15:35:26.9070000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-18T15:35:26.9070000Z"

],"totalResults":2,"limit":2,"offset":0,"count":2,"hasMore":false

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /activities/imports

Creates a new activity import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

Optional

©2018Oracle Corporation. All rights reserved 162 of 396

Name Type Description Possible value(s)

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

be a string value, at least 1

character and at most 100

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 163 of 396

Name Type Description Possible value(s)

definitions, export

definitions and synced data

strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will

be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime2 the length of time that

unsync’d data from this

import should remain in

the staging area. Bulk API

2.0 uses the ISO-8601

1Unix time - 10 digit integer2Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 164 of 396

Name Type Description Possible value(s)

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export

definitions and synced

data strictly honor this

setting.

autoDeleteDuration dateTime1 Time until the definition

will be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

fields array List of fields to be included

in the operation.

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 165 of 396

Name Type Description Possible value(s)

updatedBy string The login name of the user

that last updated the

entity.

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

Example

Activity import steps:

Given Eloqua configuration of external activities:

External Asset Type: Tradeshow

External Activity: Viewed a Demo

Create a new activity import definition:

POST /activities/imports

Request body:

"name": "External Activity Import via Bulk API","updateRule": "always","dataRetentionDuration": "PT1H","fields":

"C_EmailAddress": "Activity.Contact.Field(C_EmailAddress)",

"CampaignID": "Activity.Campaign.Id","AssetName": "Activity.Asset.Name","AssetType": "Activity.Asset.Type","AssetDate": "Activity.CreatedAt","ActivityType": "Activity.Type"

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 166 of 396

Important: When creating Activity imports the following fields are required:

"C_EmailAddress": "Activity.Contact.Field(C_EmailAddress)"

"CampaignID": "Activity.Campaign.Id"

"AssetName":"Activity.Asset.Name"

"AssetType":"Activity.Asset.Type"

"AssetDate": "Activity.CreatedAt"

"ActivityType": "Activity.Type"

Response:

"name": "External Activity Import via Bulk API","updateRule": "always","fields":

"C_EmailAddress": "Activity.Contact.Field(C_EmailAddress)",

"CampaignID": "Activity.Campaign.Id","AssetName": "Activity.Asset.Name","AssetType": "Activity.Asset.Type","AssetDate": "Activity.CreatedAt","ActivityType": "Activity.Type"

,"isSyncTriggeredOnImport": true,"dataRetentionDuration": "PT1H","isUpdatingMultipleMatchedRecords": false,"uri": "\/activities\/imports\/4219","createdBy": "api.user","createdAt": "2015-12-17T17:39:59.3643557Z","updatedBy": "api.user","updatedAt": "2015-12-17T17:39:59.3643557Z"

Post data to import definition:

POST /activities/imports/4219/data (URI returned in import

©2018Oracle Corporation. All rights reserved 167 of 396

definition POST)

Response:

["C_EmailAddress": "[email protected]","CampaignID": 505,"AssetName": "Booth Demo","AssetType": "Tradeshow","AssetDate": "2015-12-12T14:45:00Z","ActivityType": "Viewed a Demo"

]

C_EmailAddress is the email address of the contact who performed the activity.

CampaignID is the ID of the campaign that the activity is to be associated to.

AssetName is the descriptive name to add to the activity record.

AssetType is the configured External Activity Type to be used for the activity record.

AssetDate is the date and time the activity happened.

ActivityTypes is the email address of the contact who performed the activity.

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

PUT /activities/imports/id

Updates an activity import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)

id string The unique resource identifier.

name string The asset's name.

fields array List of fields to be included in the operation.

©2018Oracle Corporation. All rights reserved 168 of 396

Name Type DescriptionPossible value

(s)

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

Note: for PUT requests, the above parameters are required for validation, but you can keep the

same: there is no requirement to change them, but your are able to if desired. Certain fields

parameters may also be required. Learnmore about bulk fields.

Optional

Name Type Description Possible value(s)

syncActions array Specifies additional operations to

perform during the import or export.

Learnmore about Sync Actions.

updateRule RuleType Learnmore about updateRule values. always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldNamestring The field which will be used to identify

the entity. Must be a string value, at

least 1 character and at most 100

characters long.

©2018Oracle Corporation. All rights reserved 169 of 396

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

be a string value, at least 1

character and at most 100

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 170 of 396

Name Type Description Possible value(s)

explicitly set during export

definition creation. Import

definitions, export

definitions and synced data

strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will

be deleted.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

fields array List of fields to be included

in the operation.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

that last updated the entity.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 171 of 396

Name Type Description Possible value(s)

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

Example

Use an import's ID to update its name and fields:

PUT /activities/imports/29298

Request body:

"name":"Test import 5000","fields":"ActivityId":"Activity.Id",

"ActivityType":"Activity.Type","AssetType":"Activity.Asset.Type","AssetName":"Activity.Asset.Name"

,"identifierFieldName":"ActivityId"

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: b7eb00d4-3937-4ab6-a6ef-a8042a404f92X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 16:14:57 GMT

Content-Length: 510

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 172 of 396

"name":"Test import 5000","fields":

"ActivityId":"Activity.Id","ActivityType":"Activity.Type","AssetType":"Activity.Asset.Type","AssetName":"Activity.Asset.Name"

,"identifierFieldName":"ActivityId","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"id":"/activities/imports/29378","createdBy":"Philip.Horwitz","createdAt":"2015-08-18T15:35:26.9070000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-18T16:14:56.9983037Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.3 Contacts

3.3.1 Overview

A contact is a data entity that contains the explicit data around an individual person in the database.

Learnmore about contacts.

3.3.2 API Tasks

Exports

Retrieve a list of contact export definitions

Retrieve a specific contact export definition

©2018Oracle Corporation. All rights reserved 173 of 396

Create a contact export definition

Update a contact export definition

Delete a contact export definition

Exports data

Retrieve a contact export's data

Delete a contact export's data

Imports

Retrieve a list of contact import definitions

Retrieve a specific contact import definition

Create a contact import definition

Update a contact import definition

Delete a contact import definition

Imports data

Upload a contact import's data

Delete a contact import's data

Filters

Retrieve a list of contact filters

Retrieve a specific contact filter

Fields (metadata)

Retrieve a list of contact fields

Retrieve a specific contact fields

Lists

Retrieve a list of contact lists

©2018Oracle Corporation. All rights reserved 174 of 396

Retrieve a specific contact list

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /contacts/exports/id/data

Deletes a contact export definition's data. Learnmore about Bulk API exports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

Example

Delete the data for the contact export definition with ID 2900:

DELETE /contacts/exports/29000/data

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/exports/id/data

Retrieves a contact export definition's synced data. Learnmore about Bulk API exports.

Request parameters

©2018Oracle Corporation. All rights reserved 175 of 396

Required

Name Type Description

id string The unique resource identifier.

Optional

Name Description Possible Values Example

limit A URL parameter that

dictates themaximum

number of entities to

return.

Any positive integer.

?limit=5

offset A URL parameter

specifying an offset for

batch retrieval of records

Any positive integer.

?offset=100

totalResultsA URL parameter that

captures the total

number of records that

satisfy the request. This

is not the count returned

in the current response,

but total count on the

server side.

Boolean.

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)items array The data endpoint returns whatever what synchronized. This is based

on the fields parameter set in the initial import/export definition. Learn

more about Bulk syncs.

Example

Retrieve the synced data for the export with ID 2900:

GET /contacts/exports/29588/data

©2018Oracle Corporation. All rights reserved 176 of 396

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 71133ccd0017418ab3994d897292ffd3/14982191P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Fri,02 Oct 2015 14:06:21 GMT

Content-Length: 414

"totalResults":7,"limit":1000,"offset":0,"count":7,"hasMore":false,"items":[

"EmailAddress":"[email protected]"

,

"EmailAddress":"[email protected]",

"EmailAddress":"[email protected]",

"EmailAddress":"[email protected]",

"EmailAddress":"[email protected]",

"EmailAddress":"[email protected]",

"EmailAddress":"[email protected]"

]

©2018Oracle Corporation. All rights reserved 177 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /contacts/export/id

Deletes a contact export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

Example

Delete the contact export definition with id = 29801:

DELETE /contacts/exports/29801

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/exports/id

Retrieves a contact export definition. Learnmore about Bulk API exports.

Request parameters

Required

©2018Oracle Corporation. All rights reserved 178 of 396

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 179 of 396

Name Type DescriptionPossible value

(s)

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve the definition for the contact export with id = 10:

GET /contacts/exports/10

Response:

"name":"ContentInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[8] triggeredexport",

"fields":"Id":"Contact.Id","EmailAddress":"Contact.Field(C_EmailAddress)","FirstName":"Contact.Field(C_FirstName)","[Id~]":"Contact.Id"

,"filter":"STATUS('ContentInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[8]') ='pending'",

"syncActions":[

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 180 of 396

"destination":"ContentInstance(da6ed61da73441dba1349582a4fa8a2c)",

"action":"setStatus","status":"active"

],"dataRetentionDuration":"P2D","autoDeleteDuration":"P7D","uri":"/contacts/exports/10","createdBy":"EloquaSystem","createdAt":"2014-06-18T19:54:39.4700000Z","updatedBy":"EloquaSystem","updatedAt":"2014-06-18T19:54:39.4700000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/exports

Retrieves a list of contact export definitions. Learnmore about Bulk API exports.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results Format: orderBy=[term]%20

[asc|desc]?orderBy=createdAt%20des

©2018Oracle Corporation. All rights reserved 181 of 396

Name Description Possible Values Example

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Must match the pattern "^.*

(ASC|DESC)$"

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

©2018Oracle Corporation. All rights reserved 182 of 396

Name Type DescriptionPossible value

(s)

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 183 of 396

Example

Retrieve a list of the first 2 export definitions:

GET/contacts/exports?limit=2

Response:

"items":[

"name":"ContentInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[1] triggeredexport",

"fields":"Id":"Contact.Id","EmailAddress":"Contact.Field(C_

EmailAddress)","FirstName":"Contact.Field(C_FirstName)","[Id~]":"Contact.Id"

,"filter":"STATUS('ContentInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[1]') ='pending'",

"syncActions":[

"destination":"ContentInstance(da6ed61da73441dba1349582a4fa8a2c)",

"action":"setStatus","status":"active"

],"dataRetentionDuration":"P2D","autoDeleteDuration":"P7D","id":"/contacts/exports/1","createdBy":"EloquaSystem","createdAt":"2014-06-17T19:43:41.7430000Z","updatedBy":"EloquaSystem","updatedAt":"2014-06-17T19:43:41.7430000Z"

,

"name":"ContentInstance(da6ed61da73441dba1349582a4fa8a2c).Execution[2] triggeredexport",

"fields":

©2018Oracle Corporation. All rights reserved 184 of 396

"Id":"Contact.Id","EmailAddress":"Contact.Field(C_

EmailAddress)","FirstName":"Contact.Field(C_FirstName)","[Id~]":"Contact.Id"

,"filter":"STATUS('ContentInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[2]') ='pending'",

"syncActions":[

"destination":"ContentInstance(da6ed61da73441dba1349582a4fa8a2c)",

"action":"setStatus","status":"active"

],"dataRetentionDuration":"P2D","autoDeleteDuration":"P7D","id":"/contacts/exports/2","createdBy":"EloquaSystem","createdAt":"2014-06-17T19:46:08.7130000Z","updatedBy":"EloquaSystem","updatedAt":"2014-06-17T19:46:08.7130000Z"

],"totalResults":29574,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /contacts/exports

Creates a new contact export definition. Learnmore about Bulk API exports.

Request parameters

Required

©2018Oracle Corporation. All rights reserved 185 of 396

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

Optional

Name Type DescriptionPossible value

(s)syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 186 of 396

Name Type DescriptionPossible value

(s)

fields array List of fields to be included in the operation.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 187 of 396

Name Type DescriptionPossible value

(s)

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Create a new contact export definition to export a list of lead scoring fields from the lead scoringmodel

with id#1 and email addresses:

POST /contacts/exports

Request body:

"name": "Contact Lead Score Export","fields":

"Rating": "Contact.LeadScore.Model[1].Rating","Profile": "Contact.LeadScore.Model

[1].ProfileScore","Engagement": "Contact.LeadScore.Model

[1].EngagementScore","EmailAddress": "Contact.Field(C_EmailAddress)"

Response:

"name": "Contact Lead Score Export","fields":

"Rating": "Contact.LeadScore.Model[1].Rating","Profile": "Contact.LeadScore.Model

[1].ProfileScore","Engagement": "Contact.LeadScore.Model

[1].EngagementScore","EmailAddress": "Contact.Field(C_EmailAddress)"

,

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 188 of 396

"dataRetentionDuration": "P7D","uri": "/contacts/exports/29588","createdBy": "Api.User","createdAt": "2015-08-19T20:51:28.8201911Z","updatedBy": "Api.User","updatedAt": "2015-08-19T20:51:28.8201911Z"

Note: Only one lead scoringmodel can be used per contact export definition.

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

PUT /contacts/exports/id

Updates a contact export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier. id

name string The asset's name.

fields array List of fields to be included in the operation.

Note: for PUT requests, the above parameters are required for validation, but you can keep the

same: there is no requirement to change them, but your are able to if desired. Certain fields

parameters may also be required. Learnmore about bulk fields.

Optional

Name Type DescriptionPossible value

(s)syncActions array Specifies additional operations to perform

during the import or export. Learnmore

©2018Oracle Corporation. All rights reserved 189 of 396

Name Type DescriptionPossible value

(s)

about Sync Actions.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 190 of 396

Name Type DescriptionPossible value

(s)

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Use an export's ID to update its name and fields:

PUT /contacts/exports/29588

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 191 of 396

Request body:

"name": "A new export name","fields":

"accountId": "Account.Id"

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 39416c10-8502-46a2-900a-8bde6e4fd3f4X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Wed,19 Aug 2015 20:58:16 GMT

Content-Length: 371

"name":"New name","fields":

"Id":"Contact.Id","EmailAddress":"Contact.Field(C_EmailAddress)","FirstName":"Contact.Field(C_FirstName)"

,"syncActions":[

],"dataRetentionDuration":"P7D","uri":"/contacts/exports/29588","createdBy":"Philip.Horwitz","createdAt":"2015-08-19T20:51:28.8200000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-19T20:58:15.9182608Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 192 of 396

GET /contacts/fields/id

Retrieves a contact field definition. Learnmore about Bulk field parameters.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

internalName string The field's internal name (used to uniquely

identify it).

dataType string The field's data type.

hasReadOnlyConstraint boolean Indicates whether the field can be written

to.

hasNotNullConstraint boolean Indicates whether the field can have null

values (i.e. empty).

hasUniquenessConstraintboolean Indicates whether the field must have a

unique value.

statement string Themarkup language statement used to

reference the field in an import or export

mapping.

id string The unique resource identifier.

©2018Oracle Corporation. All rights reserved 193 of 396

Name Type DescriptionPossible value

(s)

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve the definition for the contact field with ID = 100010:

GET /contacts/fields/100010

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 8ab4f1c9-909c-4ec9-812c-13ca90ad5d41X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Thu,20 Aug 2015 19:08:20 GMT

Content-Length: 367

"name":"State or Province","internalName":"C_State_Prov","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_State_Prov)","uri":"/contacts/fields/100010","createdAt":"1900-01-01T05:00:00.0000000Z",

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 194 of 396

"updatedBy":"MgrPlatformTeamPod1","updatedAt":"2014-06-16T14:43:50.8130000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/fields

Retrieves a list of contact field definitions. Learnmore about Bulk field parameters.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$" ?orderBy=createdAt%20des

c

©2018Oracle Corporation. All rights reserved 195 of 396

Name Description Possible Values Example

for data endpoints)

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

internalName string The field's internal name (used to uniquely

identify it).

dataType string The field's data type.

hasReadOnlyConstraint boolean Indicates whether the field can be written

to.

hasNotNullConstraint boolean Indicates whether the field can have null

values (i.e. empty).

hasUniquenessConstraintboolean Indicates whether the field must have a

unique value.

statement string Themarkup language statement used to

reference the field in an import or export

mapping.

©2018Oracle Corporation. All rights reserved 196 of 396

Name Type DescriptionPossible value

(s)

id string The unique resource identifier.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

updatedBy string The login name of the user that last

updated the entity.

Example

Retrieve a list of the first 2 contact field parameters:

GET /accounts/fields?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 473e4dda-c885-43c0-9f8b-097d39a80d45X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Thu,20 Aug 2015 19:04:40 GMT

Content-Length: 773

"items":[

"name":"Email Address","internalName":"C_EmailAddress","dataType":"emailAddress",

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 197 of 396

"hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":true,"statement":"Contact.Field(C_EmailAddress)","uri":"/contacts/fields/100001","createdAt":"1900-01-01T05:00:00.0000000Z","updatedAt":"1900-01-01T05:00:00.0000000Z"

,

"name":"First Name","internalName":"C_FirstName","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"Contact.Field(C_FirstName)","uri":"/contacts/fields/100002","createdAt":"1900-01-01T05:00:00.0000000Z","updatedBy":"MgrPlatformTeamPod1","updatedAt":"2014-06-16T14:43:50.8100000Z"

],"totalResults":62,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/filters/id

Retrieves a contact filter that matches the criteria specified in the URL parameters.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

©2018Oracle Corporation. All rights reserved 198 of 396

None.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

count integer The number of resource entries in your instance.

statement string Themarkup language statement used to

reference the field in an import or export mapping.

id string The unique resource identifier.

createdBy string The login name of the user who created the entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve the contact filter with id #100057:

GET /contacts/filters/100057

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 2a766a70-b865-4dc6-82cb-f6951c020b18X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNT

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 199 of 396

STA",

Date: Wed,16 Sep 2015 13:37:02 GMT

Content-Length: 301

"name":"Filter Criteria 1","count":541,"executedAt":"2015-06-22T14:19:38.6970000Z","statement":"ContactFilter[100057]","uri":"/contacts/filters/100057","createdBy":"Philip.Horwitz","createdAt":"2015-06-22T14:19:29.1070000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-06-22T14:19:41.6000000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/filters

Retrieves a list of contact filters that match the criteria specified in the URL parameters.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

None.

©2018Oracle Corporation. All rights reserved 200 of 396

Name Description Possible Values Example

next batch of records.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

count integer The number of resource entries in your instance.

statement string Themarkup language statement used to

©2018Oracle Corporation. All rights reserved 201 of 396

Name Type DescriptionPossible value

(s)

reference the field in an import or export mapping.

id string The unique resource identifier.

createdBy string The login name of the user who created the entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve a list of the contact filters with "Touch" somewhere in the name field:

GET /contacts/filters?q="name=*Touch*"

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 5c955e9d-8f5c-4ece-a86f-f447cba420b9X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Wed,16 Sep 2015 13:23:12 GMT

Content-Length: 925

"items":[

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 202 of 396

"name":"Lead Score - Last High Touch Event - Last180 Days",

"count":0,"statement":"ContactFilter[100050]","uri":"/contacts/filters/100050","createdBy":"Deploy.User","createdAt":"2010-02-24T18:40:36.1230000Z","updatedBy":"Deploy.User","updatedAt":"2010-02-24T18:40:36.1230000Z"

,

"name":"Lead Score - Last High Touch Event - Last30 Days",

"count":0,"statement":"ContactFilter[100051]","uri":"/contacts/filters/100051","createdBy":"Deploy.User","createdAt":"2010-02-24T18:41:07.0200000Z","updatedBy":"Deploy.User","updatedAt":"2010-02-24T18:41:07.0200000Z"

,

"name":"Lead Score - Last High Touch Event - Last60 Days",

"count":0,"statement":"ContactFilter[100052]","uri":"/contacts/filters/100052","createdBy":"Deploy.User","createdAt":"2010-02-24T18:41:30.9070000Z","updatedBy":"Deploy.User","updatedAt":"2010-12-22T00:21:40.3970000Z"

],"totalResults":3,"limit":1000,"offset":0,"count":3,"hasMore":false

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 203 of 396

DELETE /contacts/imports/id/data

Deletes a contact import definition's data. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

Example

Delete the contact import definition with ID 2900:

DELETE /contacts/imports/29000/data

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /contacts/imports/id/data

Uploads data for a contact import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

©2018Oracle Corporation. All rights reserved 204 of 396

Name Description Possible Values Example

limit A URL parameter that

dictates themaximum

number of entities to

return.

Any positive integer.

?limit=5

offset A URL parameter

specifying an offset for

batch retrieval of records

Any positive integer.

?offset=100

totalResultsA URL parameter that

captures the total

number of records that

satisfy the request. This

is not the count returned

in the current response,

but total count on the

server side.

Boolean.

?totalResults=true

Response parameters

Note: POSTing data to an import's data endpoint should return a 204 "No Content" response.

Example

Upload data for the import with ID 29686:

POST /contacts/exports/29686/data

Request body:

[

"firstName": "John","lastName": "Connor"

,

©2018Oracle Corporation. All rights reserved 205 of 396

"firstName": "Sarah","lastName": "Connor"

]

Important: The format of the above information depends on which fields are entered into the

import definition. Learnmore about Bulk API imports.

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 4e1669f3-95de-4757-8744-1c7b2768d7a7P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Fri,21 Aug 2015 20:24:59 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /contacts/import/id

Deletes a contact import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)id string The unique resource identifier.

Example

Delete the account import definition with ID 29701:

DELETE /contacts/imports/29701

©2018Oracle Corporation. All rights reserved 206 of 396

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/import/id

Retrieves an contact import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

©2018Oracle Corporation. All rights reserved 207 of 396

Name Type Description Possible value(s)

useFieldRule

fields array List of fields to be included

in the operation.

identifierFieldName string The field which will be

used to identify the entity.

Must be a string value, at

least 1 character and at

most 100 characters long.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 208 of 396

Name Type Description Possible value(s)

explicitly set during export

definition creation. Import

definitions, export

definitions and synced

data strictly honor this

setting.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

that last updated the

entity.

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

Example

Retrieve the definition for the contact import with ID = 1:

GET /contacts/imports/1

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 209 of 396

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: df953f3c-154d-4401-a61e-b2c2e0a27710X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Fri,21 Aug 2015 19:55:13 GMT

Content-Length: 498

"name":"demo","updateRule":"always","fields":

"Email":"Contact.Field(C_EmailAddress)","FirstName":"Contact.Field(C_FirstName)","LastName":"Contact.Field(C_LastName)"

,"identifierFieldName":"Email","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P1D","isUpdatingMultipleMatchedRecords":false,"uri":"/contacts/imports/1","createdBy":"Chad.Russell","createdAt":"2014-06-18T17:46:26.2230000Z","updatedBy":"Chad.Russell","updatedAt":"2014-06-18T17:46:26.2230000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/imports

Retrieves a list of contact import definitions. Learnmore about Bulk API imports.

Request parameters

©2018Oracle Corporation. All rights reserved 210 of 396

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

Boolean

?totalResults=true

©2018Oracle Corporation. All rights reserved 211 of 396

Name Description Possible Values Example

total count on the server

side.

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

fields array List of fields to be included

in the operation.

identifierFieldName string The field which will be

used to identify the entity.

Must be a string value, at

least 1 character and at

most 100 characters long.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 212 of 396

Name Type Description Possible value(s)

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export

definitions and synced

data strictly honor this

setting.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 213 of 396

Name Type Description Possible value(s)

that last updated the

entity.

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

Example

Retrieve a list of the first 2 contact import definitions:

GET /contacts/imports?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 369a036d-e38d-4394-9434-ab8b7a7b1ed4X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Fri,21 Aug 2015 19:46:48 GMT

Content-Length: 1076

"items":[

"name":"demo","updateRule":"always","fields":

"Email":"Contact.Field(C_EmailAddress)","FirstName":"Contact.Field(C_FirstName)","LastName":"Contact.Field(C_LastName)"

,"identifierFieldName":"Email","syncActions":[

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 214 of 396

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P1D","isUpdatingMultipleMatchedRecords":false,"uri":"/contacts/imports/1","createdBy":"Chad.Russell","createdAt":"2014-06-18T17:46:26.2230000Z","updatedBy":"Chad.Russell","updatedAt":"2014-06-18T17:46:26.2230000Z"

,

"name":"demo","updateRule":"always","fields":

"Email":"Contact.Field(C_EmailAddress)","FirstName":"Contact.Field(C_FirstName)","LastName":"Contact.Field(C_LastName)"

,"identifierFieldName":"Email","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P1D","isUpdatingMultipleMatchedRecords":false,"uri":"/contacts/imports/2","createdBy":"Chad.Russell","createdAt":"2014-06-18T17:49:38.5500000Z","updatedBy":"Chad.Russell","updatedAt":"2014-06-18T17:49:38.5500000Z"

],"totalResults":17919,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 215 of 396

POST /contacts/imports

Creates a new account import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

Optional

Name Type Description Possible value(s)

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldName string The field which will be used

to identify the entity. Must

be a string value, at least 1

character and at most 100

©2018Oracle Corporation. All rights reserved 216 of 396

Name Type Description Possible value(s)

characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export

definitions and synced data

strictly honor this setting.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

Response parameters

Name Type Description Possible value(s)

name string The asset's name.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 217 of 396

Name Type Description Possible value(s)

updateRule RuleType Learnmore about

updateRule values.

always

ifNewIsNotNull

ifExistingIsNull

useFieldRule

fields array List of fields to be included

in the operation.

identifierFieldName string The field which will be

used to identify the entity.

Must be a string value, at

least 1 character and at

most 100 characters long.

syncActions array Specifies additional

operations to perform

during the import or export.

Learnmore

about Sync Actions.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this

import should remain in the

staging area. Bulk API 2.0

uses the ISO-8601

standard for specifying all

durations. Valid values are

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 218 of 396

Name Type Description Possible value(s)

anything from PT1H (1

hour) to P2W (2 weeks).

This setting will default to

P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export

definitions and synced

data strictly honor this

setting.

isUpdatingMultipleMatchedRecordsstring Whether or not imported

data will bemapped to

multiple existing records.

Learnmore.

id string The unique resource

identifier.

createdBy string The login name of the user

who created the entity.

createdAt dateTime1 The date and time the

entity was created,

expressed in Unix time.

updatedBy string The login name of the user

that last updated the

entity.

updatedAt dateTime1 The date and time the

entity was last updated,

expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 219 of 396

Example

Create a new contact import definition to import a list of names:

POST /contacts/imports

Request body:

"name":"Contact Name Import","fields":

"FirstName":"Contact.Field(C_FirstName)",

"identifierFieldName": "FirstName"

Response:

HTTP/1.1 201 CreatedCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: a8502ae3-0444-4282-a377-1fe79134273fX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Fri,21 Aug 2015 20:07:05 GMT

Content-Length: 399

"name":"Contact Name Import","fields":

"FirstName":"Contact.Field(C_FirstName)","identifierFieldName":"FirstName","isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"uri":"/contacts/imports/29686","createdBy":"Philip.Horwitz","createdAt":"2015-08-21T20:07:05.9198818Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-21T20:07:05.9198818Z"

©2018Oracle Corporation. All rights reserved 220 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

PUT /contacts/import/id

Updates a contact import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

id string The unique resource identifier.

Note: for PUT requests, the above parameters are required for validation, but you can keep the

same: there is no requirement to change them, but your are able to if desired. Certain fields

parameters may also be required. Learnmore about bulk fields.

Optional

Name Type Description Possible value(s)

syncActions array Specifies additional operations to

perform during the import or export.

Learnmore about Sync Actions.

updateRule RuleType Learnmore about updateRule values. always

ifNewIsNotNull

©2018Oracle Corporation. All rights reserved 221 of 396

Name Type Description Possible value(s)

ifExistingIsNull

useFieldRule

importPriorityUri uri Must reference an existing

/imports/priorities/id.

identifierFieldNamestring The field which will be used to identify

the entity. Must be a string value, at

least 1 character and at most 100

characters long.

Response parameters

The field values here will correspond to the field value ids of the relevant asset.

Example

Use an import's ID to update its name and fields:

PUT /contacts/imports/29686

Request body:

"name":"Contact Name Import","fields":

"FirstName":"Contact.Field(C_FirstName)","LastName":"Contact.Field(C_LastName)"

,"identifierFieldName": "FirstName"

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 28697c12-4c67-4498-bcae-c15269d7c467X-Powered-By: ServiceStack/3.924 Win32NT/.NET

©2018Oracle Corporation. All rights reserved 222 of 396

P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Fri,21 Aug 2015 20:12:44 GMT

Content-Length: 459

"name":"Contact Name Import","fields":

"FirstName":"Contact.Field(C_FirstName)","LastName":"Contact.Field(C_LastName)"

,"identifierFieldName":"FirstName","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"uri":"/contacts/imports/29686","createdBy":"Philip.Horwitz","createdAt":"2015-08-21T20:07:05.9200000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-08-21T20:12:44.4438586Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/lists/id

Retrieves a contact list. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

©2018Oracle Corporation. All rights reserved 223 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

count integer The number of resource entries in your instance.

statement string Themarkup language statement used to

reference the field in an import or export mapping.

id string The unique resource identifier.

createdBy string The login name of the user who created the entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve the list with id = 22:

GET /contacts/lists/22

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: c369a36c-f50d-4b58-adb3-c95ef4e1ef4eX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Thu,

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 224 of 396

27 Aug 2015 20:38:36 GMTContent-Length: 278

"name":"00 - TEMPLATE - Event Registrants","count":0,"statement":"ContactList[22]","uri":"/contacts/lists/22","createdBy":"Deploy.User","createdAt":"2006-04-05T17:13:45.1700000Z","updatedBy":"2cf3412b-67d4-4569-b46d-68637e18764e","updatedAt":"2008-03-24T17:05:51.7400000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/segments

Retrieves a list of contact lists. Learnmore about Bulk API exports.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

Format: orderBy=[term]%20

[asc|desc]?orderBy=createdAt%20des

c

©2018Oracle Corporation. All rights reserved 225 of 396

Name Description Possible Values Example

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Must match the pattern "^.*

(ASC|DESC)$"

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

count integer The number of resource entries in your instance.

statement string Themarkup language statement used to

reference the field in an import or export mapping.

id string The unique resource identifier.

createdBy string The login name of the user who created the entity.

©2018Oracle Corporation. All rights reserved 226 of 396

Name Type DescriptionPossible value

(s)

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve 2 contact lists:

GET /contacts/lists?limit=2&offset=10

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: d50aa018-9861-4190-b397-189a68de4902X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Thu,27 Aug 2015 20:34:36 GMT

Content-Length: 580

"items":[

"name":"IP Warming - Contacts Bounced Back","count":0,"statement":"ContactList[54]","uri":"/contacts/lists/54",

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 227 of 396

"createdBy":"Deploy.User","createdAt":"2011-05-27T15:30:17.4000000Z","updatedBy":"Deploy.User","updatedAt":"2011-05-27T15:30:17.4000000Z"

,

"name":"SYSTEM - CRM Converted Leads","count":0,"statement":"ContactList[50]","uri":"/contacts/lists/50","createdBy":"Deploy.User","createdAt":"2011-05-27T15:14:34.8030000Z","updatedBy":"Deploy.User","updatedAt":"2011-05-27T15:14:34.8030000Z"

],"totalResults":27,"limit":2,"offset":10,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/segment/id

Retrieves a contact segment. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

©2018Oracle Corporation. All rights reserved 228 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

count integer The number of resource entries in your instance.

executedAt dateTime1 The time and date the entity was last used.

statement string Themarkup language statement used to

reference the field in an import or export mapping.

id string The unique resource identifier.

createdBy string The login name of the user who created the entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve the segment with id = 3:

GET /contacts/segments/3

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 63cc4d25-df28-43a4-92f3-c96f4712446eX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNT

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 229 of 396

STA",

Date: Thu,27 Aug 2015 20:30:01 GMT

Content-Length: 250

"name":"Sandwich Crew","count":0,"statement":"ContactSegment[3]","uri":"/contacts/segments/3","createdBy":"SandwichMan","createdAt":"2015-05-28T19:33:45.5300000Z","updatedBy":"MgrPlatformTeamPod1","updatedAt":"2015-05-28T20:08:35.2770000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /contacts/segments

Retrieves a list of contact segments. Learnmore about Bulk API exports.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

©2018Oracle Corporation. All rights reserved 230 of 396

Name Description Possible Values Example

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

count integer The number of resource entries in your instance.

©2018Oracle Corporation. All rights reserved 231 of 396

Name Type DescriptionPossible value

(s)

executedAt dateTime1 The time and date the entity was last used.

statement string Themarkup language statement used to

reference the field in an import or export mapping.

id string The unique resource identifier.

createdBy string The login name of the user who created the entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve a list of the first 2 contact segments:

GET/contacts/segments?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 7fcd93e1-d5ac-4302-99d6-666326d301bdX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Thu,27 Aug 2015 20:28:24 GMT

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 232 of 396

Content-Length: 654

"items":[

"name":"Untitled Segment","count":0,"executedAt":"2015-05-05T18:37:14.7730000Z","statement":"ContactSegment[2]","uri":"/contacts/segments/2","createdBy":"Philip.Horwitz","createdAt":"2015-05-05T18:37:12.3900000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-05-05T18:37:14.8700000Z"

,

"name":"Test Segment","count":541,"executedAt":"2015-06-22T14:19:41.3070000Z","statement":"ContactSegment[4]","uri":"/contacts/segments/4","createdBy":"Philip.Horwitz","createdAt":"2015-06-22T14:19:26.4030000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-06-22T14:19:41.4300000Z"

],"totalResults":3,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 233 of 396

3.4 Custom objects

3.4.1 Overview

Custom objects are a complement to the standard Data Entities (i.e. Contacts, Companies).

Essentially, custom objects are used for twomain functions: linking directly to a Contact and

performing actions based on information collected without duplication.

Learnmore about custom objects.

3.4.2 Bulk API Tasks

Exports

Create a new custom object export definition

Update a custom object export definition

Delete a custom object export definition

Retrieve a list of export definitions for a specified custom object

Retrieve a specified export definition for a specified custom object

Export data

Create data for a custom object export

Delete data for a custom object export

Imports

Create a new custom object import definition

Update a custom object import definition

Delete a custom object import definition

Retrieve a list of import definitions for a specified custom object

Retrieve a specified import definition for a specified custom object

©2018Oracle Corporation. All rights reserved 234 of 396

Import data

Retrieve data for a custom object import

Delete data for a custom object import

Fields (custom object metadata)

Retrieve a list of custom object fields

Retrieve a specific custom object field

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /customobjects/parent id/exports/id/data

Deletes the synced data for the specified custom object export definition. Learnmore about Bulk API

exports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

number.

Optional

None.

Example

Delete the synced data for the custom object with id #9 and its export definition with the id #32091:

GET /customobjects/9/exports/32091/data

Response:

©2018Oracle Corporation. All rights reserved 235 of 396

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET/customobjects/parent id/exports/id/data

Retrieves the synced data for the specified custom object export definition. Learnmore about Bulk API

imports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

number.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)items array A list of the custom object's export data.

Example

Retrieve the synced data for the custom object with id #9 and export definition with the id #32091:

GET /customobjects/9/exports/32091/data

©2018Oracle Corporation. All rights reserved 236 of 396

Note: Custom objects are unique to each Eloqua installation. Examples here will not map

directly to your custom objects and their fields. You can obtain a list of all custom objects using

the GET /customObjects endpoint. Once you have a custom object's id #, you can retrieve its

field list by using the GET /customobjects/id/fields endpoint: this will allow you to create

accurate import/export definitions.

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 21c455c5-af43-468c-a27d-3ee5c78df616X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,14 Sep 2015 20:06:47 GMT

Content-Length: 122

"totalResults":1,"limit":1000,"offset":0,"count":0,"hasMore":false,"items":[

"ID":"DPLTO00000000001","Inflated":"yes"

"ID":"DPLTO00000000002","Inflated":"no"

"ID":"DPLTO00000000003","Inflated":"yes"

]

©2018Oracle Corporation. All rights reserved 237 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /customobjects/parent id/exports/id

Deletes the specified custom object export definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

number.

Optional

None.

Example

Delete the export definition with the id #32091 for the custom object with id #9:

GET /customobjects/9/exports/32091

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 238 of 396

GET /customobjects/id/exports

Retrieves the list of export definitions for the custom object with the specified id. Learnmore about

Bulk API exports.

Request parameters

Required

Name Type Description

id string The custom object's unique resource identifier.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

©2018Oracle Corporation. All rights reserved 239 of 396

Name Description Possible Values Example

values. string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

items array A list of the custom object's exports.

Example

Retrieve the export definitions for the custom object with id #5:

GET /customObjects/5/exports

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: bfeeb563-e006-4321-a868-a86c17c2ff71X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Wed,19 Aug 2015 20:27:23 GMT

Content-Length: 1480

©2018Oracle Corporation. All rights reserved 240 of 396

"count": 1,"hasMore": false,"items": [

"createdAt": "2014-08-12T18:30:46.5070000Z","createdBy": "Docs.Example","fields":

"ID": "CustomObject[5].Field[70]","email": "CustomObject[5].Field[73]","name": "CustomObject[5].Field[74]"

,"name": "Example Custom Object Export","syncActions": [],"updatedAt": "2014-08-12T18:30:46.5070000Z","updatedBy": "Docs.Example","uri": "/customObjects/5/exports/189"

],"limit": 1000,"offset": 0,"totalResults": 1

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /customobjects/parent id/exports/id

Retrieves the specified export definition for the specified custom object. Learnmore about Bulk API

exports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

number.

Optional

©2018Oracle Corporation. All rights reserved 241 of 396

None.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 242 of 396

Name Type DescriptionPossible value

(s)

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve the export definition with the id #32091 for the custom object with id #9:

GET /customobjects/9/exports/32091

Note: Custom objects are unique to each Eloqua installation. Examples here will not map

directly to your custom objects and their fields. You can obtain a list of all custom objects using

the GET /customObjects endpoint. Once you have a custom object's id #, you can retrieve its

field list by using the GET /customobjects/id/fields endpoint: this will allow you to create

accurate import/export definitions.

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: bc6673bd-2b52-4683-80d0-2ce0f02852d1X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 243 of 396

14 Sep 2015 19:58:57 GMTContent-Length: 355

"name":"Hot Air Balloon Export","fields":

"inflated":"CustomObject[9].Field[99]","ID":"CustomObject[9].ExternalId"

,"syncActions":[

],"dataRetentionDuration":"P7D","uri":"/customObjects/9/exports/32091","createdBy":"Philip.Horwitz","createdAt":"2015-09-14T19:45:46.2070000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-09-14T19:45:46.2070000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /customobjects/parent id/exports

Creates a new export definition for the specified custom object. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

Optional

None.

©2018Oracle Corporation. All rights reserved 244 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 245 of 396

Name Type DescriptionPossible value

(s)

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Create a new "Hot Air Balloon" custom object (id #9) export:

GET /customobjects/9/exports

Request body:

"name": "Hot Air Balloon Export","fields":

"inflated": "CustomObject[9].Field[99]","ID": "CustomObject[9].ExternalId"

Note: Custom objects are unique to each Eloqua installation. Examples here will not map

directly to your custom objects and their fields. You can obtain a list of all custom objects using

the GET /customObjects endpoint. Once you have a custom object's id #, you can retrieve its

field list by using the GET /customobjects/id/fields endpoint: this will allow you to create

accurate import/export definitions.

Response:

HTTP/1.1 201 CreatedCache-Control: privateContent-Type: application/json; charset=utf-8

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 246 of 396

X-Request-Id: 8e56d2f7-3b00-492a-bc59-8b454edae26eX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,14 Sep 2015 19:45:45 GMT

Content-Length: 338

"name":"Hot Air Balloon Export","fields":

"inflated":"CustomObject[9].Field[99]","ID":"CustomObject[9].ExternalId"

,"dataRetentionDuration":"P7D","uri":"/customObjects/9/exports/32091","createdBy":"Philip.Horwitz","createdAt":"2015-09-14T19:45:46.2078245Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-09-14T19:45:46.2078245Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

PUT /customobjects/parent id/exports/id

Updates the specified export definition for the specified custom object. Learnmore about Bulk API

exports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

number.

Optional

None.

©2018Oracle Corporation. All rights reserved 247 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

filter EML

statement

The filter parameter uses EloquaMarkup

Language to only return certain results.

Learnmore about Bulk filters.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 248 of 396

Name Type DescriptionPossible value

(s)

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Update the export definition with the id #32091 for the custom object with id #9:

GET /customobjects/9/exports/32091

Request body:

"name": "Hot Air Balloon Export","fields":

"UPDATED_FIELD": "CustomObject[9].Field[99]","ID": "CustomObject[9].ExternalId"

Note: Custom objects are unique to each Eloqua installation. Examples here will not map

directly to your custom objects and their fields. You can obtain a list of all custom objects using

the GET /customObjects endpoint. Once you have a custom object's id #, you can retrieve its

field list by using the GET /customobjects/id/fields endpoint: this will allow you to create

accurate import/export definitions.

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 249 of 396

X-Request-Id: 59aa042c-1145-42bf-a088-f2e921ce72f5X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,14 Sep 2015 20:01:12 GMT

Content-Length: 360

"name":"Hot Air Balloon Export","fields":

"UPDATED_FIELD":"CustomObject[9].Field[99]","ID":"CustomObject[9].ExternalId"

,"syncActions":[

],"dataRetentionDuration":"P7D","uri":"/customObjects/9/exports/32091","createdBy":"Philip.Horwitz","createdAt":"2015-09-14T19:45:46.2070000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-09-14T20:01:12.6525519Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /customobjects/parent id/fields/id

Retrieves a list of the fields for the custom object with the given id. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object's field's resource identification number.

Optional

©2018Oracle Corporation. All rights reserved 250 of 396

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

©2018Oracle Corporation. All rights reserved 251 of 396

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

internalName string The field's internal name (used to uniquely

identify it).

dataType string The field's data type.

hasReadOnlyConstraint boolean Indicates whether the field can be written

to.

hasNotNullConstraint boolean Indicates whether the field can have null

values (i.e. empty).

hasUniquenessConstraintboolean Indicates whether the field must have a

unique value.

statement string Themarkup language statement used to

reference the field in an import or export

mapping.

id string The unique resource identifier.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve the custom object field with id #91 for the custom object with id #6:

GET /customobjects/6/fields/91

Response:

HTTP/1.1 200 OK

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 252 of 396

Cache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: b5c52d62-8da4-4636-987f-93442d1a0bd9X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,14 Sep 2015 18:30:59 GMT

Content-Length: 241

"name":"Purchase ID","internalName":"Purchase_ID1","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":true,"statement":"CustomObject[6].Field[91]","uri":"/customObjects/6/fields/91"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /customobjects/id/fields

Retrieves a list of the fields for the custom object with the given id. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

id string The custom object's resource identification number.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

Any positive integer between 1

and 1,000 inclusive.?limit=5

©2018Oracle Corporation. All rights reserved 253 of 396

Name Description Possible Values Example

number of records to

return.

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

The field values here will correspond to the field value ids of the relevant custom object asset.

©2018Oracle Corporation. All rights reserved 254 of 396

Example

Retrieve a list of the first 5 custom object fields for the custom object with id #6:

GET /customobjects/6/fields?limit=5

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 129c3323-201c-4f38-a323-741f997174ecX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,14 Sep 2015 18:18:58 GMT

Content-Length: 1305

"items":[

"name":"Email Address","internalName":"Email_Address1","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"CustomObject[6].Field[45]","uri":"/customObjects/6/fields/45"

,

"name":"Product Name","internalName":"Product_Name1","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"CustomObject[6].Field[46]","uri":"/customObjects/6/fields/46"

,

"name":"Renewal Date","internalName":"Renewal_Date1",

©2018Oracle Corporation. All rights reserved 255 of 396

"dataType":"date","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"CustomObject[6].Field[47]","uri":"/customObjects/6/fields/47"

,

"name":"Product Renewed?","internalName":"Product_Renewed_1","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":false,"statement":"CustomObject[6].Field[48]","uri":"/customObjects/6/fields/48"

,

"name":"Purchase ID","internalName":"Purchase_ID1","dataType":"string","hasReadOnlyConstraint":false,"hasNotNullConstraint":false,"hasUniquenessConstraint":true,"statement":"CustomObject[6].Field[91]","uri":"/customObjects/6/fields/91"

],"totalResults":15,"limit":5,"offset":0,"count":5,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /customobjects/parent id/imports/id/data

Deletes the synced data for the specified custom object import definition. Learnmore about Bulk API

imports.

Request parameters

©2018Oracle Corporation. All rights reserved 256 of 396

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

number.

Optional

None.

Example

Delete the synced data for the custom object with id #9 and its import definition with the id #32091:

GET /customobjects/9/imports/32091/data

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /customobjects/parent id/imports/id/data

Posts data for the specified custom object import definition. Learnmore about Bulk API exports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

©2018Oracle Corporation. All rights reserved 257 of 396

Name Type Description

number.

Optional

None.

Response parameters

Note: POSTing data to an import's data endpoint should return a 204 "No Content" response.

Example

Post data for export definition with the id #32082 (under the custom object with id #9):

POST /customobjects/9/imports/32082/data

Request body:

"ID":"1","Inflated":"yes"

"ID":"2","Inflated":"no"

"ID":"3","Inflated":"yes"

Important: The format of the above information depends on which fields are entered into the

import definition. Learnmore about Bulk API imports.

©2018Oracle Corporation. All rights reserved 258 of 396

Note: Custom objects are unique to each Eloqua installation. Examples here will not map

directly to your custom objects and their fields. You can obtain a list of all custom objects using

the GET /customObjects endpoint. Once you have a custom object's id #, you can retrieve its

field list by using the GET /customobjects/id/fields endpoint: this will allow you to create

accurate import/export definitions.

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 4e1669f3-95de-4757-8744-1c7b2768d7a7P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Fri,21 Aug 2015 20:24:59 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

DELETE /customobjects/parent id/imports/id

Deletes the specified custom object import definition. Learnmore about Bulk API imports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

number.

Optional

None.

©2018Oracle Corporation. All rights reserved 259 of 396

Example

Delete the import definition with the id #32091 for the custom object with id #9:

GET /customobjects/9/imports/32091

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: 1d518d4d-efe2-4fac-af3f-377391474d3aP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Thu,13 Aug 2015 15:35:51 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /customobjects/id/imports

Retrieves the list of import definitions for the custom object with the specified id. Learnmore about

Bulk API imports.

Request parameters

Required

Name Type Description

id string The custom object's unique resource identifier.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that None.

©2018Oracle Corporation. All rights reserved 260 of 396

Name Description Possible Values Example

allows to retrieve the

next batch of records.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

items array A list of the custom object's exports.

Example

Requests a single import definitions for the custom object with id #26:

©2018Oracle Corporation. All rights reserved 261 of 396

GET /customObjects/26/imports?limit=1

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: bfeeb563-e006-4321-a868-a86c17c2ff71X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Wed,19 Aug 2015 20:27:23 GMT

Content-Length: 1480

"count": 1,"hasMore": false,"items": [

"createdAt": "2014-08-13T14:20:21.3430000Z","createdBy": "Docs.Example","fields":

"email": "CustomObject[26].Field[510]","identifierFieldName": "email","isSyncTriggeredOnImport": false,"isUpdatingMultipleMatchedRecords": false,"name": "Example Custom Object Import","syncActions": [],"updatedAt": "2014-08-13T14:20:21.3430000Z","updatedBy": "Docs.Example","uri": "/customObjects/26/imports/1672"

],"limit": 1,"offset": 0,"totalResults": 1

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 262 of 396

GET /customobjects/parent id/imports/id

Retrieves the specified import definition for the specified custom object. Learnmore about Bulk API

exports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

number.

Optional

None.

Response parameters

Name Type DescriptionPossible

value(s)

id string The custom object export

definition's resource identification

number.

parent id string The custom object's resource

identification number.

mapDataCardsCaseSensitiveMatch boolean Perform a case sensitive search

whenmapping custom object

records to a contact or account.

Valuemust

be: true or

false.

name string The asset's name.

fields array List of fields to be included in the

operation.

identifierFieldName String Specifies which field to use to

match the imported data to existing

Required.

Must be a

©2018Oracle Corporation. All rights reserved 263 of 396

Name Type DescriptionPossible

value(s)

Eloqua data. string value of

1 to 100

characters.

isSyncTriggeredOnImport Boolean Specifies whether the sync is

triggered automatically upon

import.

dataRetentionDuration Duration Time until the staged data will be

deleted

isUpdatingMultipleMatchedRecordsBoolean Specifies whether Eloqua should

updatemultiple records if multiple

records match the

identifierFieldName.

syncActions array Specifies additional operations to

perform during the import or export.

Learnmore about Sync Actions.

id string The unique resource identifier.

createdBy string The login name of the user who

created the entity.

createdAt dateTime1 The date and time the entity was

created, expressed in Unix time.

updatedBy string The login name of the user that last

updated the entity.

updatedAt dateTime1 The date and time the entity was

last updated, expressed in Unix

time.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 264 of 396

Example

Retrieve the import definition with the id #32082 for the custom object with id #9:

GET /customobjects/9/exports/32082

Note: Custom objects are unique to each Eloqua installation. Examples here will not map

directly to your custom objects and their fields. You can obtain a list of all custom objects using

the GET /customObjects endpoint. Once you have a custom object's id #, you can retrieve its

field list by using the GET /customobjects/id/fields endpoint: this will allow you to create

accurate import/export definitions.

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 7eda0236-c8a8-46f4-87a5-4fb40512d534X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Tue,15 Sep 2015 19:38:13 GMT

Content-Length: 519

"id":32082,"parentId":9,"mapDataCardsCaseSensitiveMatch":false,"name":"Hot Air Balloon Import","fields":

"ID":"CustomObject[9].ExternalId","INFLATED":"CustomObject[9].Field[99]"

,"identifierFieldName":"ID","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D",

©2018Oracle Corporation. All rights reserved 265 of 396

"isUpdatingMultipleMatchedRecords":false,"uri":"/customObjects/9/imports/32082","createdBy":"Philip.Horwitz","createdAt":"2015-09-15T19:27:02.3570000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-09-15T19:36:50.9370000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /customobjects/parent id/imports

Creates a new import definition for the specified custom object. Learnmore about Bulk API imports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

Optional

Name Type DescriptionPossible value

(s)mapDataCards Boolean Whether or not data cards will bemapped

on import.mapDataCardsEntityFieldstring This field specifies which Eloqua entity

field will be used for mapping.

mapDataCardsSourceFieldstring This field specifies the source documentfield that will be used for matching.

mapDataCardsEntityType string This field specifies the entity of thecustom data object import.

©2018Oracle Corporation. All rights reserved 266 of 396

Response parameters

Name Type DescriptionPossible

value(s)

id string The custom object export

definition's resource identification

number.

parent id string The custom object's resource

identification number.

mapDataCardsCaseSensitiveMatch boolean Perform a case sensitive search

whenmapping custom object

records to a contact or account.

Valuemust

be: true or

false.

name string The asset's name.

fields array List of fields to be included in the

operation.

identifierFieldName String Specifies which field to use to

match the imported data to existing

Eloqua data.

Required.

Must be a

string value of

1 to 100

characters.

isSyncTriggeredOnImport Boolean Specifies whether the sync is

triggered automatically upon

import.

dataRetentionDuration Duration Time until the staged data will be

deleted

isUpdatingMultipleMatchedRecordsBoolean Specifies whether Eloqua should

updatemultiple records if multiple

records match the

identifierFieldName.

syncActions array Specifies additional operations to

perform during the import or export.

Learnmore about Sync Actions.

©2018Oracle Corporation. All rights reserved 267 of 396

Name Type DescriptionPossible

value(s)

id string The unique resource identifier.

createdBy string The login name of the user who

created the entity.

createdAt dateTime1 The date and time the entity was

created, expressed in Unix time.

updatedBy string The login name of the user that last

updated the entity.

updatedAt dateTime1 The date and time the entity was

last updated, expressed in Unix

time.

Example

Create a new "Hot Air Balloon" custom object (id #9) import:

GET /customobjects/9/imports

Request body:

"name": "Hot Air Balloon Import","fields":

"inflated": "CustomObject[9].Field[99]","ID": "CustomObject[9].ExternalId"

"identifierFieldName": "ID"

Note: Custom objects are unique to each Eloqua installation. Examples here will not map

directly to your custom objects and their fields. You can obtain a list of all custom objects using

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 268 of 396

the GET /customObjects endpoint. Once you have a custom object's id #, you can retrieve its

field list by using the GET /customobjects/id/fields endpoint: this will allow you to create

accurate import/export definitions.

Response:

HTTP/1.1 201 CreatedCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 093ac4dd-6dcf-4002-8358-a10d834f12deX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Tue,15 Sep 2015 19:27:02 GMT

Content-Length: 501

"id":32082,"parentId":9,"mapDataCardsCaseSensitiveMatch":false,"name":"Hot Air Balloon Import","fields":

"inflated":"CustomObject[9].Field[99]","ID":"CustomObject[9].ExternalId"

,"identifierFieldName":"ID","isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"uri":"/customObjects/9/imports/32082","createdBy":"Philip.Horwitz","createdAt":"2015-09-15T19:27:02.3559836Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-09-15T19:27:02.3559836Z"

Create a new custom object import andmap records to contacts via contact ID:

GET /customobjects/9/imports

Request body:

©2018Oracle Corporation. All rights reserved 269 of 396

"name": "Simple CDO Contact Import 2","mapDataCards": "true","mapDataCardsEntityField": "Contact.Field

(ContactIDExt)","mapDataCardsSourceField": "contactID","mapDataCardsEntityType": "Contact","mapDataCardsCaseSensitiveMatch": "false","updateRule": "always","dataRetentionDuration": "PT12H","fields":

"email": "CustomObject[8].Field[58]","first": "CustomObject[8].Field

[405]","contactID": "CustomObject[8].Field

[406]",

"identifierFieldName": "contactID"

Note: In the Request body example, note the following:

"mapDataCardsEntityField": "Contact.Field(ContactIDExt)"

This is the internal Eloqua name for the Eloqua Contact ID field.

"mapDataCardsSourceField": "contactID"

This is the source field from imported data that will be used for mapping.

"contactID": "CustomObject[8].Field[406]""

Whichever field you are using for mapping has to exist in both entities (in this case on a

contact record and CDO record). Meaning you have to create a new custom data object

field for the contactID value.

Response:

"id": 836,

©2018Oracle Corporation. All rights reserved 270 of 396

"parentId": 8,"mapDataCards": true,"mapDataCardsCaseSensitiveMatch": false,"mapDataCardsEntityField": "Contact.Field

(ContactIDExt)","mapDataCardsSourceField": "contactID","mapDataCardsEntityType": "Contact","name": "Simple CDO Contact Import 2","updateRule": "always","fields":

"email": "CustomObject[8].Field[58]",

"first": "CustomObject[8].Field[405]",

"contactID": "CustomObject[8].Field[406]"

,"identifierFieldName": "contactID","isSyncTriggeredOnImport": false,"dataRetentionDuration": "PT12H","isUpdatingMultipleMatchedRecords": false,"uri": "/customObjects/8/imports/836","createdBy": "API.User","createdAt": "2016-02-01T21:43:03.7931253Z","updatedBy": "API.User","updatedAt": "2016-02-01T21:43:03.7931253Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

PUT /customobjects/parent id/imports/id

Updates the specified import definition for the specified custom object. Learnmore about Bulk API

imports.

Request parameters

Required

Name Type Description

parent id string The custom object's resource identification number.

id string The custom object export definition's resource identification

©2018Oracle Corporation. All rights reserved 271 of 396

Name Type Description

number.

Optional

None.

Response parameters

Name Type DescriptionPossible

value(s)

id string The custom object export

definition's resource identification

number.

parent id string The custom object's resource

identification number.

mapDataCardsCaseSensitiveMatch boolean Perform a case sensitive search

whenmapping custom object

records to a contact or account.

Valuemust

be: true or

false.

name string The asset's name.

fields array List of fields to be included in the

operation.

identifierFieldName String Specifies which field to use to

match the imported data to existing

Eloqua data.

Required.

Must be a

string value of

1 to 100

characters.

isSyncTriggeredOnImport Boolean Specifies whether the sync is

triggered automatically upon

import.

dataRetentionDuration Duration Time until the staged data will be

deleted

isUpdatingMultipleMatchedRecordsBoolean Specifies whether Eloqua should

©2018Oracle Corporation. All rights reserved 272 of 396

Name Type DescriptionPossible

value(s)

updatemultiple records if multiple

records match the

identifierFieldName.

syncActions array Specifies additional operations to

perform during the import or export.

Learnmore about Sync Actions.

id string The unique resource identifier.

createdBy string The login name of the user who

created the entity.

createdAt dateTime1 The date and time the entity was

created, expressed in Unix time.

updatedBy string The login name of the user that last

updated the entity.

updatedAt dateTime1 The date and time the entity was

last updated, expressed in Unix

time.

Example

Update the import definition with the id #32082 for the custom object with id #9:

GET /customobjects/9/exports/32082

Request body:

"name": "Hot Air Balloon Import","fields":

"NEW_FIELD": "CustomObject[9].Field[99]",

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 273 of 396

"ID": "CustomObject[9].ExternalId""identifierFieldName": "ID"

Note: Custom objects are unique to each Eloqua installation. Examples here will not map

directly to your custom objects and their fields. You can obtain a list of all custom objects using

the GET /customObjects endpoint. Once you have a custom object's id #, you can retrieve its

field list by using the GET /customobjects/id/fields endpoint: this will allow you to create

accurate import/export definitions.

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: b809d5c5-87eb-44a6-a643-a0649affcb9dX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Tue,15 Sep 2015 19:36:50 GMT

Content-Length: 519

"id":32082,"parentId":9,"mapDataCardsCaseSensitiveMatch":false,"name":"Hot Air Balloon Import","fields":

"NEW_FIELD":"CustomObject[9].Field[99]","ID":"CustomObject[9].ExternalId"

,"identifierFieldName":"ID","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,

©2018Oracle Corporation. All rights reserved 274 of 396

"uri":"/customObjects/9/imports/32082","createdBy":"Philip.Horwitz","createdAt":"2015-09-15T19:27:02.3570000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-09-15T19:36:50.9368454Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.4.3GET /customobjects/id

Retrieves a custom object that matches the criteria specified in the URL parameters.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

displayNameFieldUri string The relative uri used to reference the custom

object field that represents the display field,

for this custom object.

emailAddressFieldUristring The relative uri used to reference the custom

object field that represents an email

©2018Oracle Corporation. All rights reserved 275 of 396

Name Type DescriptionPossible value

(s)

address, for this custom object.

uniqueFieldUri string The relative uri used to reference the custom

object field that has a uniqueness constraint

on it, for this custom object.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve the custom object with id #6:

GET /customobjects/6

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 794b0757-94ed-4b49-aa73-e0f3f5491a1eX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 276 of 396

14 Sep 2015 14:54:16 GMTContent-Length: 238

"name":"Purchase History","uniqueFieldUri":"/customObjects/6/fields/91","uri":"/customObjects/6","createdBy":"EloquaSystem","createdAt":"2014-06-16T14:43:46.8670000Z","updatedBy":"EloquaSystem","updatedAt":"2014-06-16T14:43:47.0230000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.4.4GET /customobjects

Retrieves all custom objects that match the criteria specified in the URL parameters. Learnmore about

Bulk API exports.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

©2018Oracle Corporation. All rights reserved 277 of 396

Name Description Possible Values Example

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

displayNameFieldUri string The relative uri used to reference the custom

object field that represents the display field,

for this custom object.

©2018Oracle Corporation. All rights reserved 278 of 396

Name Type DescriptionPossible value

(s)

emailAddressFieldUristring The relative uri used to reference the custom

object field that represents an email

address, for this custom object.

uniqueFieldUri string The relative uri used to reference the custom

object field that has a uniqueness constraint

on it, for this custom object.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve a list of the first 2 custom objects:

GET /customobjects?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 21406f5c-caee-4634-9790-e62fb8d2abb4X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNT

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 279 of 396

STA",

Date: Mon,14 Sep 2015 14:45:12 GMT

Content-Length: 650

"items":[

"name":"Opportunity",

"displayNameFieldUri":"/customObjects/5/fields/74",

"emailAddressFieldUri":"/customObjects/5/fields/73","uniqueFieldUri":"/customObjects/5/fields/70","uri":"/customObjects/5","createdBy":"EloquaSystem","createdAt":"2014-06-16T14:43:46.1870000Z","updatedBy":"EloquaSystem","updatedAt":"2014-06-16T14:43:46.8270000Z"

,

"name":"Purchase History","uniqueFieldUri":"/customObjects/6/fields/91","uri":"/customObjects/6","createdBy":"EloquaSystem","createdAt":"2014-06-16T14:43:46.8670000Z","updatedBy":"EloquaSystem","updatedAt":"2014-06-16T14:43:47.0230000Z"

],"totalResults":6,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 280 of 396

3.5 Email addresses (globally unsubscribe)

3.5.1 Overview

The Bulk API's emailAddresses import allows you to change the global subscription status of email

addresses without having to create a contact. The global subscription status can be changed to either

unsubscribed or subscribed. When an email address is imported this way, any present or future

contact in Eloqua with the same email address will be automatically globally unsubscribed.

3.5.2 Bulk API Tasks

Imports

Create a new email address import definition

Import data

Retrieve data for an email address import

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

POST /emailAddresses/imports/id/data

Submits the data for the email address import with the specified id.

The Bulk API's emailAddresses import allows you to change the global subscription status of email

addresses without having to create a contact. The global subscription status can be changed to either

unsubscribed or subscribed. When an email address is imported this way, any present or future

contact in Eloqua with the same email address will be automatically globally unsubscribed.

Learnmore about Bulk API imports.

Request parameters

Required

©2018Oracle Corporation. All rights reserved 281 of 396

Name Type Description

id string The unique resource identifier.

Optional

Name Description Possible Values Example

limit A URL parameter that

dictates themaximum

number of entities to

return.

Any positive integer.

?limit=5

offset A URL parameter

specifying an offset for

batch retrieval of records

Any positive integer.

?offset=100

totalResultsA URL parameter that

captures the total

number of records that

satisfy the request. This

is not the count returned

in the current response,

but total count on the

server side.

Boolean.

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)items array The data endpoint returns whatever what synchronized. This is based

on the fields parameter set in the initial import/export definition. Learn

more about Bulk syncs.

Example

Retrieve the synced data for the import with ID 2900:

POST /emailAddresses/imports/2900/data

Request body:

©2018Oracle Corporation. All rights reserved 282 of 396

[

"UnsubEmail": "[email protected]",

"UnsubEmail": "[email protected]",

"UnsubEmail": "[email protected]",

"UnsubEmail": "[email protected]"

]

Response:

HTTP/1.1 204 No ContentCache-Control: privateX-Request-Id: f444679e2a174f39b31626abc112c084/6381587P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,28 Sep 2015 14:37:49 GMT

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.5.3 POST /emailAddresses/imports

Creates a new email address import definition. The Bulk API's emailAddresses import allows you to

change the global subscription status of email addresses without having to create a contact. The global

subscription status can only be changed to unsubscribed. When an email address is imported this

way, any present or future contact in Eloqua with the same email address will be automatically globally

unsubscribed. Alternatively, to globally subscribe an email address, the /contacts/imports and

/contacts/exports endpoints can be used with a sync action.

Learnmore about Bulk API imports.

©2018Oracle Corporation. All rights reserved 283 of 396

Request parameters

Required

Name Type Description Possible value(s)

name string The asset's name.

fields array List of fields to be included in the

operation.

identifierFieldNamestring The field which will be used to identify

the entity. Must be a string value, at

least 1 character and at most 100

characters long.

syncActions array Specifies additional operations to

perform during the import or export.

Learnmore about Sync Actions. With

the emailAddresses endpoint, this is

where you change the global

subscription status. The sync actions

status value should be set to

subscribed or unsubscribed.

"syncActions": [ "destination": "GlobalSubscribe","action":"setStatus","status":"unsubscribed" ]

Optional

Name Type DescriptionPossiblevalue(s)

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learnmore.

identifierFieldName string The field which will be used to

identify the entity. Must be a

string value, at least 1 character

and at most 100 characters long.

dataRetentionDuration dateTime1 the length of time that unsync’d

data from this import should

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 284 of 396

Name Type DescriptionPossiblevalue(s)

remain in the staging area. Bulk

API 2.0 uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1 hour) to

P2W (2 weeks). This setting will

default to P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export definitions and

synced data strictly honor this

setting.

isUpdatingMultipleMatchedRecordsstring Whether or not imported data will

bemapped tomultiple existing

records. Learnmore.

Response parameters

Name Type DescriptionPossiblevalue(s)

name string The asset's name.

identifierFieldName string The field which will be used to

identify the entity. Must be a

string value, at least 1 character

and at most 100 characters long.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learnmore.

dataRetentionDuration dateTime1 the length of time that unsync’d

data from this import should

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 285 of 396

Name Type DescriptionPossiblevalue(s)

remain in the staging area. Bulk

API 2.0 uses the ISO-8601

standard for specifying all

durations. Valid values are

anything from PT1H (1 hour) to

P2W (2 weeks). This setting will

default to P7D (7 days) if not

explicitly set during export

definition creation. Import

definitions, export definitions and

synced data strictly honor this

setting.

isUpdatingMultipleMatchedRecordsstring Whether or not imported data will

bemapped tomultiple existing

records. Learnmore.

fields array List of fields to be included in the

operation.

syncActions array Specifies additional operations to

perform during the import or

export. Learnmore

about Sync Actions.

id string The unique resource identifier.

createdBy string The login name of the user who

created the entity.

createdAt dateTime1 The date and time the entity was

created, expressed in Unix time.

updatedBy string The login name of the user that

last updated the entity.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 286 of 396

Name Type DescriptionPossiblevalue(s)

updatedAt dateTime1 The date and time the entity was

last updated, expressed in Unix

time.

Example

Create a new email address import definition:

POST /emailAddresses/imports

Request body:

"name": "Test Import","fields":

"UnsubEmail": "EmailAddress.Field(EmailAddress)",

"identifierFieldName": "UnsubEmail","isSyncTriggeredOnImport": false,"syncActions": [

"destination": "GlobalSubscribe","action": "setStatus","status": "unsubscribed"

]

Response:

HTTP/1.1 201 CreatedCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: f1b8d8f84ed7410a8dac647d8d2c8ede/6263326P3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 287 of 396

Date: Mon,28 Sep 2015 14:26:46 GMT

Content-Length: 504

"name":"Test Import","fields":

"UnsubEmail":"EmailAddress.Field(EmailAddress)","identifierFieldName":"UnsubEmail","syncActions":[

"destination":"GlobalSubscribe","action":"setStatus","status":"unsubscribed"

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P7D","isUpdatingMultipleMatchedRecords":false,"uri":"/emailAddresses/imports/33310","createdBy":"Philip.Horwitz","createdAt":"2015-09-28T14:26:46.7395963Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-09-28T14:26:46.7395963Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.6 Email groups

3.6.1 Overview

Email Groups are used to control default settings for similar types of emails. For instance, you can set

the default header, footer, subscription landing page, and unsubscribe landing page for a set of email

newsletters. Then your contacts can subscribe or unsubscribe at the group level to simplify

subscriptionmanagement. As an administrator, you can add or delete groups as required to control

email subscriptions.

©2018Oracle Corporation. All rights reserved 288 of 396

Learnmore about email groups.

3.6.2 API Tasks

Retrieve a list of all email groups

Retrieve a specific email group

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.6.3GET /emailGroups/id

Retrieve an email group.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

statement string Themarkup language statement used to

reference the field in an import or export mapping.

syncActions array Specifies additional operations to perform during

©2018Oracle Corporation. All rights reserved 289 of 396

Name Type DescriptionPossible value

(s)

the import or export. Learnmore

about Sync Actions.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve the email group with the URI = 11:

GET /emailGroups/11

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 89002191-2028-4958-8f67-fe432c027876X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 20:27:56 GMT

Content-Length: 224

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 290 of 396

"name":"Phil's Group","statement":"EmailGroup[11]","id":"/emailGroups/11","createdBy":"Philip.Horwitz","createdAt":"2015-05-21T20:23:49.8100000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-05-21T20:23:49.8100000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.6.4GET /emailGroups

Retrieve a list of email groups.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

?orderBy=createdAt%20des

c

©2018Oracle Corporation. All rights reserved 291 of 396

Name Description Possible Values Example

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

(ASC|DESC)$"

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

statement string Themarkup language statement used to

reference the field in an import or export mapping.

syncActions array Specifies additional operations to perform during

the import or export. Learnmore

about Sync Actions.

id string The unique resource identifier.

©2018Oracle Corporation. All rights reserved 292 of 396

Name Type DescriptionPossible value

(s)

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated the

entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve the first 2 email groups:

GET /emailGroups?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 1c6ba6da-7cc6-4859-9181-a8cf74e7539fX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 20:22:44 GMT

Content-Length: 459

"items":[

"name":"BP - Templates",

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 293 of 396

"statement":"EmailGroup[6]","id":"/emailGroups/6","updatedBy":"Deploy.User","updatedAt":"2011-05-27T16:29:37.6270000Z"

,

"name":"Test dsfgh5sy54667567","statement":"EmailGroup[18]","id":"/emailGroups/18","createdBy":"Philip.Horwitz","createdAt":"2015-05-21T20:32:18.0730000Z","updatedBy":"Philip.Horwitz","updatedAt":"2015-05-21T20:32:18.0730000Z"

],"totalResults":16,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.7 Exports

3.7.1 Overview

Exports and Imports are themain function of the Oracle Eloqua Bulk API. They allow you tomove large

quantities of data in to and out from Eloqua.

Learnmore about Bulk API exports.

3.7.2 API Tasks

Retrieve a list of exports

Learn how much space current exports are taking up in your database

©2018Oracle Corporation. All rights reserved 294 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /exports/data

This endpoint is used to discover how much space current exports are taking up in your database.

Request parameters

Required

None.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)

kbUsed int The amount of space exports are currently taking up in your

database.

kbAllowed int This value is set to "0" on purpose, this means there is no limit. "0"

Example

Retrieve the amount of space currently taken up by exports:

GET /exports/data

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 54b38ae6-0d37-4c02-89d1-e49e4ec0ba03X-Powered-By: ServiceStack/3.924 Win32NT/.NET

©2018Oracle Corporation. All rights reserved 295 of 396

P3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 19:49:13 GMT

Content-Length: 27

"kbUsed":42,"kbAllowed":0

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.7.3GET /exports

Retrieve a list of exports.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

Format: orderBy=[term]%20

[asc|desc]?orderBy=createdAt%20des

c

©2018Oracle Corporation. All rights reserved 296 of 396

Name Description Possible Values Example

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Must match the pattern "^.*

(ASC|DESC)$"

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

fields array List of fields to be included in the operation.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

filter EML The filter parameter uses EloquaMarkup

©2018Oracle Corporation. All rights reserved 297 of 396

Name Type DescriptionPossible value

(s)

statement Language to only return certain results.

Learnmore about Bulk filters.

dataRetentionDurationdateTime1 the length of time that unsync’d data from

this import should remain in the staging

area. Bulk API 2.0 uses the ISO-8601

standard for specifying all durations. Valid

values are anything from PT1H (1 hour) to

P2W (2 weeks). This setting will default to

P7D (7 days) if not explicitly set during

export definition creation. Import

definitions, export definitions and synced

data strictly honor this setting.

autoDeleteDuration dateTime1 Time until the definition will be deleted.

kbUsed long The amount of spaces used in kb.

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 298 of 396

Example

Retrieve the first 2 exports:

GET /exports?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: fcf80ac1-cf10-48c6-8a46-e9ad8e7070f9X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 19:54:46 GMT

Content-Length: 1480

"items":[

"name":"ContentInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[1] triggeredexport",

"fields":"Id":"Contact.Id","EmailAddress":"Contact.Field(C_

EmailAddress)","FirstName":"Contact.Field(C_FirstName)","[Id~]":"Contact.Id"

,"filter":"STATUS('ContentInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[1]') ='pending'",

"syncActions":[

"destination":"ContentInstance(da6ed61da73441dba1349582a4fa8a2c)",

"action":"setStatus","status":"active"

],"dataRetentionDuration":"P2D",

©2018Oracle Corporation. All rights reserved 299 of 396

"autoDeleteDuration":"P7D","id":"/contacts/exports/1","createdBy":"EloquaSystem","createdAt":"2014-06-17T19:43:41.7430000Z","updatedBy":"EloquaSystem","updatedAt":"2014-06-17T19:43:41.7430000Z"

,

"name":"ContentInstance(da6ed61da73441dba1349582a4fa8a2c).Execution[2] triggeredexport",

"fields":"Id":"Contact.Id","EmailAddress":"Contact.Field(C_

EmailAddress)","FirstName":"Contact.Field(C_FirstName)","[Id~]":"Contact.Id"

,"filter":"STATUS('ContentInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[2]') ='pending'",

"syncActions":[

"destination":"ContentInstance(da6ed61da73441dba1349582a4fa8a2c)",

"action":"setStatus","status":"active"

],"dataRetentionDuration":"P2D","autoDeleteDuration":"P7D","id":"/contacts/exports/2","createdBy":"EloquaSystem","createdAt":"2014-06-17T19:46:08.7130000Z","updatedBy":"EloquaSystem","updatedAt":"2014-06-17T19:46:08.7130000Z"

],"totalResults":29487,"limit":2,"offset":0,"count":2,"hasMore":true

©2018Oracle Corporation. All rights reserved 300 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.8 Lead scoring models

3.8.1 Overview

Lead scoringmodels are criteria marketers put together that specify how contacts will be scored. This

endpoint enables you to discover lead scoringmodels and their corresponding fields to be used in

contact exports.

Each lead scoringmodel has three lead scoring fields available:

Rating

Profile Score

Engagement Score

Note: These three lead scoring fields can be used in contact export filter statements, but only

one scoringmodel can be used per contact export definition. See POST

/contacts/exports for an example of these lead scoring fields used in a contact export

definition.

3.8.2 API Tasks

Get a list of lead scoringmodels

Get a list of lead scoringmodels by ID

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 301 of 396

3.8.3GET /contacts/scoring/models

Retrieve a list of lead scoringmodels.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResult A URL parameter that Boolean ?totalResults=true

©2018Oracle Corporation. All rights reserved 302 of 396

Name Description Possible Values Example

s captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Response parameters

Name Type Description Possible value(s)

name string The lead scoringmodel's name.

status string The status of the lead scoringmodel.

id string The lead scoringmodel identifier.

fields array List of lead scoringmodel fields. name: The lead scoring

field's name.

statement: Themarkup

language statement used to

reference the lead scoring

field in an export mapping.

dataType: The lead scoring

field's data type.

uri URI System-generated URI that defines

the definition for future referencing.

createdBy string The login name of the user who

created the entity.

updatedBy string The login name of the user that last

updated the entity.

©2018Oracle Corporation. All rights reserved 303 of 396

Name Type Description Possible value(s)

createdAt dateTime1 The date and time the entity was

created, expressed in Unix time.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve a list of the first 5 lead scoringmodels:

GET /contacts/scoring/models?limit=5

Response:

"items":[

"name":"A Lead Scoring Model","status":"Draft","id":1,"fields":[

"name":"Rating","statement":"Contact.LeadScore.Model

[1].Rating","dataType":"string"

,

"name":"ProfileScore","statement":"Contact.LeadScore.Model

[1].ProfileScore","dataType":"number"

,

"name":"EngagementScore","statement":"Contact.LeadScore.Model

[1].EngagementScore",

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 304 of 396

"dataType":"number"

],"uri":"/contacts/scoring/models/1","createdBy":"Api.User","updatedBy":"Api.User","createdAt":"2016-01-20T18:36:36.7570000Z","updatedAt":"2016-01-20T18:36:47.5800000Z"

,

"name":"Another Lead Scoring Model","status":"Active","id":2,"fields":[

"name":"Rating","statement":"Contact.LeadScore.Model

[2].Rating","dataType":"string"

,

"name":"ProfileScore","statement":"Contact.LeadScore.Model

[2].ProfileScore","dataType":"number"

,

"name":"EngagementScore","statement":"Contact.LeadScore.Model

[2].EngagementScore","dataType":"number"

],"uri":"/contacts/scoring/models/2","createdBy":"Api.User","updatedBy":"Api.User","createdAt":"2016-01-20T19:58:23.9900000Z","updatedAt":"2016-01-21T16:09:28.9000000Z"

],"totalResults":2,"limit":5,"offset":0,"count":2,"hasMore":false

©2018Oracle Corporation. All rights reserved 305 of 396

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.8.4GET /contacts/scoring/models/id

Retrieve a lead scoringmodel using the lead scoring ID.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type Description Possible value(s)

name string The lead scoringmodel's name.

status string The status of the lead scoringmodel.

id string The lead scoringmodel identifier.

fields array List of lead scoringmodel fields. name: The lead scoring

field's name.

statement: Themarkup

language statement used to

reference the lead scoring

field in an export mapping.

dataType: The lead scoring

©2018Oracle Corporation. All rights reserved 306 of 396

Name Type Description Possible value(s)

field's data type.

uri URI System-generated URI that defines

the definition for future referencing.

createdBy string The login name of the user who

created the entity.

updatedBy string The login name of the user that last

updated the entity.

createdAt dateTime1 The date and time the entity was

created, expressed in Unix time.

updatedAt dateTime1 The date and time the entity was last

updated, expressed in Unix time.

Example

Retrieve the lead scoringmodel with id #1:

GET /contacts/scoring/models/1

Response:

"name":"A Lead Scoring Model","status":"Draft","id":1,"fields":[

"name":"Rating","statement":"Contact.LeadScore.Model[1].Rating","dataType":"string"

,

"name":"ProfileScore",

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 307 of 396

"statement":"Contact.LeadScore.Model[1].ProfileScore",

"dataType":"number",

"name":"EngagementScore","statement":"Contact.LeadScore.Model

[1].EngagementScore","dataType":"number"

],"uri":"/contacts/scoring/models/1","createdBy":"API.User","updatedBy":"API.User","createdAt":"2016-01-20T18:36:36.7570000Z","updatedAt":"2016-01-20T18:36:47.5800000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.9 Imports

3.9.1 Overview

Exports and Imports are themain function of the Oracle Eloqua Bulk API. They allow you tomove large

quantities of data in to and out from Eloqua.

Learnmore about Bulk API imports.

3.9.2 API Tasks

Retrieve a list of imports

Learn how much space current imports are taking up in your database

Retrieve a list of import priorities - the order in which the system will queue and process import

operations

©2018Oracle Corporation. All rights reserved 308 of 396

Retrieve an import's priority value

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

GET /imports/data

This endpoint is used to discover how much space current imports are taking up in your database.

Request parameters

Required

None.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)

kbUsed int The amount of space exports are currently taking up in your

database.

kbAllowed int This value is set to "0" on purpose, this means there is no limit. "0"

Example

Retrieve the amount of space currently taken up by exports:

GET /exports/data

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 54b38ae6-0d37-4c02-89d1-e49e4ec0ba03

©2018Oracle Corporation. All rights reserved 309 of 396

X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Tue,18 Aug 2015 19:49:13 GMT

Content-Length: 27

"kbUsed":42,"kbAllowed":0

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.9.3GET /imports/priorities

Retrieves a list of import priorities. Data import priority specifies the order in which Eloqua evaluates

sources of data, and determines whether to update data in Eloqua. Data import priority is set within

Eloqua.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

None.

©2018Oracle Corporation. All rights reserved 310 of 396

Name Description Possible Values Example

next batch of records.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

priority integer The import's queue position.

id string The priority's unique identifier. Please note that this

©2018Oracle Corporation. All rights reserved 311 of 396

Name Type DescriptionPossible value

(s)

is the priority uri and not the import's. E.g. the first

priority has a priority uri of

/imports/priorities/100001. The namewill

correspond to the import currently in that position.

createdAt dateTime1 The date and time the entity was created, expressed

in Unix time.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve the import priority list:

GET /imports/priorities

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 80d9e692-55c2-420d-ae6a-68e86838a8eaX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Wed,19 Aug 2015 19:29:02 GMT

Content-Length: 1040

"items":[

"name":"Bulk API",

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 312 of 396

"priority":1,"id":"/imports/priorities/100001","createdAt":"2012-04-15T15:42:17.5270000Z","updatedAt":"2012-04-15T15:42:17.5270000Z"

,

"name":"CRM Integration","priority":2,"id":"/imports/priorities/100002","createdAt":"2012-04-15T15:42:17.5370000Z","updatedAt":"2012-04-15T15:42:17.5370000Z"

,

"name":"Third-party data","priority":3,"id":"/imports/priorities/100003","createdAt":"2012-04-15T15:42:17.5400000Z","updatedAt":"2012-04-15T15:42:17.5400000Z"

,

"name":"Eloqua Report","priority":4,"id":"/imports/priorities/100004","createdAt":"2012-04-15T15:42:17.5470000Z","updatedAt":"2012-04-15T15:42:17.5470000Z"

,

"name":"Remote File over SFTP","priority":5,"id":"/imports/priorities/100005","createdAt":"2012-04-15T15:42:17.5500000Z","updatedAt":"2012-04-15T15:42:17.5500000Z"

,

"name":"Manual upload","priority":6,"id":"/imports/priorities/100006","createdAt":"2012-04-15T15:42:17.5500000Z","updatedAt":"2012-04-15T15:42:17.5500000Z"

],"totalResults":6,"limit":1000,"offset":0,"count":6,

©2018Oracle Corporation. All rights reserved 313 of 396

"hasMore":false

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.9.4GET /imports/priorities/id

Retrieves an import priority.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$" ?orderBy=createdAt%20des

c

©2018Oracle Corporation. All rights reserved 314 of 396

Name Description Possible Values Example

updatedAt (not available

for data endpoints)

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

priority integer The import's queue position.

id string The priority's unique identifier. Please note that this

is the priority uri and not the import's. E.g. the first

priority has a priority uri of

/imports/priorities/100001. The namewill

correspond to the import currently in that position.

createdAt dateTime1 The date and time the entity was created, expressed

in Unix time.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 315 of 396

Name Type DescriptionPossible value

(s)

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Retrieve the import in 4th priority position:

GET /imports/priorities/100004

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 74657ead-29d5-4365-84fc-0acfd6783ad1X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Wed,19 Aug 2015 19:39:41 GMT

Content-Length: 158

"name":"Eloqua Report","priority":4,"id":"/imports/priorities/100004","createdAt":"2012-04-15T15:42:17.5470000Z","updatedAt":"2012-04-15T15:42:17.5470000Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 316 of 396

3.9.5GET /imports

Retrieve a list of imports.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

©2018Oracle Corporation. All rights reserved 317 of 396

Name Description Possible Values Example

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

name string The asset's name.

updaterule string Indicates whether to update

values in the Eloqua database

from values imported with this

import definition. Learnmore.

always /

ifNewIsNotNull /

ifExistingIsNull /

useFieldRule

fields array List of fields to be included in

the operation.

identifierFieldName string The field which will be used to

identify the entity. Must be a

string value, at least 1

character and at most 100

characters long.

syncActions array Specifies additional operations

to perform during the import or

export. Learnmore

about Sync Actions.

isSyncTriggeredOnImport string whether or not the sync is

triggered on import. Learn

©2018Oracle Corporation. All rights reserved 318 of 396

Name Type DescriptionPossible value

(s)

more.

dataRetentionDuration dateTime1 the length of time that

unsync’d data from this import

should remain in the staging

area. Bulk API 2.0 uses the

ISO-8601 standard for

specifying all durations. Valid

values are anything from PT1H

(1 hour) to P2W (2 weeks).

This setting will default to P7D

(7 days) if not explicitly set

during export definition

creation. Import definitions,

export definitions and synced

data strictly honor this setting.

isUpdatingMultipleMatchedRecordsstring Whether or not imported data

will bemapped tomultiple

existing records. Learnmore.

id string The unique resource identifier.

createdBy string The login name of the user who

created the entity.

createdAt dateTime1 The date and time the entity

was created, expressed in

Unix time.

updatedBy string The login name of the user that

last updated the entity.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 319 of 396

Name Type DescriptionPossible value

(s)

updatedAt dateTime1 The date and time the entity

was last updated, expressed in

Unix time.

Example

Retrieve the first 2 imports:

GET /imports?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 461c7937-9a4b-4b78-9344-9cbe74fe7f62X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="URIC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAVCNT STA",

Date: Wed,19 Aug 2015 19:09:34 GMT

Content-Length: 1076

"items":[

"name":"demo","updateRule":"always","fields":

"Email":"Contact.Field(C_EmailAddress)","FirstName":"Contact.Field(C_FirstName)","LastName":"Contact.Field(C_LastName)"

,"identifierFieldName":"Email","syncActions":[

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 320 of 396

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P1D","isUpdatingMultipleMatchedRecords":false,"id":"/contacts/imports/1","createdBy":"Chad.Russell","createdAt":"2014-06-18T17:46:26.2230000Z","updatedBy":"Chad.Russell","updatedAt":"2014-06-18T17:46:26.2230000Z"

,

"name":"demo","updateRule":"always","fields":

"Email":"Contact.Field(C_EmailAddress)","FirstName":"Contact.Field(C_FirstName)","LastName":"Contact.Field(C_LastName)"

,"identifierFieldName":"Email","syncActions":[

],"isSyncTriggeredOnImport":false,"dataRetentionDuration":"P1D","isUpdatingMultipleMatchedRecords":false,"id":"/contacts/imports/2","createdBy":"Chad.Russell","createdAt":"2014-06-18T17:49:38.5500000Z","updatedBy":"Chad.Russell","updatedAt":"2014-06-18T17:49:38.5500000Z"

],"totalResults":29488,"limit":2,"offset":0,"count":2,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 321 of 396

3.10 Sync actions

3.10.1 Overview

The Sync actions endpoint allows app sync actions to be executed without running a data import.

See Sync actions parameters for a list of all sync action parameters.

3.10.2 API Tasks

Create a contact sync action definition

Create an account sync action definition

Create a custom object sync action definition

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.10.3 POST /contacts/syncActions

Creates a new contact sync action definition. See Sync actions parameters for a list of all sync action

parameters.

Request parameters

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

syncActions array Specifies additional operations to perform

©2018Oracle Corporation. All rights reserved 322 of 396

Name Type DescriptionPossible value

(s)

during the import or export. Learnmore

about Sync Actions.

Optional

Name Type DescriptionPossible value

(s)autoDeleteDuration dateTime1 Time until the definition will be deleted.isSyncTriggeredOnImportBoolean whether or not the sync is triggered on

import. Learnmore.

Response parameters

Name Type DescriptionPossible value

(s)

uri URI System-generated URI that defines the

definition for future referencing.

name string The asset's name.

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

fields array List of fields to be included in the operation.

createdBy string The login name of the user who created the

entity.

createdAt dateTime2 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

1Unix time - 10 digit integer2Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 323 of 396

Name Type DescriptionPossible value

(s)

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Create a new contact sync action definition:

POST /contacts/syncActions

Request body:

"name": "Bulk Sync Action","fields":

"Id": "Contact.Id","identifierFieldName": "Id","syncActions": [

"action": "setStatus","destination": "DecisionInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[12345]","status": "yes"

],"isSyncTriggeredOnImport": false

Response:

"name": "Bulk Sync Action","fields":

"Id": "Contact.Id","identifierFieldName": "Id",

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 324 of 396

"syncActions": [

"destination": "DecisionInstance(da6ed61da73441dba1349582a4fa8a2c).Execution[12345]",

"action": "setStatus","status": "subscribed"

],"isSyncTriggeredOnImport": false,"uri": "/contacts/syncActions/635","createdBy": "API.User","createdAt": "2016-01-13T21:32:08.4516935Z","updatedBy": "API.User","updatedAt": "2016-01-13T21:32:08.4516935Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.10.4 POST /accounts/syncActions

Creates a new account sync action definition. See Sync actions parameters for a list of all sync action

parameters.

Request parameters

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

©2018Oracle Corporation. All rights reserved 325 of 396

Optional

Name Type DescriptionPossible value

(s)autoDeleteDuration dateTime1 Time until the definition will be deleted.isSyncTriggeredOnImportBoolean whether or not the sync is triggered on

import. Learnmore.

Response parameters

Name Type DescriptionPossible value

(s)

uri URI System-generated URI that defines the

definition for future referencing.

name string The asset's name.

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

fields array List of fields to be included in the operation.

createdBy string The login name of the user who created the

entity.

createdAt dateTime2 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime2 The date and time the entity was last updated,

expressed in Unix time.

Example

Create a new account sync action definition:

1Unix time - 10 digit integer2Unix time - 10 digit integer2Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 326 of 396

POST /accounts/syncActions

Request body:

"name": "Bulk Sync Action","fields":

"Name": "Account.Field(M_CompanyName)","identifierFieldName": "Name","syncActions": [

"destination": "AccountList[1]","action": "add"

],"isSyncTriggeredOnImport": false

Response:

"name": "Bulk Sync Action","fields":

"Name": "Account.Field(M_CompanyName)","identifierFieldName": "Name","syncActions": [

"destination": "AccountList[1]","action": "add"

],"isSyncTriggeredOnImport": false,"uri": "/accounts/syncActions/622","createdBy": "API.User","createdAt": "2016-01-13T21:31:31.6226913Z","updatedBy": "API.User","updatedAt": "2016-01-13T21:31:31.6226913Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 327 of 396

3.10.5 POST /customobjects/id/syncActions

Creates a new custom object sync action definition. You can retrieve a custom object id using GET /

customobjects. See Sync actions parameters for a list of all sync action parameters.

Request parameters

Required

Name Type DescriptionPossible value

(s)name string The asset's name.

fields array List of fields to be included in the operation.

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

syncActions array Specifies additional operations to perform

during the import or export. Learnmore

about Sync Actions.

id string The custom object's resource identification

number.

Optional

Name Type DescriptionPossible value

(s)autoDeleteDuration dateTime1 Time until the definition will be deleted.isSyncTriggeredOnImportBoolean whether or not the sync is triggered on

import. Learnmore.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 328 of 396

Response parameters

Name Type DescriptionPossible value

(s)

uri URI System-generated URI that defines the

definition for future referencing.

name string The asset's name.

identifierFieldNamestring The field which will be used to identify the

entity. Must be a string value, at least 1

character and at most 100 characters long.

fields array List of fields to be included in the operation.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

updatedBy string The login name of the user that last updated

the entity.

updatedAt dateTime1 The date and time the entity was last updated,

expressed in Unix time.

Example

Create a new custom object sync action definition:

POST /customobjects/id/syncActions

Request body:

"name": "Bulk Sync Action","fields":

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 329 of 396

"ExternalId": "CustomObject[1738].ExternalId","identifierFieldName": "ExternalId","syncActions": [

"destination": "ActionInstance

(cfb7b5411b934676959d8dcb6ed9859a)","action": "setStatus","status": "active"

],"isSyncTriggeredOnImport": false

Response:

"id": 680,"name": "Bulk Sync Action","fields":

"ExternalId": "CustomObject[1738].ExternalId","identifierFieldName": "ExternalId","syncActions": [

"destination": "ActionInstance

(cfb7b5411b934676959d8dcb6ed9859a)","action": "setStatus","status": "active"

],"isSyncTriggeredOnImport": false,"uri": "/customObjects/1767/syncActions/680","createdBy": "API.User","createdAt": "2016-01-13T21:42:42.943838Z","updatedBy": "API.User","updatedAt": "2016-01-13T21:42:42.943838Z"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 330 of 396

3.11 Syncs

3.11.1 Overview

Syncs are the process by which the Bulk API is able tomove large quantities of data in to or out from

Eloqua.

Learnmore about Bulk API exports.

Learnmore about Bulk API imports.

3.11.2 API Tasks

Retrieve a list of syncs

Retrieve a specific sync

Create a new sync

Retrieve synchronized data

Retrieve a sync's log information

Retrieve a list of rejected syncs

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.11.3GET /syncs/id/data

Retrieves an export sync's data. This endpoint allows you to retrieve data from an export that you have

sync'd more than once. This endpoint will not return any information for import syncs: if the specified

sync is an import Eloqua will return a 400 HTTP error code. Learnmore about Bulk API syncs.

Request parameters

Required

©2018Oracle Corporation. All rights reserved 331 of 396

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)totalResults integer Total number of sync result found.

limit integer A URL parameter that specifies the

maximum number of records to return.?limit=5

offset None. Specifies an offset that allows to retrieve the

next batch of records.

count integer The number of resource entries in your

instance.

hasMore boolean Whether or not there are further results not

displayed.

items array The data endpoint returns whatever whatsynchronized. This is based on the fieldsparameter set in the initial import/exportdefinition. Learnmore about Bulk syncs.

Example

Retrieve the sync with ID = 1444:

GET /syncs/1444/data?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 604060f8-3755-4752-9510-7007e3d015b8X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNT

©2018Oracle Corporation. All rights reserved 332 of 396

STA",

Date: Mon,24 Aug 2015 18:48:47 GMT

Content-Length: 241

"totalResults": 10,"limit": 2,"offset": 0,"count": 0,"hasMore": true,"items": [

"ID": "123456789 ([email protected])","email": "[email protected]","name": "Zafar Manal"

,

"ID": "789456123 ([email protected])","email": "[email protected]","name": "Joana Mendes"

]

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.11.4GET /syncs/id/logs

Retrieves a sync's logs. Learnmore about Bulk API syncs.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

©2018Oracle Corporation. All rights reserved 333 of 396

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

©2018Oracle Corporation. All rights reserved 334 of 396

Response parameters

Name Type DescriptionPossible value

(s)syncUri uri The sync's uri address.

count integer The number of items returned.

In items: the number of records operated

on for that message.

severity SyncResultSeverity The status of the step. information /

warning / error

statusCode string The Eloqua status code.

message string The status message.

createdBy string The login name of the user who created

the entity.

Example

Retrieve the logs for the sync with ID = 5:

GET /syncs/29966/logs

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: be16e8cc-751f-41a7-8d46-6d90ed6ffb39X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,24 Aug 2015 19:02:58 GMT

Content-Length: 836

"items":[

"syncUri":"/syncs/29966",

©2018Oracle Corporation. All rights reserved 335 of 396

"count":0,"severity":"information","statusCode":"ELQ-00104","message":"Successfully converted file 2015-03-

22T14-30-02_User16_d0364e86617f4b178ce7fa778c9d0c07.json (0kb) with json converter.",

"createdAt":"2015-03-22T14:30:03.1030000Z",

"syncUri":"/syncs/29966","count":1,"severity":"information","statusCode":"ELQ-00130","message":"Total records staged for import.","createdAt":"2015-03-22T14:30:03.5870000Z"

,

"syncUri":"/syncs/29966","count":1,"severity":"information","statusCode":"ELQ-00004","message":"Contacts created.","createdAt":"2015-03-22T15:04:15.8800000Z"

,

"syncUri":"/syncs/29966","count":0,"severity":"information","statusCode":"ELQ-00022","message":"Contacts updated.","createdAt":"2015-03-22T15:04:15.8800000Z"

],"totalResults":4,"limit":1000,"offset":0,"count":4,"hasMore":false

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 336 of 396

3.11.5GET /syncs/id/rejects

Retrieves information regarding validation failures during the specified import sync. Use URL

parameters to filter the results. Learnmore about Bulk API syncs.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

String of the format:

q="<field><operator><valu

?q="name=*Test*"Will find

all the entities where the

©2018Oracle Corporation. All rights reserved 337 of 396

Name Description Possible Values Example

used to filter results. e>". Use "*" for wildcard

values.

"name" field contains the

string "Test".

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)fieldValues stringmessage string

statusCode stringrecordIndex integerinvalidFields array

Example

Retrieve the rejects for the sync with ID = 24946:

GET /syncs/24946/rejects?limit=2

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: ef2af484-e499-4b42-ac39-33851912e753X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

©2018Oracle Corporation. All rights reserved 338 of 396

Date: Mon,24 Aug 2015 19:31:30 GMT

Content-Length: 79"items": [

"fieldValues":

"C_Company": "Company","C_Date_1": "not a date","C_EmailAddress": "[email protected]"

,"message": "Invalid data.","statusCode": "ELQ-00040","recordIndex": 1,"invalidFields": [

"C_Date_1"]

,

"fieldValues": "C_Company": "Company","C_Date_1": "not a date","C_EmailAddress": "[email protected]"

,"message": "Invalid data.","statusCode": "ELQ-00040","recordIndex": 2,"invalidFields": [

"C_Date_1"]

],"totalResults": 2,"limit": 1000,"offset": 0,"count": 2,"hasMore": false

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

©2018Oracle Corporation. All rights reserved 339 of 396

3.11.6GET /syncs/id

Retrieves a sync. Learnmore about Bulk API syncs.

Request parameters

Required

Name Type Description

id string The unique resource identifier.

Optional

None.

Response parameters

Name Type DescriptionPossible value

(s)

syncedInstanceUriString (endpoint

address)

This value should be the uri for the

export/import definition you wish to sync.

When you create an import/export definition,

Eloqua will respond with a "uri" parameter,

the value of which should be used here.

syncStartedAt dateTime1

syncEndedAt dateTime1

status SyncStatusType pending / active

/ success /

warning /error

id string The unique resource identifier.

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 340 of 396

Name Type DescriptionPossible value

(s)

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

Example

Retrieve the sync with ID = 5:

GET /syncs/5

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 604060f8-3755-4752-9510-7007e3d015b8X-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,24 Aug 2015 18:48:47 GMT

Content-Length: 241

"syncedInstanceUri":"/contacts/exports/5","syncStartedAt":"2014-06-17T21:05:28.6100000Z","syncEndedAt":"2014-06-17T21:05:29.4400000Z","status":"success","createdAt":"2014-06-17T21:05:28.3770000Z","createdBy":"EloquaSystem","uri":"/syncs/5"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 341 of 396

3.11.7GET /syncs

Retrieves a list of syncs. Learnmore about Bulk API syncs.

Request parameters

Required

None.

Optional

Name Description Possible Values Example

limit A URL parameter that

specifies themaximum

number of records to

return.

Any positive integer between 1

and 1,000 inclusive.?limit=5

offset Specifies an offset that

allows to retrieve the

next batch of records.

None.

orderBy Term to order the results

by. Available terms: uri,

id, name,

dataRetentionDuratio

n, maxRecords,

autoDeleteDuration,

kbUsed, createdBy,

createdAt, updatedBy,

updatedAt (not available

for data endpoints)

Format: orderBy=[term]%20

[asc|desc]

Must match the pattern "^.*

(ASC|DESC)$"

?orderBy=createdAt%20des

c

q A URL parameter that

specifies query criteria

used to filter results.

String of the format:

q="<field><operator><valu

e>". Use "*" for wildcard

values.

?q="name=*Test*"Will find

all the entities where the

"name" field contains the

string "Test".

©2018Oracle Corporation. All rights reserved 342 of 396

Name Description Possible Values Example

totalResults

A URL parameter that

captures the total number

of records that satisfy the

request. This is not the

count returned in the

current response, but

total count on the server

side.

Boolean

?totalResults=true

Response parameters

Name Type DescriptionPossible value

(s)

syncedInstanceUriString (endpoint

address)

This value should be the uri for the

export/import definition you wish to sync.

When you create an import/export definition,

Eloqua will respond with a "uri" parameter,

the value of which should be used here.

syncStartedAt dateTime1

syncEndedAt dateTime1

status SyncStatusType pending / active

/ success /

warning /error

id string The unique resource identifier.

createdBy string The login name of the user who created the

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

1Unix time - 10 digit integer1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 343 of 396

Example

Retrieve a list of the first 5 syncs:

GET /syncs?limit=5

Response:

HTTP/1.1 200 OKCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: 81af4a8c-0d04-4032-93d7-ef8d3344a60bX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Mon,24 Aug 2015 15:21:33 GMT

Content-Length: 1288

"items":[

"syncedInstanceUri":"/contacts/exports/1","syncStartedAt":"2014-06-17T19:43:41.9700000Z","syncEndedAt":"2014-06-17T19:43:42.7800000Z","status":"success","createdAt":"2014-06-17T19:43:41.9000000Z","createdBy":"EloquaSystem","uri":"/syncs/1"

,

"syncedInstanceUri":"/contacts/exports/2","syncStartedAt":"2014-06-17T19:46:09.5830000Z","syncEndedAt":"2014-06-17T19:46:10.0830000Z","status":"success","createdAt":"2014-06-17T19:46:08.8370000Z","createdBy":"EloquaSystem","uri":"/syncs/2"

,

"syncedInstanceUri":"/contacts/exports/3","syncStartedAt":"2014-06-17T19:49:37.7900000Z","syncEndedAt":"2014-06-17T19:49:38.6770000Z","status":"success",

©2018Oracle Corporation. All rights reserved 344 of 396

"createdAt":"2014-06-17T19:49:37.9700000Z","createdBy":"EloquaSystem","uri":"/syncs/3"

,

"syncedInstanceUri":"/contacts/exports/4","syncStartedAt":"2014-06-17T19:56:34.7670000Z","syncEndedAt":"2014-06-17T19:56:38.5800000Z","status":"success","createdAt":"2014-06-17T19:56:34.5070000Z","createdBy":"EloquaSystem","uri":"/syncs/4"

,

"syncedInstanceUri":"/contacts/exports/5","syncStartedAt":"2014-06-17T21:05:28.6100000Z","syncEndedAt":"2014-06-17T21:05:29.4400000Z","status":"success","createdAt":"2014-06-17T21:05:28.3770000Z","createdBy":"EloquaSystem","uri":"/syncs/5"

],"totalResults":59927,"limit":5,"offset":0,"count":5,"hasMore":true

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.11.8 POST /syncs

Creates a import or export sync. Learnmore about Bulk API syncs

Request parameters

Required

©2018Oracle Corporation. All rights reserved 345 of 396

Name Type DescriptionPossible value

(s)syncedInstanceUriString

(endpoint

address)

This value should be the uri for the

export/import definition you wish to sync.

When you create an import/export definition,

Eloqua will respond with a "uri" parameter,

the value of which should be used here.

Optional

Name Type DescriptionPossible value

(s)callbackUrl String When a sync completes, Eloqua will make a call

to the URL specified in this parameter.

Response parameters

Name Type DescriptionPossible value

(s)

syncedInstanceUriString (endpoint

address)

This value should be the uri for the

export/import definition you wish to sync.

When you create an import/export definition,

Eloqua will respond with a "uri" parameter,

the value of which should be used here.

syncStartedAt dateTime1

syncEndedAt dateTime1

status SyncStatusType pending / active

/ success /

warning /error

id string The unique resource identifier.

createdBy string The login name of the user who created the

1Unix time - 10 digit integer1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 346 of 396

Name Type DescriptionPossible value

(s)

entity.

createdAt dateTime1 The date and time the entity was created,

expressed in Unix time.

Example

Create a new sync for the export definition with ID 7:

POST /syncs

Request body:

"syncedInstanceUri" : "/activities/exports/7","callbackURL" : "http://www.example.com"

Response:

HTTP/1.1 201 CreatedCache-Control: privateContent-Type: application/json; charset=utf-8X-Request-Id: a5a91911-3a53-4ded-9f11-09a65719451cX-Powered-By: ServiceStack/3.924 Win32NT/.NETP3P: CP="IDC DSP COR DEVa TAIa OUR BUS PHY ONL UNI COM NAV CNTSTA",

Date: Fri,25 Sep 2015 18:08:31 GMT

Content-Length: 204

"syncedInstanceUri":"/activities/exports/7","callbackUrl":"http://www.example.com","status":"pending","createdAt":"2015-09-25T18:08:32.3485942Z",

1Unix time - 10 digit integer

©2018Oracle Corporation. All rights reserved 347 of 396

"createdBy":"Philip.Horwitz","uri":"/syncs/66100"

IMPORTANT: Click here to access the latest version of our API reference. The

content on this page is no longer maintained and may be out of date.

3.12 Bulk API Endpoint Reference

This section provides detailed information about the Bulk API's service endpoints and their

parameters. You can learnmore about the following endpoints:

Accounts

Activities

Contacts

Custom objects

Email addresses

Email groups

Exports

Lead scoringmodels

Imports

Sync actions

Syncs

©2018Oracle Corporation. All rights reserved 348 of 396

3.12.1 Eloqua Expression Language

The Eloqua Expression Language (EEL) support for incorporating logic into decisionmaking and

filtering within Eloqua replaces the ExportFilter data transfer object that was present in Bulk 1.0.

EEL simplifies and formalizes the syntax, providing a consistent way to interact with your data.

Operators

Comparison Operators

>

>=

<

<=

!=

=

~ (This is the SQL Server LIKE operator. see: Like (Transact-SQL) on theMicrosoft Developer

Network documentation for appropriate syntax.)

Logical Operators

AND

OR

NOT

Existence Operators

EEL includes the EXISTS and STATUS operators as ways to filter based on a contacts’ presence or

absence in a container, or on the status of associated containers. Unlike the comparison and logical

operators, EXISTS and STATUS can only act on certain entities.

©2018Oracle Corporation. All rights reserved 349 of 396

EXISTS

EXISTS is analogous to an IN operator. It determines if the object or entity exists within a container.

The valid entities are: Contact Filters, Contact Segments, Contact Lists, and Account Lists, as in the

following examples:

EXISTS('ContactFilter[<id>]')EXISTS('ContactSegment[<id>]')EXISTS('ContactList[<id>]')EXISTS('AccountList[<id>]')

The <id> being the entity's id (e.g. 12).

Note: EXISTS operators can only be used on exports of the same entity:

The ContactList, ContactFilter, or ContactSegment EXISTS operators can only be used

in filters for contact exports.

The AccountList EXISTS operator can only be used in filters for account exports.

STATUS

STATUS describes the current status of a CloudConnector, or AppCloud Action, Content, or Decision

service. STATUS does not currently support accessing Email Groups, campaigns, etc.

For Cloud Connectors, use the following format:

STATUS('CloudConnectorStatus(<instanceid>)') = '<status>'

Where the <instanceid> is the instance’s ID, and <status> is either “active” or “pending”.

For AppCloud Actions, Decisions and Content, the following format is correct:

STATUS('DecisionInstance(<instanceId>).Execution[<executionId>]') = '<status>'STATUS('ActionInstance(<instanceId>).Execution[<executionId>]') = '<status>'STATUS('ContentInstance(<instanceId>).Execution[<executionId>]') = '<status>'

For AppCloud Feeders the following format is correct:

©2018Oracle Corporation. All rights reserved 350 of 396

STATUS('FeederInstance(<instanceId>)') = '<status>'

The <instanceId> being the GUID for the specific instance of the AppCloud service being used, and

the <executionId> being the integer identifying a unique AppCloud service instance's execution. The

<status> can be "active", "pending", "complete", or "errored".

Examples

Important

Wrap all operands in single quotes.

Comparison

Select contacts whose CreatedAt field is greater that 2013-12-31:

"filter" : "'Contact.CreatedAt' > '2013-12-31'"

Select contacts whose Account’s Company Name is not Eloqua:

"filter" : "'Contact.Account.Field(M_CompanyName)' !='Eloqua'"

Logical

Important

Supported filter formats with logical operators:

(A OR B) AND (C OR D)

A AND NOT B AND (C OR D)

A AND B AND (C OR D)

A AND (B OR C)

©2018Oracle Corporation. All rights reserved 351 of 396

Note: Activity exports only support the A AND B AND C filter format.

Select contacts whose CreatedAt field is greater that 2013-12-31 and whose Account’s company

name is not Eloqua:

"filter" : "'Contact.CreatedAt' > '2013-12-31' AND 'Contact.Account.Field(M_CompanyName)' != 'Eloqua'"

Select contacts whose CreatedAt field is greater than 2013-12-31 and whose Account’s company

name is not Eloqua and whose C_Country field is Canada or United States:

"filter": "'Contact.CreatedAt' > '2013-12-31' AND 'Contact.Account.Field(M_CompanyName)' != 'Eloqua' AND ('Contact.Field(C_Country)' = 'CA' OR 'Contact.Field(C_Country)' = 'US')"

Existence

EXISTS refers specifically to a container. The following filters contacts based on their presence in the

ContactList with id 123:

"filter" : "EXISTS('ContactList[123]')"

STATUS. The following filter selects records for which the AppCloud Action service instance id is

f82d50cd86a94fcab37e4ec9a98b0339, with an execution id of 12345 and a status is "pending":

"filter" : "STATUS('ActionInstance(f82d50cd86a94fcab37e4ec9a98b0339).Execution[12345]') ='pending'"

Note: Filters have a 1000 character limit.

Grammar

grammar Ebl;

©2018Oracle Corporation. All rights reserved 352 of 396

options language = CSharp3;output = AST;backtrack = true;

@modifierpublic@parser::namespace Eloqua.Expression.Version1.Grammar @lexer::namespace Eloqua.Expression.Version1.Grammar

public expression: WS!? orExpression WS!? EOF;

orExpression: andExpression (WS!? OR^ WS!? andExpression)*;

andExpression: notExpression (WS!? AND^ WS!? notExpression)*;

notExpression: (NOT WS!?)? atom;

subExpression: OPENPAREN! orExpression WS!? CLOSEPAREN!;

atom: comparison| subExpression;

comparison: STRING WS!? GREATERTHAN WS!? STRING| STRING WS!? GREATERTHANOREQUAL WS!? STRING| STRING WS!? LESSTHAN WS!? STRING| STRING WS!? LESSTHANOREQUAL WS!? STRING| STRING WS!? NOTEQUAL WS!? STRING| STRING WS!? EQUAL WS!? STRING| STRING WS!? LIKE WS!? STRING| EXISTS WS!? OPENPAREN! WS!? STRING WS!?

CLOSEPAREN!| STATUS WS!? OPENPAREN! WS!? STRING WS!?

©2018Oracle Corporation. All rights reserved 353 of 396

CLOSEPAREN! WS!? EQUAL! WS!? STRING;

// Lexer tokens

// Comparison OperatorsGREATERTHAN : '>' ;GREATERTHANOREQUAL : '>=' ;LESSTHAN : '<' ;LESSTHANOREQUAL : '<=' ;NOTEQUAL : '!=' ;EQUAL : '=' ;LIKE : '~' ;

// Existence OperatorsEXISTS : E X I S T S ;STATUS : S T A T U S ;

// BinaryAND : A N D;OR : O R;

// UnaryNOT : N O T;

// GroupingOPENPAREN : '(' ;CLOSEPAREN : ')' ;

// Lexer rulesSTRING : QUOTE ( ESC_SEQ | ~('\\'|'\'') )* QUOTE;WS : (' '|'\t'|'\n'|'\r')+ ;

fragmentESC_SEQ

: '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\')| '\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT;

fragment QUOTE : '\'' ;fragment HEX_DIGIT : ('0'..'9'|'a'..'f'|'A'..'F') ;

fragment A:('a'|'A');fragment B:('b'|'B');fragment C:('c'|'C');fragment D:('d'|'D');

©2018Oracle Corporation. All rights reserved 354 of 396

fragment E:('e'|'E');fragment F:('f'|'F');fragment G:('g'|'G');fragment H:('h'|'H');fragment I:('i'|'I');fragment J:('j'|'J');fragment K:('k'|'K');fragment L:('l'|'L');fragment M:('m'|'M');fragment N:('n'|'N');fragment O:('o'|'O');fragment P:('p'|'P');fragment Q:('q'|'Q');fragment R:('r'|'R');fragment S:('s'|'S');fragment T:('t'|'T');fragment U:('u'|'U');fragment V:('v'|'V');fragment W:('w'|'W');fragment X:('x'|'X');fragment Y:('y'|'Y');fragment Z:('z'|'Z');

3.12.2 Eloqua Markup Language version 2

Important: This document discusses EloquaMarkup Language v2. Learnmore about Eloqua

Markup Language v3.

EloquaMarkup Language (EML) is a text-based language used to access and provide a consistent

view of Eloqua data.

EML uses text to identify fields and data relationships for data-centric entities. This way, you can

easily describe and access the field values, entity attributes and relations that are important to you,

using intuitive language.

©2018Oracle Corporation. All rights reserved 355 of 396

Terminology

Contact - A contact in the Eloqua system.

Account - An account or company in the Eloqua system.

CustomObject - A custom object in the Eloqua system, with its own set of field definitions.

Field - An attribute of a Contact, Account or Custom Object that has an identifier and an internal

name.

Access patterns

All statements enclosed in and will be resolved if they can be parsed. If there is no available data

an empty string will be inserted.

For all entities that can be indexed, indexing is available by id or system name. The pattern is to use (

and ) to delimit a named index, and [ and ] to delimit an id index.

Note that because the wrong brackets are used, the following is invalid and cannot be indexed:

Contact.Field(1000001) Contact.Field[C_EmailAddress]

Related assets are addressed through a "." notation. For example, to get the data for the account

name field of the account related to a given contact, you could use the following statement (assuming

there is an account field with the internal nameM_CompanyName): Contact.Account.Field(M_

CompanyName).

Available entities

EML can access core assets: Contact, Account and Custom Object data.

Note: Access to an additional core asset Event was added in EloquaMarkup Language v3.

Assets related to core assets are available as long as the relationship resolves to a single entity and

not many.

©2018Oracle Corporation. All rights reserved 356 of 396

Example: Account information can be accessed through a contact since there is at most a

single account related to any given contact, it resolves to a single entity. However, it doesn't

work the other way around: contact information cannot likely be accessed through an account,

as there is usually more than a single associated contact, i.e. Contact.Account.Field(M_

CompanyName) is valid, but Account.Contact.Field(C_FirstName) is not.

Special fields are available for contact records:

Global Subscription information is addressable as: Contact.Email.IsSubscribed

Email Bounceback status is addressable as: Contact.Email.IsBounced

Email Format preference is addressable as: Contact.Email.Format

Resolution

EML parts are evaluated differently. Below are example resolutions for different EML types.

Field values

Resolves to the appropriate database value.

E.g.: The definition Contact.Field(C_FirstName) resolves to Haruki.

E.g.: The definition Contact.IdResolves to 123456 (the internal contact identifier).

Multiple entities can be related to a single value.

E.g.: The definition Contact.Account.Field(M_CompanyName) resolves to Eloqua.

Field values can also be combined.

E.g.: The definition "Mr. Contact.Field(C_FirstName) Contact.Field(C_

LastName)" Resolves to "Mr. Haruki Murakami".

©2018Oracle Corporation. All rights reserved 357 of 396

Example: There is a contact field in the system with the below properties. You can retrieve this

information by calling aGET request to the "/assets/contact/fields?depth=complete"

endpoint.

"type": "ContactField","id": "100001","createdAt": "-2208970800","depth": "complete","name": "Email Address","updatedAt": "-2208970800","dataType": "text","displayType": "text","internalName": "C_EmailAddress","isReadOnly": "false","isRequired": "false","isStandard": "true","isPopulatedInOutlookPlugin": "false","updateType": "always"

And below is contact data retrieved by calling aGET request to the "/data/contact/1"

endpoint:

"type":"Contact","currentStatus":"Awaiting action","id":"1","createdAt":"1403034086","depth":"complete","name":"[email protected]","updatedAt":"1410193024","emailAddress":"[email protected]","emailFormatPreference":"unspecified","fieldValues":[ ... ],"firstName":"haruki","isBounceback":"false","isSubscribed":"true","lastName":"murakami","subscriptionDate":"1403034086"

©2018Oracle Corporation. All rights reserved 358 of 396

Given the above information, the following EML statements: Contact.Field[100001]

and Contact.Field(C_EmailAddress)will resolve to the value of the specified field,

which in both cases is the contact’s email address: "[email protected]".

Contact.Field(C_EmailAddress) references the asset's email address field by its

internalName attribute, and Contact.Field[100001] references the asset's email

address by its field id.

Grammar

grammar Eml;

options language = CSharp3;output = AST;backtrack = true;

tokens CUSTOMOBJECT_NAME;CUSTOMOBJECT_INDEX;FIELD_NAME;FIELD_INDEX;ACTIVITY_TYPE_ATTRIBUTE;ASSET_NAME_ATTRIBUTE;ASSET_ID_ATTRIBUTE;CAMPAIGN_ID_ATTRIBUTE;

public dynamicEntity: DYNAMICSTART! WS!? ( (relationshipToContact WS!? DOT!

WS!? contactAttribute)| (relationshipToAccount WS!? DOT! WS!?

accountAttribute)| (relationshipToCustomObject WS!? DOT! WS!?

customObjectAttribute)| (relationshipToActivity WS!? DOT! WS!?

activityAttribute)) WS!? DYNAMICEND!;

©2018Oracle Corporation. All rights reserved 359 of 396

relationshipToContact: CONTACT| customObject WS!? DOT! WS!? CONTACT| ACTIVITY WS!? DOT! WS!? CONTACT;

relationshipToAccount: ACCOUNT| CONTACT WS!? DOT! WS!? ACCOUNT| customObject WS!? DOT! WS!? ACCOUNT;

relationshipToCustomObject: customObject;

relationshipToActivity: ACTIVITY

;

contactAttribute: field| ID_ATTRIBUTE| EMAIL! WS!? DOT! WS!? (

| EMAIL_ISSUBSCRIBED_ATTRIBUTE| EMAIL_ISBOUNCED_ATTRIBUTE| EMAIL_FORMAT_ATTRIBUTE

);

accountAttribute: field| ID_ATTRIBUTE;

customObjectAttribute: field| ID_ATTRIBUTE;

activityAttribute: TYPE_ATTRIBUTE -> ACTIVITY_TYPE_ATTRIBUTE

| CREATEDAT_ATTRIBUTE| CAMPAIGN WS? DOT WS? ID_ATTRIBUTE -> CAMPAIGN_ID_ATTRIBUTE

| ASSET WS? DOT WS? (| NAME_ATTRIBUTE -> ASSET_NAME_ATTRIBUTE

©2018Oracle Corporation. All rights reserved 360 of 396

| ID_ATTRIBUTE -> ASSET_ID_ATTRIBUTE);

field: FIELD WS? (

NAMESTART WS? NAME WS? NAMEEND -> FIELD_NAME NAME| INDEXSTART WS? INT WS? INDEXEND -> FIELD_INDEX INT

);

customObject: CUSTOMOBJECT WS? (

NAMESTART WS? NAME WS? NAMEEND -> CUSTOMOBJECT_NAMENAME

| INDEXSTART WS? INT WS? INDEXEND -> CUSTOMOBJECT_INDEX INT

);

// Lexer tokensDYNAMICSTART : '' ;DYNAMICEND : '' ;INDEXSTART : '[' ;INDEXEND : ']' ;NAMESTART : '(' ;NAMEEND : ')' ;DOT : '.' ;

CONTACT : 'Contact';ACCOUNT : 'Account';CUSTOMOBJECT : 'CustomObject';ACTIVITY : 'Activity';FIELD : 'Field';EMAIL : 'Email';ASSET : 'Asset';CAMPAIGN : 'Campaign';ID_ATTRIBUTE : 'Id';EMAIL_ISSUBSCRIBED_ATTRIBUTE : 'IsSubscribed';EMAIL_ISBOUNCED_ATTRIBUTE : 'IsBounced';EMAIL_FORMAT_ATTRIBUTE : 'Format';TYPE_ATTRIBUTE : 'Type';NAME_ATTRIBUTE : 'Name';CREATEDAT_ATTRIBUTE : 'CreatedAt';

NAME : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_'|' ')* ;INT : ('0'..'9')+ ;

©2018Oracle Corporation. All rights reserved 361 of 396

WS : (' '|'\t'|'\n'|'\r')+ ;

3.12.3 Eloqua Markup Language version 3

Important: This document discusses EloquaMarkup Language v3. Learnmore about Eloqua

Markup Language v2.

EloquaMarkup Language (EML) is a text-based language used to access and provide a consistent

view of Eloqua data.

EML uses text to identify fields and data relationships for data-centric entities. This way, you can

easily describe and access the field values, entity attributes and relations that are important to you,

using intuitive language.

Available entities

EML allows you to access Contact, Account, and Custom Object, and Event data within your Eloqua

database. You can also access related assets, providing the relationship resolves to a single entity.

Access patterns

The general access format is EntityName.InfoYouWant), where InfoYouWant is a field name or

attribute. The syntax varies slightly between those two types of data: for named fields, the syntax is

EntityName.Field(FieldName), while for attributes, the syntax is

EntityName.AttributeName.

EML also uses dot notation to connect related assets, in the form

EntityName.RelatedAssetName.InfoYouWant.

There are some syntax requirements to bear in mind:

The system resolves all statements enclosed in and if it can parse them. Youmust put

statements that require resolution between double braces.

©2018Oracle Corporation. All rights reserved 362 of 396

To access attributes, use brackets [ ] to delimit the requested attribute. To access fields, use

parentheses ( ) to delimit the named field.

When specifying a field or asset using ELM, youmust refer to the internal name, rather than the

display name. The display name is the name that appears in the Eloqua UI, while the internal

name is the identifier used by the system. The Contact Entity’s email address field, for

example, has the display name: “Email Address” and the internal name “C_EmailAddress”. See

Field names for more information.

You can only access a related asset that resolves to a single record. For instance, since a Contact is

associated with at most one Account, you can retrieve a Contact’s related Account information.

Conversely, since Accounts are linked tomany Contacts, you cannot retrieve related Contact

information for an Account.

Syntax examples

These examples use a fictional contact called Bob Smith throughout. Bob’s contact information

resembles the following:

©2018Oracle Corporation. All rights reserved 363 of 396

Field Values

To access field values, the format is Type.Field(fieldName) For instance, to access the C_

FirstName field in a Contact, themarkup would resemble:

Contact.Field(C_FirstName)

For contact Bob Smith, the definition resolves to Bob.

Entity Attributes

You can also access an entity’s attributes. The definition is extremely similar to themarkup for

accessing entity fields. To access a contact’s Id, the internal contact identifier that Eloqua generates

and stores when you add a new contact, you would input:

Contact.Id

For Bob Smith, whose internal contact identifier is 123456, Contact.Id resolves to 123456.

Related Entities

To access a Contact’s linked Account information, in this case, M_CompanyName, the definition

is:

Contact.Account.Field(M_CompanyName)

For Bob Smith, who is a contact of Eloqua, this resolves to Eloqua.

To access a Contact's field via activity export definition, in this case, C_EmailAddress, the

definition is:

Activity.Contact.Field(C_EmailAddress)

For Bob Smith, whose email address is [email protected], this resolves to

[email protected].

©2018Oracle Corporation. All rights reserved 364 of 396

Changes in version 3

EloquaMarkup Language v3 builds on the previous version of EML to simplify and streamline the ways

you describe and access data within Eloqua. EML v3 adds support for:

Accessing visitor information for activities coming in from the web. For example, when

someone opens an email sent through Eloqua.

Discovering lead scoringmodels and fields.

Including lead scoring fields in a contact export definition, and filtering on lead scoring field

values.

Discovering events and event fields.

Exporting event registrants.

Importing event registrants.

Grammar

grammar Eml;

options language = CSharp3;output = AST;backtrack = true;

tokens CUSTOMOBJECT_NAME;CUSTOMOBJECT_INDEX;FIELD_NAME;FIELD_INDEX;ACTIVITY_TYPE_ATTRIBUTE;ASSET_TYPE_ATTRIBUTE;ASSET_NAME_ATTRIBUTE;ASSET_ID_ATTRIBUTE;CAMPAIGN_ID_ATTRIBUTE;VISITOR_ID_ATTRIBUTE;VISITOR_EXTERNAL_ID_ATTRIBUTE;

©2018Oracle Corporation. All rights reserved 365 of 396

@modifierpublic@parser::namespace Eloqua.Markup.Version3.Grammar @lexer::namespace Eloqua.Markup.Version3.Grammar

public dynamicEntity: DYNAMICSTART! (dataEntity | assetEntity) DYNAMICEND!;

assetEntity: contactContainerAsset| emailGroupAsset| accountContainerAsset| cloudInstanceAsset| emailAddressAsset;

contactContainerAsset: CONTACTLIST INDEXED_ID| CONTACTFILTER INDEXED_ID| CONTACTSEGMENT INDEXED_ID;

emailAddressAsset: GLOBALSUBSCRIBE;

emailGroupAsset: EMAILGROUP INDEXED_ID| EMAIL INDEXED_ID DOT! GROUP;

accountContainerAsset: ACCOUNTLIST INDEXED_ID;

cloudInstanceAsset: CONTENTINSTANCE NAMED_ID (DOT! execution)?| ACTIONINSTANCE NAMED_ID (DOT! execution)?| DECISIONINSTANCE NAMED_ID (DOT! execution)?| FEEDERINSTANCE NAMED_ID;

dataEntity: relationshipToContact DOT! contactAttribute

©2018Oracle Corporation. All rights reserved 366 of 396

| relationshipToContact DOT! LEADSCORE DOT leadScoreModelDOT! leadScoreModelAttribute

| relationshipToAccount DOT! accountAttribute| relationshipToCustomObject DOT! customObjectAttribute| relationshipToEvent DOT! eventAttribute| relationshipToActivity DOT! activityAttribute| relationshipToEmailAddress DOT! emailAddressAttribute

;

relationshipToContact: CONTACT| customObject DOT! CONTACT| event DOT! CONTACT| ACTIVITY DOT! CONTACT;

relationshipToAccount: ACCOUNT| CONTACT DOT! ACCOUNT| customObject DOT! ACCOUNT| event DOT! ACCOUNT;

relationshipToCustomObject: customObject;

relationshipToEvent: event;

relationshipToActivity: ACTIVITY

;

relationshipToEmailAddress: EMAILADDRESS;

contactAttribute: field| ID_ATTRIBUTE| CREATEDAT_ATTRIBUTE| UPDATEDAT_ATTRIBUTE| EMAIL! DOT! (

©2018Oracle Corporation. All rights reserved 367 of 396

| EMAIL_ISSUBSCRIBED_ATTRIBUTE| EMAIL_ISBOUNCED_ATTRIBUTE| EMAIL_FORMAT_ATTRIBUTE

);

accountAttribute: field| ID_ATTRIBUTE| CREATEDAT_ATTRIBUTE| UPDATEDAT_ATTRIBUTE;

customObjectAttribute: field| ID_ATTRIBUTE| EXTERNAL_ID_ATTRIBUTE| CREATEDAT_ATTRIBUTE| UPDATEDAT_ATTRIBUTE;

eventAttribute: field| ID_ATTRIBUTE| EXTERNAL_ID_ATTRIBUTE| CREATEDAT_ATTRIBUTE| UPDATEDAT_ATTRIBUTE;

leadScoreModelAttribute: RATING| PROFILESCORE| ENGAGEMENTSCORE;

activityAttribute: field| ID_ATTRIBUTE| EXTERNAL_ID_ATTRIBUTE

| TYPE_ATTRIBUTE -> ACTIVITY_TYPE_ATTRIBUTE| CREATEDAT_ATTRIBUTE| CAMPAIGN DOT ID_ATTRIBUTE -> CAMPAIGN_ID_ATTRIBUTE| VISITOR DOT (

| ID_ATTRIBUTE -> VISITOR_ID_ATTRIBUTE| EXTERNAL_ID_ATTRIBUTE -> VISITOR_EXTERNAL_ID_ATTRIBUTE

©2018Oracle Corporation. All rights reserved 368 of 396

)| ASSET DOT (

| TYPE_ATTRIBUTE -> ASSET_TYPE_ATTRIBUTE| NAME_ATTRIBUTE -> ASSET_NAME_ATTRIBUTE| ID_ATTRIBUTE -> ASSET_ID_ATTRIBUTE

);

emailAddressAttribute: field| ID_ATTRIBUTE| CREATEDAT_ATTRIBUTE| UPDATEDAT_ATTRIBUTE;

execution: EXECUTION INDEXED_ID

;

field: FIELD (

NAMED_ID -> FIELD_NAME NAMED_ID| INDEXED_ID -> FIELD_INDEX INDEXED_ID

);

customObject: CUSTOMOBJECT (

NAMED_ID -> CUSTOMOBJECT_NAME NAMED_ID| INDEXED_ID -> CUSTOMOBJECT_INDEX INDEXED_ID

);

event: EVENT INDEXED_ID;

leadScoreModel: LEADSCOREMODEL INDEXED_ID;

// Lexer tokensDYNAMICSTART : '' ;DYNAMICEND : '' ;DOT : '.' ;

// rootsCONTACT : 'Contact';

©2018Oracle Corporation. All rights reserved 369 of 396

ACCOUNT : 'Account';CUSTOMOBJECT : 'CustomObject';EVENT : 'Event';ACTIVITY : 'Activity';CONTACTLIST : 'ContactList';CONTACTFILTER : 'ContactFilter';CONTACTSEGMENT : 'ContactSegment';ACCOUNTLIST : 'AccountList';EMAIL : 'Email';EMAILGROUP : 'EmailGroup';CONTENTINSTANCE : 'ContentInstance';ACTIONINSTANCE : 'ActionInstance';DECISIONINSTANCE : 'DecisionInstance';FEEDERINSTANCE : 'FeederInstance';GLOBALSUBSCRIBE : 'GlobalSubscribe';EMAILADDRESS : 'EmailAddress';LEADSCORE : 'LeadScore';LEADSCOREMODEL : 'Model';

// attributesGROUP : 'Group';CAMPAIGN : 'Campaign';FIELD : 'Field';ASSET : 'Asset';VISITOR : 'Visitor';ID_ATTRIBUTE : 'Id';EXTERNAL_ID_ATTRIBUTE : 'ExternalId';EMAIL_ISSUBSCRIBED_ATTRIBUTE : 'IsSubscribed';EMAIL_ISBOUNCED_ATTRIBUTE : 'IsBounced';EMAIL_FORMAT_ATTRIBUTE : 'Format';TYPE_ATTRIBUTE : 'Type';NAME_ATTRIBUTE : 'Name';CREATEDAT_ATTRIBUTE : 'CreatedAt';UPDATEDAT_ATTRIBUTE : 'UpdatedAt';EXECUTION : 'Execution';RATING : 'Rating';PROFILESCORE : 'ProfileScore';ENGAGEMENTSCORE : 'EngagementScore';

NAMED_ID : '(' ('a'..'z'|'A'..'Z'|'0'..'9'|'_'|' ')+ ')';INDEXED_ID : '[' ('1'..'9') ('0'..'9')* ']';

©2018Oracle Corporation. All rights reserved 370 of 396

3.13 Export Characteristics

Export characteristics are properties you use to control and describe an export with the Bulk API.

The following characteristics are required:

name (string): name of this import (maximum 100 characters).

The following characteristics are optional:

dataRetentionDuration (duration): the length of time that unsync’d data from this import

should remain in the staging area. Bulk API 2.0 uses the ISO-8601 standard for specifying all

durations. Valid values are anything from PT1H (1 hour) to P2W (2 weeks). This setting will

default to P7D (7 days) if not explicitly set during export definition creation. Import definitions,

export definitions and synced data strictly honor this setting.

autoDeleteDuration (duration): the length of time before the import or export definition will be

automatically deleted. Bulk API 2.0 uses the ISO-8601 standard for specifying all durations.

Theminimum duration is PT1H (1 hour), there is nomaximum. If the property is not set,

automatic deletion will not occur. This is typically used for one-time-use import and export

definitions.

Note: The export definition should not be deleted until after data is retrieved. If the export

is of large volume, we recommend setting the autoDeleteDuration to aminimum of 1

day. This parameter applies to definitions only and does not affect synced data.

3.14 Import Characteristics

Import characteristics are properties you use to control and describe an import with the Bulk API. They

are optional.

©2018Oracle Corporation. All rights reserved 371 of 396

name (string): name of this import (maximum 100 characters).

isSyncTriggeredOnImport (boolean): whether a sync is automatically created by the system

import.

By default, isSyncTriggeredOnImport is true. If you set it to false, data that you push into

the system will not be processed until you explicitly create a sync step for this import.

updateRule: indicates whether to update values in the Eloqua database from values imported

with this import definition. The available options are:

Always: Always update

ifNewIsNotNull: Update if the new value is not blank

ifExistingIsNull: Update if the existing value is not blank

useFieldRule: Use the rule defined at the field level

dataRetentionDuration (duration): the length of time that unsync’d data from this import

should remain in the staging area. Bulk API 2.0 uses the ISO-8601 standard for specifying all

durations. Valid values are anything from PT1H (1 hour) to P2W (2 weeks). This setting will

default to P7D (7 days) if not explicitly set didng export definition creation. Import definitions,

export definitions and synced data strictly honor this setting.

autoDeleteDuration (duration): the length of time before the import or export definition will be

automatically deleted. Bulk API 2.0 uses the ISO-8601 standard for specifying all durations.

Theminimum duration is PT1H (1 hour), there is nomaximum. If the property is not set,

automatic deletion will not occur. This is typically used for one-time-use export definitions.

Import definitions, export definitions and synced data strictly honor this setting.

isUpdatingMultipleMatchedRecords (boolean): when set to true, if Eloqua finds multiple

matching records for the identifier field, Eloqua will update all of the fields that match. If set to

false, Eloqua updates based on its internal algorithm.

dataRetentionDuration (duration): the length of time that unsync’d data from this import

should remain in the staging area. Bulk API 2.0 uses the ISO-8601 standard for specifying all

©2018Oracle Corporation. All rights reserved 372 of 396

durations. Valid values are anything from PT1H (1 hour) to P2W (2 weeks). This setting will

default to P7D (7 days) if not explicitly set during export definition creation. Import definitions,

export definitions and synced data strictly honor this setting.

autoDeleteDuration (duration): the length of time before the import or export definition will be

automatically deleted. Bulk API 2.0 uses the ISO-8601 standard for specifying all durations.

Theminimum duration is PT1H (1 hour), there is nomaximum. If the property is not set,

automatic deletion will not occur. This is typically used for one-time-use export definitions.

Import definitions, export definitions and synced data strictly honor this setting.

isUpdatingMultipleMatchedRecords (boolean): when set to true, if Eloqua finds multiple

matching records for the identifier field, Eloqua will update all of the fields that match. If set to

false, Eloqua updates based on its internal algorithm.

identifierFieldName (string): the field which will be used to identify the entity. Must be a

string value, at least 1 character and at most 100 characters long. The following field types are

not supported:

Large Text

Date

Boolean

3.15 Import updateRule parameter

Import definitions include an updateRule parameter, which specifies how Eloqua should handle

updating records when you import a new value for an existing field. For example, if contact Sally

Jones's email address in Eloqua is [email protected], and you import a new email address

for Sally Jones, the updateRule determines whether Eloqua should retain the existing email address or

replace it with the new one.

The following rule types are available:

©2018Oracle Corporation. All rights reserved 373 of 396

always:always update

ifNewIsNotNull: update if the new value is not blank

ifExistingIsNull: update if the existing value is blank

useFieldRule: use the rule defined at the field level

If you do not specify an updateRule, the rule type defaults to always.

3.16 Sync actions parameters

Sync actions are parameters that you declare in an import or export definition that specify additional

actions Eloqua should take when you import or export data.

The following are supported sync actions:

Add contacts to contact list

Remove contacts from contact list

Subscribe contacts to email group

Unsubscribe contacts from email group

Contacts global subscribe

Contacts global unsubscribe

AppCloud Decision Response

AppCloud Action Response

AppCloud Feeder Response

AppCloud Decision Response (Program Canvas only)

AppCloud Action Response (Program Canvas only)

AppCloud Feeder Response (Program Canvas only)

©2018Oracle Corporation. All rights reserved 374 of 396

Add accounts to account list

Remove accounts from account list

3.16.1 Sync action reference for contacts

Add to contact list:

Action Destination Status

add ContactList[<id>] n/a

Example:

"action": "add","destination": "ContactList[12345]"

Remove from contact list:

Action Destination Status

remove ContactList[<id>] n/a

Example:

"action": "remove","destination": "ContactList[12345]"

Subscribe to Email Group:

Action Destination Status

setStatus EmailGroup[<id>] subscribed

Example:

©2018Oracle Corporation. All rights reserved 375 of 396

"action": "setStatus","destination": "EmailGroup[12345]","status": "subscribed"

Unsubscribe from Email Group:

Action Destination Status

setStatus EmailGroup[<id>] unsubscribed

Example:

"action": "setStatus","destination": "EmailGroup[12345]","status": "unsubscribed"

Global Subscribe (to all Email Groups):

Action Destination Status

setStatus GlobalSubscribe subscribed

Example:

"action": "setStatus","destination": "GlobalSubscribe","status": "subscribed"

Global Unsubscribe (from all Email Groups):

Action Destination Status

setStatus GlobalSubscribe unsubscribed

Example:

"action": "setStatus",

©2018Oracle Corporation. All rights reserved 376 of 396

"destination": "GlobalSubscribe","status": "unsubscribed"

AppCloud Decision Response:

Action Destination Status

setStatus DecisionInstance(<id>).Execution[<id>] yes / no / errored

Example:

"action": "setStatus","destination": "DecisionInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[12345]","status": "yes"

AppCloud Action Response:

Action Destination Status

setStatus ActionInstance(<id>).Execution[<id>] active / complete / errored

Example:

"action": "setStatus","destination": "ActionInstance

(f82d50cd86a94fcab37e4ec9a98b0339).Execution[12345]","status": "complete"

AppCloud Feeder Response:

Action Destination Status

setStatus FeederInstance[<id>] active / complete /

errored

©2018Oracle Corporation. All rights reserved 377 of 396

Example:

"action": "setStatus",

"destination": "FeederInstance

(da6ed61da73441dba1349582a4fa8a2c)",

"status": "complete"

3.16.2 Sync action reference for custom objects

AppCloud Decision Response (Program Canvas only):

Action Destination Status

setStatus DecisionInstance(<id>).Execution[<id>] yes / no / errored

Example:

"action": "setStatus",

"destination": "DecisionInstance

(da6ed61da73441dba1349582a4fa8a2c).Execution[12345]",

"status": "yes"

AppCloud Action Response (Program Canvas only):

Action Destination Status

setStatus ActionInstance(<id>).Execution[<id>] active / complete / errored

©2018Oracle Corporation. All rights reserved 378 of 396

Example:

"action": "setStatus",

"destination": "ActionInstance

(f82d50cd86a94fcab37e4ec9a98b0339).Execution[12345]",

"status": "complete"

AppCloud Feeder Response (Program Canvas only):

Action Destination Status

setStatus FeederInstance[<id>] active / complete /

errored

Example:

"action": "setStatus",

"destination": "FeederInstance

(da6ed61da73441dba1349582a4fa8a2c)",

"status": "complete"

3.16.3 Sync action reference for accounts

Add to account list:

Action Destination Status

add AccountList[<id>] n/a

©2018Oracle Corporation. All rights reserved 379 of 396

Example:

"action": "add",

"destination": "AccountList[12345]"

Remove from account list:

Action Destination Status

remove AccountList[<id>] n/a

Example:

"action": "remove",

"destination": "AccountList[12345]"

3.17 Sync Status Types

When you set up a sync and poll its URI, i.e. perform a GET request on

https://<host>/api/bulk/2.0/syncs/<ID>, Eloqua includes a status parameter in its response.

The following status values are possible:

pending: The sync is queued to execute.

active: The sync is currently in progress.

success: The sync has completed successfully.

©2018Oracle Corporation. All rights reserved 380 of 396

warning: There was unexpected behaviour but the sync did not fail--further details can be found

by calling the /syncs/<ID>/logs endpoint.

errored: The sync has failed--further details can be found by calling the /syncs/<ID>/logs

endpoint.

If you encounter an error, youmay be able to gain additional information on why the sync was

unsuccessful. See the Troubleshooting for more information.

3.18 Activity Fields

Activity elements behave differently from other Eloqua elements. Each activity type has its own set of

associated fields which are detailed below.

EmailOpen

EmailClickthrough

EmailSend

Subscribe

Unsubscribe

Bounceback

WebVisit

PageView

FormSubmit

For activity field type and length information please see activity field details below.

3.18.1 EmailOpen activity fields

©2018Oracle Corporation. All rights reserved 381 of 396

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","ContactId": "Activity.Contact.Id","IpAddress": "Activity.Field(IpAddress)","VisitorId": "Activity.Visitor.Id","EmailRecipientId": "Activity.Field(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","VisitorExternalId": "Activity.Visitor.ExternalId","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType1)"

3.18.2 EmailClickthrough activity fields

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","ContactId": "Activity.Contact.Id","IpAddress": "Activity.Field(IpAddress)","VisitorId": "Activity.Visitor.Id","EmailRecipientId": "Activity.Field(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","EmailClickedThruLink": "Activity.Field

1Possible values: Batchwizard, Campaign, CDOServiceStep, DeliverabilityTest, ExternalTest,FormProcessingStep, LowVolumeAPI, ProgramBuilder, QuickSend, SOAPAPI, SalesTools,TestCenter

©2018Oracle Corporation. All rights reserved 382 of 396

(EmailClickedThruLink)","VisitorExternalId": "Activity.Visitor.ExternalId","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType1)"

3.18.3 EmailSend activity fields

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","ContactId": "Activity.Contact.Id","EmailRecipientId": "Activity.Field(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetId": "Activity.Asset.Id","AssetName": "Activity.Asset.Name","SubjectLine": "Activity.Field(SubjectLine)","EmailWebLink": "Activity.Field(EmailWebLink)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId","DeploymentId": "Activity.Field(EmailDeploymentId)","EmailSendType": "Activity.Field(EmailSendType2)"

3.18.4 Subscribe activity fields

1Possible values: Batchwizard, Campaign, CDOServiceStep, DeliverabilityTest, ExternalTest,FormProcessingStep, LowVolumeAPI, ProgramBuilder, QuickSend, SOAPAPI, SalesTools,TestCenter2Possible values: Batchwizard, Campaign, CDOServiceStep, DeliverabilityTest, ExternalTest,FormProcessingStep, LowVolumeAPI, ProgramBuilder, QuickSend, SOAPAPI, SalesTools,TestCenter

©2018Oracle Corporation. All rights reserved 383 of 396

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","AssetId": "Activity.Asset.Id","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","EmailRecipientId": "Activity.Field(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId"

3.18.5 Unsubscribe activity fields

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","AssetId": "Activity.Asset.Id","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","EmailRecipientId": "Activity.Field(EmailRecipientId)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId"

3.18.6 Bounceback activity fields

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","EmailAddress": "Activity.Field(EmailAddress)","AssetType": "Activity.Asset.Type","AssetName": "Activity.Asset.Name","AssetId": "Activity.Asset.Id","CampaignId": "Activity.Campaign.Id",

©2018Oracle Corporation. All rights reserved 384 of 396

"ExternalId": "Activity.ExternalId","EmailRecipientId": "Activity.Field(EmailRecipientId)","DeploymentId": "Activity.Field(EmailDeploymentId)","SmtpErrorCode": "Activity.Field(SmtpErrorCode)","SmtpStatusCode": "Activity.Field(SmtpStatusCode)","SmtpMessage": "Activity.Field(SmtpMessage)"

3.18.7 WebVisit activity fields

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","ReferrerUrl": "Activity.Field(ReferrerUrl)","IpAddress": "Activity.Field(IpAddress)","NumberOfPages": "Activity.Field(NumberOfPages)","FirstPageViewUrl": "Activity.Field(FirstPageViewUrl)","Duration": "Activity.Field(Duration)","ExternalId": "Activity.ExternalId"

3.18.8 PageView activity fields

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","CampaignId": "Activity.Campaign.Id","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","WebVisitId": "Activity.Field(WebVisitId)","Url": "Activity.Field(Url)","ReferrerUrl": "Activity.Field(ReferrerUrl)",

©2018Oracle Corporation. All rights reserved 385 of 396

"IpAddress": "Activity.Field(IpAddress)","IsWebTrackingOptedIn": "Activity.Field

(IsWebTrackingOptedIn)","ExternalId": "Activity.ExternalId"

3.18.9 FormSubmit activity fields

"ActivityId": "Activity.Id","ActivityType": "Activity.Type","ActivityDate": "Activity.CreatedAt","ContactId": "Activity.Contact.Id","VisitorId": "Activity.Visitor.Id","VisitorExternalId": "Activity.Visitor.ExternalId","AssetType": "Activity.Asset.Type","AssetId": "Activity.Asset.Id","AssetName": "Activity.Asset.Name","RawData": "Activity.Field(RawData)","CampaignId": "Activity.Campaign.Id","ExternalId": "Activity.ExternalId"

3.18.10 Activity field details

Field typeDatatype

Maxlength

Description

Activity.Id Integer(bigInteger forpageviews)

--

The unique identifier of the activity per activity type, except forEmailSend. The Activity Id is not unique across activity types, or forEmailSend.

Activity.Type String

100The type of activity. The activity types are EmailOpen,EmailClickthrough, EmailSend, Subscribe, Unsubscribe,Bounceback, WebVisit, PageView, and FormSubmit.

©2018Oracle Corporation. All rights reserved 386 of 396

Field typeDatatype

Maxlength

Description

Activity.CreatedAt

Date/timestamp

--

The date and time of the activity.

Activity.Field(EmailAddress)

String

400The email address of the contact who performed the activity.

Activity.Contact.Id

Integer

--The id of the contact who performed the activity.

Activity.Field(EmailRecipientId)

String

38 The recipient id associated with an email activity. The RecipientId ispresent on every link in an email in the format of elq=<GUID>. At thetime of sending the email, a GUID is generated and injected into thelink. Learnmore about the RecipientId.

Activity.Asset.Type

String

100The type of asset associated with the activity. Examples of assettypes are Email and Form.

Activity.Asset.Name

String

100The name of the asset associated with the activity.

Activity.Asset.Id

Integer

--The id of the asset associated with the activity.

Activity.Field(SubjectLine)

String

500The subject line for an email activity.

Activity.Field(EmailWebLink)

String

8192

The link for viewing the email in a web browser window for an emailactivity.

Activity.Campaign.Id

Integer

--The id of the campaign associated with the activity.

Activity.Field(EmailDeploymentId)

Integer

--The id of the email deployment for an email activity.

Activity.Field(IpAddress)

String

50The IP address of the visitor who performed the activity.

Activity.Visitor.Id

Integer

--The id of the visitor who performed the activity.

Activity.Visitor.ExternalId

String

38TheGUID of the visitor who performed the activity.

Activity.Field(EmailClickedThruLink)

String

8192 The link clicked through for an EmailClickthrough activity.

Activity.Field(RawData)

String

64000

The raw data submitted with a FormSubmit activity. Includes theHTML field name and the submitted values in a query string format.Example:"emailAddress=Test%40oracle.com&lastName=TestLN&firstName=TestFN&company=Test%20Company&submit=".

Activity.Field(ReferrerUrl)

String

8192

The URL or form submission a PageView orWebVisit activity wasreferred from. Example form submission: "Form Submitted:<FormName>" .

©2018Oracle Corporation. All rights reserved 387 of 396

Field typeDatatype

Maxlength

Description

Activity.Field(WebVisitId)

Integer

--The id of theWebVisit associated with a PageView activity.

Activity.Field(Url)

String

8192

The URL viewed with a PageView activity.

Activity.Field(IsWebTrackingOptedIn)

Boolean

--Indicates if visitor who performed activity is opted-in to web tracking.

Activity.Field(NumberOfPages)

Integer

--The number of pages viewed with aWebVisit activity.

Activity.Field(FirstPageViewUrl)

String

8192 The URL of the first page viewed in aWebVisit activity.

Activity.Field(Duration)

String(ISO-8601Duration)

100

The duration of aWebVisit activity returned using the ISO-8601standard for specifying durations.

Activity.Field(EmailSendType)

String

100The type of email send for an email activity. Email Send Types areBatchWizard, Quicksend, SOAPAPI, Salestools,FormProcessingStep, DCOServicesStep, ExternalTest, TestCenter,Deliverability, LowVolumeAPI, and Campaign.

Activity.ExternalId

String

20The unique identifier of the activity across activity types.

Activity.Field(SmtpErrorCode)

String

9The SMTP Status Code for the email bounceback.

Activity.Field(SmtpStatusCode)

String

3The SMTP Response Code for the email bounceback.

Activity.Field(SmtpMessage)

String

510The SMTP message for the email bounceback.

3.19 Bulk API Limits

Every Eloqua instance has a soft limit of 2,000 syncs every 24 hours. The number of syncs being

executed is logged andmonitored to ensure the Bulk API's stability and reliability.

©2018Oracle Corporation. All rights reserved 388 of 396

Important: If the sync limit is exceeded, it is possible there will be slowdowns in processing

imports and exports in Eloqua. In certain cases, it is possible that other clients could be

affected. If there is impact on other clients, wemay take action to alleviate the effect on those

clients.

3.19.1 Import limits:

Definition limit:

An import definition can include amaximum of 100 fields. The import definition will fail to

create if more than 100 fields are specified.

Request limit:

There is a hard limit of 32 MB per request when posting data to an import sync’s

staging area. Requests larger than 32MB will fail by returning a 404 Not Found

response. To import more than 32MB of data, you canmakemultiple posts of 32MB (or

less) to the import definition before syncing.

Staging limit:

It is recommended to sync an import whenever approximately 250 MB of data has been

posted to its staging area.

3.19.2 Export Limits

Definition limits:

An export definition can include amaximum of 250 fields. The export definition will fail to

create if more than 250 fields are specified.

Note: When specifying fields for an App or Service instance, you can specify a

maximum amount of 249 fields. AppCloud Developer reserves one field, which is

©2018Oracle Corporation. All rights reserved 389 of 396

the contact id. The contact id is required to update the status of records andmove

them to subsequent steps or pass cloud content, therefore themaximum number

of fields you can specify is 249.

Request limit:

There is a limit of 50,000 records per request while retrieving data from an export. You

can use the offset parameter to retrieve additional records.

Staging limit:

When exporting activities there is a limit of 5 million records per sync.

3.19.3 Data limitations:

Request limit:

If a POST request to a data endpoint exceeds 32 MB, a 404 Not Found response will be

returned. Multiple post requests of 32MB (or less) must bemade instead. This limitation

applies to following data endpoints:

/api/bulk/2.0/accounts/syncActions/id/data

/api/bulk/2.0/accounts/imports/id/data

/api/bulk/2.0/activities/imports/id/data

/api/bulk/2.0/contacts/syncActions/id/data

/api/bulk/2.0/contacts/imports/id/data

/api/bulk/2.0/customObjects/parentId/syncActions/id/data

/api/bulk/2.0/customObjects/parentId/imports/id/data

/api/bulk/2.0/events/parentId/imports/id/data

©2018Oracle Corporation. All rights reserved 390 of 396

3.20 Field names

Every field in Eloqua has two names: the Display Name and the Internal Name. The Display Name is

the name that Eloqua users see when they are editing a contact form; the Internal Name is a unique

name for that field. For example, Contacts and accounts both have email address fields: Eloquamay

use “Email Address” as the display name for both entity types, but they have distinct Internal Names.

To narrow down the list of parameters to ones that are relevant for you, use query parameters to search

for the fields that you need.

For example, the following request searches for contact fields whose names begin with ‘Email’:

https://secure.p03.eloqua.com/API/Bulk/2.0/contacts/fields?q="name=Email*"

Important

Search terms are case sensitive: if you search for ‘email’, you will not find any fields, as

Eloqua’s field names are capitalized.

The results should resemble:

"count": 3,"hasMore": false,"items": [

"createdAt": "1900-01-01T05:00:00.0000000Z","dataType": "emailAddress","hasNotNullConstraint": false,"hasReadOnlyConstraint": false,"hasUniquenessConstraint": true,"internalName": "C_EmailAddress","name": "Email Address","statement": "Contact.Field(C_EmailAddress)","updatedAt": "1900-01-01T05:00:00.0000000Z","uri": "/contacts/fields/100001"

,

©2018Oracle Corporation. All rights reserved 391 of 396

"createdAt": "1900-01-01T05:00:00.0000000Z","dataType": "string","hasNotNullConstraint": false,"hasReadOnlyConstraint": false,"hasUniquenessConstraint": false,"internalName": "C_EmailDisplayName","name": "Email Display Name","statement": "Contact.Field(C_

EmailDisplayName)","updatedAt": "1900-01-01T05:00:00.0000000Z","uri": "/contacts/fields/100005"

,

"createdAt": "1900-01-01T05:00:00.0000000Z","dataType": "string","hasNotNullConstraint": false,"hasReadOnlyConstraint": false,"hasUniquenessConstraint": false,"internalName": "C_SFDC_EmailOptOut1","name": "SFDC Email Opt-Out","statement": "Contact.Field(C_SFDC_

EmailOptOut1)","updatedAt": "1900-01-01T05:00:00.0000000Z","uri": "/contacts/fields/100043"

]

The statement field shows the EloquaMarkup Language representation of that field, which you can

then use in an import or export definition.

3.21 System timestamps

The following system timestamps are available for contacts, accounts, custom objects / events, and

activities. When setting the areSystemTimestampsInUTC parameter to true for an export definition,

these are the fields that will be returned in Coordinated Universal Time (UTC).

©2018Oracle Corporation. All rights reserved 392 of 396

3.21.1 Contacts

System timestamp name Internal nameDate Created C_DateCreatedDateModified C_DateModifiedLast Modified by CRM System C_

LastModifiedByExtIntegrateSystem

3.21.2 Accounts

System timestamp name Internal nameDate Created M_DateCreatedDateModified M_DateModifiedLast Modified by CRM System M_

LastModifiedByExtIntegrateSystem

3.21.3 Custom Objects / Events

System timestamp name Internal nameDataCard Created At CreatedAtDataCard Updated At UpdatedAt

3.21.4 Activities

System timestamp name Internal nameActivity Created At CreatedAt

3.22 Default display formats

For custom object fields, you can specify how date/time and numeric fields are formatted. These

display formats can bemanaged as needed in Eloqua if you need to alter or create new formats. The

following table outlines the default display formats and their associated ids. See an example where

FieldOutputFormat is set.

©2018Oracle Corporation. All rights reserved 393 of 396

3.22.1 Date Formats

Format Example idd/M/yyyy 15/6/2009 17dd/MM/yy 24/06/09 7dd/MM/yyyy 24/06/2009 6dddd Wednesday 11ddddMMMM d, yyyy Wednesday, September

9, 200919

h.mm.ss 2.30.04 3h:mm:ss tt 2:28:46 AM 15HH tt 14 PM 13HH.mm.ss 14.28.46 2HH:mm 14:28 12HH:mm:ss 14:28:46 14M.d.yyyy 6.15.2009 1M/d/yyyy 6/15/2009 18MM/dd/yy 06/24/09 5MM/dd/yyyy 06/24/2009 4MMM d, yyyy Aug 20, 2009 16MMMM d, yyyy August 20, 2009 8MMMM, d August, 20 9MMMM, yyyy August, 2009 10"yyyy-MM-ddHH:MM:ss.fff"

2004-03-27 14:03:04.00026

3.22.2 Numeric Formats

Format Example id# 12345 22#,#.## 12,345.68 23#,0 12,346 27#.# 12345.7 21#.## 12345.68 20#.#### 12345.6789 25#.0 12345.0 280.0 12345.0 29

©2018Oracle Corporation. All rights reserved 394 of 396

3.23 Troubleshooting

Eloqua’s Bulk API includes endpoints to help you troubleshoot your imports and exports. Specifically,

these endpoints provide insight into what happened during the sync phase of an import or export.

In order to control for different data access permissions, Eloqua associates imports and exports

with the user who creates them. Thus, only the user who synchronizes an export is able to

retrieve the exported data: any other user who attempts to retrieve it will receive an error.

If you wish to retrieve data for a given export definition, you will need to re-sync that data

yourself, and then retrieve it.

3.23.1 View Sync Logs

Sync Logs provide aggregate data detailing what happened during a specific sync. Unlike the sync’s

status field which simply indicates success, failure, and errors, the /syncs/id/logs endpoint

response includes the Eloqua Status Codes and a human-readablemessage.

For example, calling https://<host>.eloqua.com/API/Bulk/2.0/syncs/1196/logs yields:

"count": 3,"hasMore": false,"items": [

"count": 4149,"createdAt": "2014-05-12T14:23:05.9100000Z","message": "Successfully exported members to csv

file.","severity": "information","statusCode": "ELQ-00102","syncUri": "/syncs/1196"

,

"count": 0,"createdAt": "2014-05-12T14:23:07.2670000Z",

©2018Oracle Corporation. All rights reserved 395 of 396

"message": "Deleted internal staging for datatransfer.",

"severity": "information","statusCode": "ELQ-00131","syncUri": "/syncs/1196"

,

"count": 0,"createdAt": "2014-05-12T14:23:07.7630000Z","message": "Successfully converted csv file to

sqlite, taking 264 kb.","severity": "information","statusCode": "ELQ-00106","syncUri": "/syncs/1196"

],"limit": 1000,"offset": 0,"totalResults": 3

This provides more granular information and can help you debug where an unsuccessful sync went

wrong.

3.23.2 Check for Import Errors

The /syncs/id/rejects endpoint gives raw data about validation failures during imports.

Eloqua performs validation on some data. If you attempt to import a non-valid email address using the

Bulk API, that record will be rejected. The /syncs/id/rejects endpoint allows you to see what

records were not imported, so that you can correct any issues and try again.

3.23.3 Retrieve Past Data Files

In some cases, youmay choose to reuse an export definition: if you are performing routine exports, for

example, reusing an existing definition saves time and effort. However, when you re-sync the export,

the exported datamay have changed. Last week’s output from /contacts/exports/123/datamay be

different from today’s.

©2018Oracle Corporation. All rights reserved 396 of 396

The /syncs/id/data endpoint enables you to retrieve the data associated with a specific sync. This

can be useful to retrieve past data or debug issues retroactively.