Create an activity import definition

post

/api/bulk/2.0/activities/imports

Creates a new activity import definition to be used to import external activities related to external assets only. See the tutorial for details on how to import data.

Request

Supported Media Types
Body ()
The request body contains details of the activity import defintion.
Root Schema : ActivityImportIndividual
Type: object
Title: ActivityImportIndividual
The request body defines the details of the activity import definition.
Show Source
  • Title: autoDeleteDuration
    Time until the definition will be deleted, expressed using the ISO-8601 standard.
  • Title: createdAt
    The date and time the entity was created, expressed using the ISO-8601 standard. This is a read-only property.
  • Title: createdBy
    The login id of the user who created the entity. This is a read-only property.
  • Title: dataRetentionDuration
    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 P14D (2 weeks). This setting will default to P7D (7 days) if not explicitly set during import definition creation.
  • Title: externalSystemId
    The id of the external system.
  • fields
    Title: fields
    List of fields to be included in the operation.
  • Title: identifierFieldName
    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, and Boolean.
  • Title: importPriorityUri
    Must reference an existing /imports/priorities/{id}. For more information about this parameter, see the Oracle Eloqua Developer Help Center.
  • Title: isSyncTriggeredOnImport
    Whether or not the sync is triggered on import.
  • Title: isUpdatingMultipleMatchedRecords
    Whether or not imported data will be mapped to multiple existing records. For contact imports, the isUpdatingMultipleMatchedRecords property must be set to false to update Contact.Field(C_EmailAddress).
  • Title: kbUsed
    The amount of space used in kilobytes. This is a read-only property.
  • Title: name
    The name of the import definition.
  • Title: nullIdentifierFieldName
    Whether or not to null the identifier field.
  • Title: updatedAt
    The date and time the entity was last updated, expressed using the ISO-8601 standard. This is a read-only property.
  • Title: updatedBy
    The login id of the user that last updated the entity. This is a read-only property.
  • Title: RuleType
    Default Value: always
    Allowed Values: [ "always", "ifNewIsNotNull", "ifExistingIsNull", "useFieldRule" ]
    The rule used when doing updates on existing data. For more information about this parameter, see the Oracle Eloqua Developer Help Center.
  • updateRuleByField
    Title: updateRuleByField
    The rule by field used when doing updates on existing data. Each pair is a field name mapped to a rule type.
  • Title: uri
    System-generated unique resource identifier that defines the definition for future referencing. This is a read-only property.
Nested Schema : fields
Type: object
Title: fields
List of fields to be included in the operation.
Nested Schema : updateRuleByField
Type: object
Title: updateRuleByField
The rule by field used when doing updates on existing data. Each pair is a field name mapped to a rule type.
Back to Top

Response

Supported Media Types

201 Response

Success.
Body ()
Root Schema : ActivityImportIndividualResponse
Type: object
Title: ActivityImportIndividualResponse
The response body includes information about the activity import definition.
Show Source
  • Title: autoDeleteDuration
    Time until the definition will be deleted, expressed using the ISO-8601 standard.
  • Title: createdAt
    The date and time the entity was created, expressed using the ISO-8601 standard. This is a read-only property.
  • Title: createdBy
    The login id of the user who created the entity. This is a read-only property.
  • Title: dataRetentionDuration
    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 P14D (2 weeks). This setting will default to P7D (7 days) if not explicitly set during import definition creation.
  • Title: externalSystemId
    The id of the external system.
  • fields
    Title: fields
    List of fields to be included in the operation.
  • Title: identifierFieldName
    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, and Boolean.
  • Title: importPriorityUri
    Must reference an existing /imports/priorities/{id}. For more information about this parameter, see the Oracle Eloqua Developer Help Center.
  • Title: isSyncTriggeredOnImport
    Whether or not the sync is triggered on import.
  • Title: isUpdatingMultipleMatchedRecords
    Whether or not imported data will be mapped to multiple existing records. For contact imports, the isUpdatingMultipleMatchedRecords property must be set to false to update Contact.Field(C_EmailAddress).
  • Title: kbUsed
    The amount of space used in kilobytes. This is a read-only property.
  • Title: name
    The name of the import definition.
  • Title: nullIdentifierFieldName
    Whether or not to null the identifier field.
  • Title: updatedAt
    The date and time the entity was last updated, expressed using the ISO-8601 standard. This is a read-only property.
  • Title: updatedBy
    The login id of the user that last updated the entity. This is a read-only property.
  • Title: RuleType
    Default Value: always
    Allowed Values: [ "always", "ifNewIsNotNull", "ifExistingIsNull", "useFieldRule" ]
    The rule used when doing updates on existing data. For more information about this parameter, see the Oracle Eloqua Developer Help Center.
  • updateRuleByField
    Title: updateRuleByField
    The rule by field used when doing updates on existing data. Each pair is a field name mapped to a rule type.
  • Title: uri
    System-generated unique resource identifier that defines the definition for future referencing. This is a read-only property.
Nested Schema : fields
Type: object
Title: fields
List of fields to be included in the operation.
Nested Schema : updateRuleByField
Type: object
Title: updateRuleByField
The rule by field used when doing updates on existing data. Each pair is a field name mapped to a rule type.

400 Response

Bad request. See Status Codes for information about other possible HTTP status codes.

401 Response

Unauthorized. See Status Codes for information about other possible HTTP status codes.

403 Response

Forbidden. See Status Codes for information about other possible HTTP status codes.

404 Response

The requested resource was not found. See Status Codes for information about other possible HTTP status codes.

409 Response

There was a conflict. See Status Codes for information about other possible HTTP status codes.

410 Response

The requested resource is no longer available. See Status Codes for information about other possible HTTP status codes.

412 Response

The resource you are attempting to delete has dependencies, and cannot be deleted. See Status Codes for information about other possible HTTP status codes.

413 Response

Storage space exceeded. See Status Codes for information about other possible HTTP status codes.

500 Response

The service has encountered an internal server error. See Status Codes for information about other possible HTTP status codes.

503 Response

There was a timeout processing the request. See Status Codes for information about other possible HTTP status codes.
Back to Top

Examples

The following examples demonstrate how to create an activity import definition using an HTTP request and cURL. For more information on requests, see API requests. See the tutorial for details on how to import data.

HTTP Request 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
Content-Type: application/json 
			

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}}"
  }
}
			

Important: When creating Activity imports the following fields are required:

  • One of these match fields:
    • "C_EmailAddress": "{{Activity.Contact.Field(C_EmailAddress)}}"
    • "ContactId": "{{Activity.Contact.Id}}"
    • "ContactIDExt": "{{Activity.Contact.Field(ContactIDExt)}}"
  • "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": false,
  "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 definition POST)
			

Request body:


[
  {
    "C_EmailAddress": "contact@oracle.com",
    "CampaignID": 505,
    "AssetName": "Booth Demo",
    "AssetType": "Tradeshow",
    "AssetDate": "2015-12-12T14:45:00Z",
    "ActivityType": "Viewed a Demo"
  }
]
			

Response:


204 No Content			
			

The response, if successful is an HTTP 204 No Content message. The data is now in the staging area, ready to be synced into Eloqua. For more information on importing data into Eloqua, see the tutorial.

  • C_EmailAddress is the email address of the contact who performed the activity.
  • ContactId is the id of the contact who performed the activity.
  • ContactIDExt is the string id 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.
  • ActivityType is the External Activity related to the External Activity Type to be used for the activity record.

cURL Example

Here is the same example in cURL given an instance with the name APITest, username API.User, and POD of 3.


curl --user "APITest\API.User" --header "Content-Type: application/json" --request POST --data '{"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}}"}}' https://secure.p03.eloqua.com/api/bulk/2.0/activities/imports
			
Back to Top