Eloqua's API allows for the creation of custom objects that contain custom fields defined by the customer. An object itself follows a set pattern that Eloqua uses to handle its custom objects. This includes fields for selecting the unique identifier, selecting email address, standard descriptions and names, and most importantly, a fields key that points to an array of custom fields.
Bulk and Custom Objects
The Eloqua element uses the Eloqua native bulk API. This API will always perform an upsert on a POST request, as such it will need a "identifierFieldName" to indicate the unique identifier. If inside of your upload data (JSON/CSV), there is a record with the identifier field value, it will update that record with new values for the specified fields. If there is no record with the identifier field value, then it will create the new record. This is how the Eloqua bulk API combines an update and upload into an upsert.
In the fields array, custom fields are represented by their field Id and not their name. It is essential to pass an "identifierFieldName" as the field ID and not the field name, for example {"identifierFieldName":"101"}, where "101" refers to the unique field in the custom object.
For an example step-by-step, watch the following video: