Create a contact import definition
post
/api/bulk/2.0/contacts/imports
Creates a new contact import definition. See the tutorial for details on how to import data.
Request
Supported Media Types
- application/json
- text/csv
The request body contains details of the contact import definition.
Root Schema : ContactImportIndividual
Type:
objectTitle:
ContactImportIndividualThe request body defines the details of the contact import definition.
Show Source
-
autoDeleteDuration:
string
Title:
autoDeleteDurationTime until the definition will be deleted, expressed using the ISO-8601 standard. -
createdAt:
string(date-time)
Title:
createdAtThe date and time the entity was created, expressed using the ISO-8601 standard. This is a read-only property. -
createdBy:
string
Title:
createdByThe login id of the user who created the entity. This is a read-only property. -
dataRetentionDuration:
string
Title:
dataRetentionDurationThe 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. -
externalSystemId:
integer
Title:
externalSystemIdThe id of the external system. -
fields:
object fields
Title:
fieldsList of fields to be included in the operation. -
identifierFieldName:
string
Title:
identifierFieldNameThe 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. -
importPriorityUri:
string
Title:
importPriorityUriMust reference an existing/imports/priorities/{id}. For more information about this parameter, see the Oracle Eloqua Developer Help Center. -
isSyncTriggeredOnImport:
boolean
Title:
isSyncTriggeredOnImportWhether or not the sync is triggered on import. -
isUpdatingMultipleMatchedRecords:
boolean
Title:
isUpdatingMultipleMatchedRecordsWhether or not imported data will be mapped to multiple existing records. For contact imports, theisUpdatingMultipleMatchedRecordsproperty must be set tofalseto updateContact.Field(C_EmailAddress). -
kbUsed:
integer(int64)
Title:
kbUsedThe amount of space used in kilobytes. This is a read-only property. -
name:
string
Title:
nameThe name of the import definition. -
nullIdentifierFieldName:
boolean
Title:
nullIdentifierFieldNameWhether or not to null the identifier field. -
syncActions:
array syncActions
Title:
syncActionsSpecifies operations to perform during the sync with a maximum of 10 actions. See Sync actions parameters for a list of sync actions. For more information about this parameter, see the Oracle Eloqua Developer Help Center. There currently are not any sync actions available for Events. -
updatedAt:
string(date-time)
Title:
updatedAtThe date and time the entity was last updated, expressed using the ISO-8601 standard. This is a read-only property. -
updatedBy:
string
Title:
updatedByThe login id of the user that last updated the entity. This is a read-only property. -
updateRule:
string
Title:
RuleTypeDefault Value:alwaysAllowed 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:
object updateRuleByField
Title:
updateRuleByFieldThe rule by field used when doing updates on existing data. Each pair is a field name mapped to a rule type. -
uri:
string
Title:
uriSystem-generated unique resource identifier that defines the definition for future referencing. This is a read-only property.
Nested Schema : fields
Type:
objectTitle:
fieldsList of fields to be included in the operation.
Nested Schema : syncActions
Type:
arrayTitle:
syncActionsSpecifies operations to perform during the sync with a maximum of 10 actions. See Sync actions parameters for a list of sync actions. For more information about this parameter, see the Oracle Eloqua Developer Help Center.
There currently are not any sync actions available for Events.
Show Source
-
Array of:
object SyncAction
Title:
SyncActionThe definition of the action to take at time of syncronization.
Nested Schema : updateRuleByField
Type:
objectTitle:
updateRuleByFieldThe rule by field used when doing updates on existing data. Each pair is a field name mapped to a rule type.
Nested Schema : SyncAction
Type:
objectTitle:
SyncActionThe definition of the action to take at time of syncronization.
Show Source
-
action:
string
Title:
SyncActionTypeDefault Value:addAllowed Values:[ "add", "remove", "setStatus" ]The action to take at time of synchronization. -
destination:
string
Title:
destinationThe ML statement used to reference an object used by the action. -
status:
string
Title:
MemberStatusDefault Value:bouncedAllowed Values:[ "bounced", "subscribed", "unsubscribed", "active", "complete", "pending", "errored", "yes", "no", "invalid", "permission" ]The status of members. -
updateAll:
boolean
Title:
updateAllUpdate status of all records in an execution.
Response
Supported Media Types
- application/json
201 Response
Success.
Root Schema : ContactImportIndividualResponse
Type:
objectTitle:
ContactImportIndividualResponseThe response body includes information about the contact import definition.
Show Source
-
autoDeleteDuration:
string
Title:
autoDeleteDurationTime until the definition will be deleted, expressed using the ISO-8601 standard. -
createdAt:
string(date-time)
Title:
createdAtThe date and time the entity was created, expressed using the ISO-8601 standard. This is a read-only property. -
createdBy:
string
Title:
createdByThe login id of the user who created the entity. This is a read-only property. -
dataRetentionDuration:
string
Title:
dataRetentionDurationThe 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. -
externalSystemId:
integer
Title:
externalSystemIdThe id of the external system. -
fields:
object fields
Title:
fieldsList of fields to be included in the operation. -
identifierFieldName:
string
Title:
identifierFieldNameThe 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. -
importPriorityUri:
string
Title:
importPriorityUriMust reference an existing/imports/priorities/{id}. For more information about this parameter, see the Oracle Eloqua Developer Help Center. -
isSyncTriggeredOnImport:
boolean
Title:
isSyncTriggeredOnImportWhether or not the sync is triggered on import. -
isUpdatingMultipleMatchedRecords:
boolean
Title:
isUpdatingMultipleMatchedRecordsWhether or not imported data will be mapped to multiple existing records. For contact imports, theisUpdatingMultipleMatchedRecordsproperty must be set tofalseto updateContact.Field(C_EmailAddress). -
kbUsed:
integer(int64)
Title:
kbUsedThe amount of space used in kilobytes. This is a read-only property. -
name:
string
Title:
nameThe name of the import definition. -
nullIdentifierFieldName:
boolean
Title:
nullIdentifierFieldNameWhether or not to null the identifier field. -
syncActions:
array syncActions
Title:
syncActionsSpecifies operations to perform during the sync with a maximum of 10 actions. See Sync actions parameters for a list of sync actions. For more information about this parameter, see the Oracle Eloqua Developer Help Center. There currently are not any sync actions available for Events. -
updatedAt:
string(date-time)
Title:
updatedAtThe date and time the entity was last updated, expressed using the ISO-8601 standard. This is a read-only property. -
updatedBy:
string
Title:
updatedByThe login id of the user that last updated the entity. This is a read-only property. -
updateRule:
string
Title:
RuleTypeDefault Value:alwaysAllowed 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:
object updateRuleByField
Title:
updateRuleByFieldThe rule by field used when doing updates on existing data. Each pair is a field name mapped to a rule type. -
uri:
string
Title:
uriSystem-generated unique resource identifier that defines the definition for future referencing. This is a read-only property.
Nested Schema : fields
Type:
objectTitle:
fieldsList of fields to be included in the operation.
Nested Schema : syncActions
Type:
arrayTitle:
syncActionsSpecifies operations to perform during the sync with a maximum of 10 actions. See Sync actions parameters for a list of sync actions. For more information about this parameter, see the Oracle Eloqua Developer Help Center.
There currently are not any sync actions available for Events.
Show Source
-
Array of:
object SyncAction
Title:
SyncActionThe definition of the action to take at time of syncronization.
Nested Schema : updateRuleByField
Type:
objectTitle:
updateRuleByFieldThe rule by field used when doing updates on existing data. Each pair is a field name mapped to a rule type.
Nested Schema : SyncAction
Type:
objectTitle:
SyncActionThe definition of the action to take at time of syncronization.
Show Source
-
action:
string
Title:
SyncActionTypeDefault Value:addAllowed Values:[ "add", "remove", "setStatus" ]The action to take at time of synchronization. -
destination:
string
Title:
destinationThe ML statement used to reference an object used by the action. -
status:
string
Title:
MemberStatusDefault Value:bouncedAllowed Values:[ "bounced", "subscribed", "unsubscribed", "active", "complete", "pending", "errored", "yes", "no", "invalid", "permission" ]The status of members. -
updateAll:
boolean
Title:
updateAllUpdate status of all records in an execution.
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.
Examples
The following examples demonstrate how to create a new contact 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
Create a new contact import definition to export a list of lead scoring fields from the lead scoring model with id#1 and email addresses:
POST /contacts/imports
Content-Type: application/json
Request body:
Request body notes:
- The
isUpdatingMultipleMatchedRecordsproperty must be set tofalsein order to updateContact.Field(C_EmailAddress).
{
"name":"Contact Name Import",
"fields":{
"FirstName":"{{Contact.Field(C_FirstName)}}"
},
"identifierFieldName": "FirstName"
}
Response:
{
"name":"Contact Name Import",
"fields":{
"FirstName":"{{Contact.Field(C_FirstName)}}"
},
"identifierFieldName":"FirstName",
"isSyncTriggeredOnImport":false,
"dataRetentionDuration":"P7D",
"isUpdatingMultipleMatchedRecords":false,
"uri":"/contacts/imports/29686",
"createdBy":"API.User",
"createdAt":"2015-08-21T20:07:05.9198818Z",
"updatedBy":"API.User",
"updatedAt":"2015-08-21T20:07:05.9198818Z"
}
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":"Contact Name Import","fields":{"FirstName":"{{Contact.Field(C_FirstName)}}"},"identifierFieldName":"FirstName"}' https://secure.p03.eloqua.com/api/bulk/2.0/contacts/imports