Create an opportunity import definition
post
/api/bulk/2.0/opportunities/imports
Creates an opportunity import definition. For more information about using these endpoints, see, using the opportunities endpoints.
Request
Supported Media Types
- application/json
- text/csv
The request body contains details of the opportunity import definition.
Root Schema : OpportunityImportIndividual
Type:
objectTitle:
OpportunityImportIndividualThe request body defines the details of the opportunity 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. -
isIdentifierFieldCaseSensitive:
boolean
Title:
isIdentifierFieldCaseSensitiveWhether or not to perform a case sensitive search on the identifier field. -
isSyncTriggeredOnImport:
boolean
Title:
isSyncTriggeredOnImportWhether or not the sync is triggered on import. -
isUpdatingMultipleMatchedRecords:
boolean
Title:
isUpdatingMultipleMatchedRecordsWhether or not multiple matched records are being updated. -
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. -
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 : 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.
Response
Supported Media Types
- application/json
201 Response
OK.
Root Schema : OpportunityImportIndividualResponse
Type:
objectTitle:
OpportunityImportIndividualResponseThe response body includes information about the opportunity 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. -
isIdentifierFieldCaseSensitive:
boolean
Title:
isIdentifierFieldCaseSensitiveWhether or not to perform a case sensitive search on the identifier field. -
isSyncTriggeredOnImport:
boolean
Title:
isSyncTriggeredOnImportWhether or not the sync is triggered on import. -
isUpdatingMultipleMatchedRecords:
boolean
Title:
isUpdatingMultipleMatchedRecordsWhether or not multiple matched records are being updated. -
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. -
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 : 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.
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 opportunity import definition using an HTTP request and cURL. For more information on requests, see API requests.
HTTP Request Example
Create a new opportunity import definition:
POST /opportunities/imports
Content-Type: application/json
Request body:
{
"name": "Opportunity Import",
"fields": {
"OpportunityID": "{{Opportunity.Id}}",
"OpportunityName": "{{Opportunity.Field(Name)}}",
"AccountName": "{{Opportunity.Field(AccountName)}}",
"CreatedDate": "{{Opportunity.CreatedAt}}",
"Amount": "{{Opportunity.Field(Amount)}}",
"CloseDate": "{{Opportunity.Field(CloseDate)}}",
"Currency": "{{Opportunity.Field(Currency)}}",
"ForecastToCloseDate": "{{Opportunity.Field(ForecastToCloseDate)}}",
"Stage": "{{Opportunity.Field(Stage)}}",
"Territory": "{{Opportunity.Field(Territory)}}",
"Owner": "{{Opportunity.Field(Owner)}}",
"PrimaryCampaignId": "{{Opportunity.Field(PrimaryCampaignId)}}"
},
"identifierFieldName": "OpportunityID",
"isIdentifierFieldCaseSensitive": false
}
The request body must contain the following opportunity fields:
- {{Opportunity.Id}}
- {{Opportunity.Field(Name)}}
- {{Opportunity.Field(Stage)}}
- {{Opportunity.Field(Amount)}}
The request body must also contain identifierFieldName with the {{Opportunity.Id}} field in the fields.
Response:
{
"isIdentifierFieldCaseSensitive": false,
"name": "Opportunity Import",
"fields": {
"OpportunityID": "{{Opportunity.Id}}",
"OpportunityName": "{{Opportunity.Field(Name)}}",
"AccountName": "{{Opportunity.Field(AccountName)}}",
"CreatedDate": "{{Opportunity.CreatedAt}}",
"Amount": "{{Opportunity.Field(Amount)}}",
"CloseDate": "{{Opportunity.Field(CloseDate)}}",
"Currency": "{{Opportunity.Field(Currency)}}",
"ForecastToCloseDate": "{{Opportunity.Field(ForecastToCloseDate)}}",
"Stage": "{{Opportunity.Field(Stage)}}",
"Territory": "{{Opportunity.Field(Territory)}}",
"Owner": "{{Opportunity.Field(Owner)}}",
"PrimaryCampaignId": "{{Opportunity.Field(PrimaryCampaignId)}}"
},
"identifierFieldName": "OpportunityID",
"isSyncTriggeredOnImport": false,
"dataRetentionDuration": "P7D",
"uri": "/opportunities/imports/24",
"createdBy": "API.User",
"createdAt": "2022-06-13T14:02:29.6270000Z",
"updatedBy": "API.User",
"updatedAt": "2022-06-13T14:02:29.6270000Z"
}
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":"Opportunity Import","fields":{"OpportunityID":"{{Opportunity.Id}}","OpportunityName":"{{Opportunity.Field(Name)}}","AccountName":"{{Opportunity.Field(AccountName)}}","CreatedDate":"{{Opportunity.CreatedAt}}","Amount":"{{Opportunity.Field(Amount)}}","CloseDate":"{{Opportunity.Field(CloseDate)}}","Currency":"{{Opportunity.Field(Currency)}}","ForecastToCloseDate":"{{Opportunity.Field(ForecastToCloseDate)}}","Stage":"{{Opportunity.Field(Stage)}}","Territory":"{{Opportunity.Field(Territory)}}","Owner":"{{Opportunity.Field(Owner)}}","PrimaryCampaignId":"{{Opportunity.Field(PrimaryCampaignId)}}"},"identifierFieldName":"OpportunityID","isIdentifierFieldCaseSensitive":false}' https://secure.p03.eloqua.com/api/bulk/2.0/opportunities/imports