oracle eloqua bulk 2.0 api developer guide
TRANSCRIPT
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
©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.