Changelog

View changes for Eloqua's APIs including:

  • New features
  • Significant recent changes
  • Platform notices

Included in these changelogs are the Application API, Bulk API, and AppCloud Developer Framework.

To learn more about recent and upcoming Oracle Eloqua release rollouts, including rollout dates, user-facing features, and product notices, visit the Oracle Eloqua Release Center.

Release 21B

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 21B.

New features

Application API

  • The default depth for the Application API Retrieve batch form submission details endpoints has been changed to minimal (previously, the default depth was complete). For more information, see the product notice.

App Developer Framework

  • CampaignId has been added as a URL template parameter to the Content Service Landing Page Notification URL. The CampaignId will be populated with the elqCampaignId query parameter.

Recent changes

Application API

  • Updating a value for custom field which is set to uniqueCode on Custom Object will now assign value to uniqueCode for the Custom Object record.

  • A validation error has been added for the Custom Object endpoints, so that an error is returned if the same field is included more than once.

App Developer Framework

  • The following new app member status has been added "Import Queued by App". This message is displayed when an App has created an import to update a step member's status. See the Oracle Eloqua Help Center for a list of all the different status messages you can see related to app members moving through your campaigns and programs.

Bulk API

  • Emails sent from the Outlook Plugin are now displayed as OutlookPlugin for the EmailSend Type in Bulk API activity exports.

  • Bulk API dependencies now appear when there is a Bulk API event definition.

  • We have added an improved retry strategy to cover a wider variety of failures that can occur during Bulk API export.

Platform notices

  • With the arrival of Eloqua Release 21C, Asynchronous Form Processing via API will be released for the Create form data for a single form endpoints. This feature can be enabled for Early Preview with Eloqua Release 21B.

Release 21A

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 21A.

New features

Application API

  • We've added a new endpoint that enables you to retrieve spam form submissions. A successful response will return a list of all spam form submissions for the form. This endpoint is released under our Controlled Availability program. Please contact your account representative for more information. For more information about the endpoint, see the API Reference.

Bulk API

  • We've added a new campaign response field {{CampaignResponse.AddedAt}}. This new field enables you to determine the date and time campaign responses were added to your Eloqua database, when creating campaign response export definitions. The Bulk API Campaign Response export will now use AddedAt instead of CreatedAt when enforcing the 30 day limit of campaign responses you can retrieve.

Recent changes

Application API

  • Validation has been added to the Application API endpoint to Update a contact field to disallow changing a contact field from Text box, Check box, or Single-select list to a Multi-select list.

App Developer Framework

  • The status message "Eloqua configuration error – Manage Data Export Permission" has been updated to allow the app to set this status. App developers can set this status for Action and Decision services using sync actions or export filters. Previously this could only be set by Eloqua if records were set to be returned in the Notify call. See the Oracle Eloqua Help Center for a list of all the different status messages you can see related to app members moving through your campaigns and programs.

  • We have improved the App Developer Notification call, by adding a retry strategy to cover a wider variety of failures that can occur with sending notification calls.

Documentation enhancements of note

Release 20D

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 20D.

New features

Application API

  • Batch processing of forms via API is now generally available. This allows you to create API Form Submission payloads in batches of 500. For more information, see the API Documentation.
  • We've made the following enhancements to the Email endpoints to support email archiving:

    • There are two new API endpoints to enable archiving and unarchiving emails. For more information, see the API Documentation.

    • The Update an email endpoints in 1.0 and 2.0 has new validation to prevent updating archived emails.
    • The Retrieve a list of emails endpoints in the Application API 1.0 and 2.0 now only returns unarchived emails by default.
    • Two new query parameters are available with the Retrieve a list of emails endpoint in the Application 2.0 endpoint: includeAvailable and includeArchived. These new query parameters enable you to filter archived emails. For more information, see the API Documentation.

    • The  archive property has been renamed to archived. For more information, see the product notice.
  • We've added support for the new type EmailInlineDeployment with the Email Deployment endpoint to enable sending HTML emails, instead of having to specify an existing Eloqua email, as well as being able to schedule email deployments using the sendDate parameter. Emails can be sent to up to 2000 contacts per request.

    For more information, see the API Documentation.

  • A new property, crmSystemMappings, is now returned at complete depth with the Retrieve an account Application API endpoint. This property is returned when the Account is linked to an Eloqua User, and indicates the CRM User Names and Eloqua Login Name for each Eloqua User linked to the Account. For more information, see the product notice.

Bulk API

  • You can now use the Bulk API Account Import to link Eloqua Users to Accounts. By specifying a CRM User Id, you can create a link between Eloqua Users and Accounts to be used by integrations.

  • When creating a Bulk API sync, the definition will now be validated. We've also added a new sync log message to inform you if syncs fail because of a temporary error. For more information, see the product notice.

Recent changes

App Developer Framework

  • We’ve added two new app member statuses, one surfaces when the Eloqua User does not have access to Export records, and the other displays when the app step is waiting for the scheduled send period. Additionally, the “Invalid app configuration” status has been updated to include when the export fails because of an invalid definition. See the Oracle Eloqua Help Center for a list of all the different status messages you can see related to app members moving through your campaigns and programs.

Application API

  • A new URL query parameter, ownedByUserID, is now available for the Retrieve an account endpoint endpoint. Set this query parameter to an Eloqua User Id to return all Accounts linked to that Eloqua User. Example: This request will return all Accounts linked to Eloqua User Id 71:

    GET /api/REST/1.0/data/accounts?ownedByUserID=71

Bulk API

  • A new retention policy is now in effect for Bulk API syncs including sync logs and rejects (older than one year). This new retention policy will continue to be applied from 20D on. For more information, see the product notice.

Documentation enhancements of note

Product Notices

  • Oracle modified its supported cipher suites used for Transport Layer Security (TLS) connections to Eloqua. This includes programmatic access to Eloqua via APIs. This change has been rolled back. For more information, see the product notice.

Release 20C

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 20C.

New features

  • You can now write to the "Last Modified by CRM" system field for Contacts and Accounts. This enhancement enables developers of CRM integrations to indicate when a Contact and Account has been updated by CRM.

Application API

  • We've added new Application 2.0 API endpoints that enable you to manage Users. Along with managing Users, these new endpoints enable you to perform actions that are not available in 1.0 such as Enable or Disable a User and Update a User's Password. For more information, see the API Documentation.
  • We've added new API endpoints that enable you to manage Eloqua Security Groups. For more information, see the API documentation.

Recent changes

App Developer Framework

  • We've updated our retry strategy when Eloqua calls an App's Notification URL. Eloqua will now retry the Notification URL call over approximately an eight-hour period of time with a backoff strategy. See the product notice to learn more.
  • We've implemented new detailed status messaging for stuck records. The following new app member statuses have been added:

    • Awaiting app to process: App Service Settings Step Response is set to None
    • Authentication required - Reinstall app: App does not have a valid token
    • Invalid app configuration: App sets status to invalid
    • Eloqua notifying app: Eloqua is calling the app's Notification URL
    • Being processed by app: This status used to be Being processed by external service
    • Eloqua failed to notify app: All of Eloqua's calls to app's Notification URL have failed. Will be routed to error path.
    • Status Error set by Eloqua: There was an Eloqua error that was not related to an invalid definition. Will be routed to error path.
    • App notified successfully - Awaiting app to process: Eloqua received 200 level response to the Notification URL from the app (when Service Setting of Records per Notification is set to 0)
    • Status 'Error' set by app: App sets status to error. Will be routed to error path.
  • We've added new validation to ensure app service instances exist, and in cases where service instances do not exist, a validation error will be returned. This validation applies when creating or updating import and export definitions, creating syncs, and executing syncs.

Application API

  • The Contact Field endpoints no longer return the isPopulatedInOutlookPlugin property. See the product notice for more information.

Platform notices

  • With the arrival of Eloqua release 20D (Nov 2020), we will begin applying a new retention policy on Bulk API syncs, including sync logs and rejects, that are older than one year. This new retention policy will continue to be applied from 20D onwards. For more information, see the product notice.

Documentation enhancements of note

  • We've added a new topic that explains app statuses. See the Oracle Eloqua Help Center for a list of all the different status messages you can see related to app members moving through your campaigns and programs.

Release 20B

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 20B.

New features

Application API

  • We've added new API endpoints to enable you to archive and unarchive forms programmatically. Archiving forms enables you to hide older forms from search, choosers, and newer marketing activities. Forms in archive can still accept form submissions, but cannot be edited, copied or used in new campaigns or content.

    A new property has been added to the Forms API endpoints in 1.0 and 2.0. The archived property is a boolean which indicates whether or not a form is in archive.

    The Update a form endpoints will have new validation to prevent updating archived forms, and we've also made changes to the Retrieve a list of forms endpoints. Retrieve a list of forms endpoint will only return unarchived forms by default. Two new URL parameters will be available with the Retrieve a list of forms endpoint: includeAvailable and includeArchived, which will enable filtering results on the archived state.

    For more information, see the product notice and API documentation.

Bulk API

  • We've added a new activity field named FormSubmitSavedId. This field is available when creating an activity export definition for form submit activity types. This new activity field enables you to include the identifier of when form submissions were saved in your form submit activity reports, so you can export form submit activities periodically without missing any.

    The syntax is:

    • FormSubmitSavedId: {{Activity.Field(FormSubmitSavedId)}}

    When export data is retrieved, the FormSubmitSavedId will be populated with the unique identifier for when the form submission was saved.

Recent changes

App Developer Framework

  • Resolved an issue related to receiving content from an app to improve consistency of content services.

Authentication

  • If the current access token has not been used, submitting a request to authenticate with the previous refresh token will now return the existing new access token and refresh token. This update alleviates the need to have to reinstall an app if there is a server error during token refresh.

Bulk API

  • Resolved an issue where it was possible to create custom object export definitions that included a contact lead scoring field, even though contact lead scoring fields are not supported in custom object exports, and the sync would always fail. Now, creating a custom object export definition that includes a contact lead scoring field will result in a 400 validation error.

  • We've added a new, more detailed error message for 500 error responses to Bulk API requests. The new error response indicates the type of error, error severity, and when users should retry the request.

    • error: Describes the type of error.
    • errorSeverity: The severity of the error ranging from 3, 2, 1, and 0. 0 being the highest.
    • Retry-After: Based on the error severity, indicates in seconds when the request should be retried.

    This new error message provides Bulk API users with more information regarding failed requests, and guidance on when to retry requests.

    For more information, see the product notice.

  • In certain cases where an export sync attempt fails but Eloqua will retry, Eloqua will now return a message indicating Eloqua will retry the sync. The new status code ELQ-00145 indicates your sync will be retried, and the message indicates when Eloqua will retry the sync. For more information, see the product notice.

Platform notices

  • With the arrival of Eloqua release 20D (Nov 2020), we will begin applying a new retention policy on Bulk API syncs, including sync logs and rejects, that are older than one year. This new retention policy will continue to be applied from 20D onwards. For more information, see the product notice.

Documentation enhancements of note

  • Added a list of search terms per endpoint to the Using the search URL parameter tutorial, to provide guidance on which terms to use when searching using the Application API.

Release 20A

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 20A.

New features

Application API

  • accountId will now be returned at complete depth when retrieving, creating, or updating Contacts using the Application API when the Contact is linked to an Account. For more information, see the product notice.

Bulk API

  • You can now set the status for all records in an execution using just the execution ID. The new updateAll parameter determines what status to set records in an execution, when creating a contact or custom object sync action definition.

Recent changes

Application API

  • As part of the Classic Design Editor changes, the Create a form Application API Form endpoints will not allow you to create classic design editor forms and Update a form Application API endpoints will not allow changing a form from responsive to classic. Review the Product Notice for further information and schedule changes.

Bulk API

  • Resolved an issue where it was possible to create export definitions with a dataRetentionDuration of null, resulting in data being deleted sooner than intended. Now, dataRetentionDuration can no longer be set to null, and the default duration will continue to be 12 hours (ie. PT12H).

Platform notices

  • Resolved an issue where it was possible to create export definitions with a dataRetentionDuration of null, resulting in data being deleted sooner than intended. Now, dataRetentionDuration can no longer be set to null, and the default duration will continue to be 12 hours (ie. PT12H).

Release 19D

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 19D.

New features

Application API

  • We've added new ways you can filter landing pages when using the Retrieve a list of landing pages endpoint:

    • Filter by content source: You can now search for landing pages by content source using the new query parameter contentSource, specifying content source by ID:

      • editor = 0
      • upload = 1
      • migration = 2
      • responsive = 3

      We recommend always using the Application 2.0 API endpoints, as some functionality may not be available in 1.0. The Application 1.0 endpoint cannot retrieve responsive landing pages.

    • Filter by vanity URL: You can now search for landing pages by the landing page's vanity URL, also known as the relativePath. After 19D, using the search URL parameter with name will include matches for landing page name and relativePath.

      Note: To search on both the name and relativePath, the leading wildcard “*” is required as the relativePath always starts with a “/”.

    • Filter by user who created or last updated the landing page: Use the search URL parameter with the updatedByUserId or createdByUserId properties to filter landing pages.

  • The Retrieve a list of landing pages API endpoint will now return a landing page's vanity URL (relativePath) at minimal depth. For more information, see the product notice.
  • You can now search for forms by content source using the new query parameter contentSource, specifying content source by ID:

    • classic forms = 0
    • responsive forms = 3

    Note that you must specify the content source ID to search.

Recent changes

Application API

  • We've modified the Retrieve a list of activities endpoint so that an email DeploymentId now appears in the response for emailOpen, emailSend, and emailClickThrough activity types. The DeploymentId allows email activities to be associated with a specific deployment. For more information, see the product notice.

  • We've made changes to the Landing Pages endpoints so that minimal depth will return relativePath, and using the search URL parameter with name when retrieving a list of landing pages will return matches for name and relativePath. For more information, see the product notice.
  • The Form endpoints will now return htmlName at minimal depth. For more information, see the product notice.

Bulk API

  • Resolved an issue where creating activity export definitions and setting maxRecords would correctly create the definition and respect the maxRecords property, however the maxRecords property was not appearing when creating or retrieving the definition. The maxRecords property now appears as expected in these scenarios.

  • Resolved an issue where creating a Bulk API import with the contact fields {{Contact.Email.IsSubscribed}} and {{Contact.Email.IsBounced}} would result in an incorrect email status. This issue has been resolved.

Platform notices

  • The Classic Design Editor changes are coming in our 20A release (February 2020). Review the Product Notice for further information and schedule changes.

Documentation enhancements of note

  • The new Bulk API Best Practices section has become a growing list of best practices when using the Bulk API, such as reusing definitions and how to best retrieve data.

Release 19C

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 19C.

New features

Application API

  • Added a new endpoint that enables you to retrieve visitor data by visitor GUID, aka externalId. This endpoint differs from the existing Retrieve visitor data endpoint, because it is a POST request that can include up to 200 visitors per request. Learn more

  •  

  • The Application API Email endpoints have been updated so that minimal depth will now return the subject property (the email's subject line). Additionally, using the search URL parameter with name when retrieving a list of emails, will return matches for name and subject. Learn more

  • We've added new query parameters for the Retrieve a list of emails endpoint.

    • updatedByUserId - Filters emails by the user ID who last updated the email asset.
    • createdByUserId - Filters email by the user ID who created the email asset.

    See the tutorial for more information about searching.

  • You can now search for emails by content source using the new query parameter contentSource, specifying content source by ID:

    • editor = 0
    • upload = 1
    • responsive = 3

    Note that you must specify the content source ID to search.

    See the tutorial for more information about searching.

Bulk API

  • We've added two new activity fields related to campaign responses:

    • {{Activity.CampaignResponse.CreatedAt}} - The date and time the campaign response was created.
    • {{Activity.CampaignResponse.Field(MemberStatus)}} - The status of the campaign member.

    These new fields enable retrieving campaign response fields with exported activities to analyze campaign response data. These activity fields are available for the Email Open, Email Clickthrough, Email Send, Page View, and Form Submit activity types.

Recent changes

Application API

  • All API endpoints for emails and landing pages no longer allow creating and editing classic emails and landing pages. When attempting to create or edit a classic email or landing page, the following error will be returned:

    '410 htmlContent type of StructuredHtmlContent (Classic editor) is no longer supported.'

    For more information about the classic editor sunset, see the Email and Landing Page product notice

  • Oracle modified its supported cipher suites used for Transport Layer Security (TLS) connections to Eloqua. This includes programmatic access to Eloqua via APIs. Learn more

Bulk API

  • We've modified how Contacts are linked to Bulk API form submit activities, by setting the Contact that’s mapped to the Visitor, if there is a Visitor record linked to the form submit activity. For more information, see the product notice.
  • Resolved an issue where a Bulk API sync action to globally subscribe a contact was resulting in the contact not appearing in Eloqua's Segment's UI when filtered by date criteria.

Platform notices

  • We have revised the dates of the sunsetting of some functionality of our Classic Form Design Editor. While originally we had communicated you would no longer be able to edit or create new forms with the Classic editor as of 19C (August 2019), we have adjusted the date to our 20A release (February 2020). Please review the updated Product Notice for further information and additional schedule changes.

Release 19B

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 19B.

New features

Application API

  • Asynchronous form processing via API is released under our Controlled Availability program. You can request access to this feature by submitting a request to My Oracle Support. A future product notice will provide details.

  • A new property has been added to the Application 1.0 and 2.0 Custom Objects API endpoints. The deleteLinkedCustomObjectData property is a boolean that determines whether or not custom object records are deleted when linked contact records are deleted. Does not apply to records that are unmapped or account deletion. Deleting records is irreversible and data cannot be recovered. The default value is false. This feature is released under our Controlled Availability program. You can request access to this feature by submitting a request to My Oracle Support.

Bulk API

  • We’ve added two new activity fields: WebVisitSavedId and PageViewSavedId. WebVisitSavedId is available when creating an activity export definition for web visit activity types to include the id of when web visits were saved. PageViewSavedId is available when creating an activity export definition for page view activity types to include the id of when page views were saved. You can use the new activity fields in the activity export definition filter to successfully export web visit and page view activities periodically without missing any.

    The syntax for the new activity fields:

    • WebVisitSavedId: {{Activity.Field(WebVisitSavedId)}}
    • PageViewSavedId: {{Activity.Field(PageViewSavedId)}}

    When export data is retrieved, the WebVisitSavedId will be populated with the unique identifier for when the web visit was saved, and PageViewSavedId will be populated with the unique identifier for when the page view was saved.

Recent changes

Application API

  • As part of the Classic Design Editor Sunset, the API endpoints will not allow you to create classic emails and landing pages (request body for htmlContent with a type of StructuredHtmlContent). However, you can still use the API to edit emails and landing pages. Any new emails and landing pages created using the API endpoints should have a request body for htmlContent with a type of RawHtmlContent. If this is not specified, the API endpoints will still default to creating new emails and landing pages with RawHtmlContent.

    Creating emails or landing pages with the htmlContent type ResponsiveHtmlContent is not supported. If you use the ResponsiveHtmlContent type, we cannot guarantee your email or landing page will be responsive.

    As of release 19C, all API endpoints for emails and landing pages will not allow creating and editing classic emails and landing pages. Classic forms will still be allowed to be edited through release 20A, but no new classic forms will be allowed to be created starting in 19C. Any forms created or updated with the API endpoints will need to be responsive starting in 19C. A future product notice will provide details on usage.

    For more information about the classic editor sunset, see the Email and Landing Page product notice and the Form product notice.

  • A new property, isHidden, that stores the “Form Visibility” form setting, was added to the Application API Form endpoints. For more information, see the product notice.

Bulk API

  • Resolved an issue where performing an activity export for Subscribe, Unsubscribe, and Bounceback activity types using the statement {{Activity.Field(EmailAddress)}} could result in email addresses being returned in a case different than the case set on the contact currently. Performing an activity export for these activity types, and using this statement, will now return email addresses in the current case of the contact.

  • Resolved an issue where creating an activity import sync and then syncing invalid data to the import definition would result in the sync status being active instead of error.

  • Optimizations have been made to Bulk API custom object imports that include a large number of fields and records.
  • Bulk API Contact export definitions with an EXISTS() Segment filter, e.g. EXISTS('{{ContactSegment[<id>]}}'), will only allow up to two system updated or created date criterion. For more information, see the product notice.

Platform notices

  • As of release 19C, all API endpoints for emails and landing pages will not allow creating and editing classic emails and landing pages. Classic forms will still be allowed to be edited through release 20A, but no new classic forms will be allowed to be created starting in 19C. Any forms created or updated with the API endpoints will need to be responsive starting in 19C. A future product notice will provide details on usage.

    For more information about the classic editor sunset, see the Email and Landing Page product notice and the Form product notice.

  • With the arrival of Eloqua release 19C (Aug 2019), Oracle will be modifying its supported cipher suites used for Transport Layer Security (TLS) connections to Eloqua. This includes programmatic access to Eloqua via APIs. Learn more

Release 19A

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 19A.

New features

Application API

  • Added a new Audit Log API endpoint to initiate an Eloqua audit log export using the Application API. This API endpoint enables you to specify the type of audit log you want to export within a specified date and time range. If the request is successful, a report will be sent to the email address specified in the request. Previously, initiating audit log exports were only accessible in Eloqua or using an SFTP server after exporting. Learn more

  • A new property has been added to the Contact Fields API endpoints. The showTrustedVisitorsOnly property is a boolean that determines whether or not a contact field is displayed only to trusted visitors. A trusted visitor is a contact who has undergone an additional form of verification. A contact field where this property is set to true will only be displayed to trusted visitors.

    For more information, see the Oracle Eloqua Help Center.

Bulk API

  • We've added a new activity field that enables you to filter on the date and time a visitor was linked to a contact. This activity field is available when creating an activity export definition for page view or web visit activity types. Activity records are only returned when linked to a contact. Previously, to export all newly linked activity records, an export as far back as an activity is meaningful would need to be performed to capture newly linked records. With LinkedToContactDate, newly linked activity records can efficiently be exported without exporting activities that have already been exported.

    The syntax for the new LinkedToContactDate activity field is: {{Activity.Field(LinkedToContactDate)}}

    When export data is retrieved, the LinkedToContactDate will be populated with the date and time the contact was linked to a visitor.

Recent changes

  • Oracle Eloqua deprecated TLS 1.1 on January 18, 2019. Learn more

Application API

  • Resolved an issue with the Application 2.0 Custom Object API endpoints where retrieving and updating a custom object with a custom object field name greater than 50 characters would truncate the name value to 50 characters in the response. With release 19A, if the custom object field name is greater than 50 characters, there will be a validation error.

  • The API endpoint to retrieve a list of activities will now only return EmailContent when depth is set to complete. The default depth for this endpoint is complete, and remains unchanged. Set the depth to minimal in the request URL to have EmailContent not returned. See Request depth for details on setting depth.
  • Resolved an issue where using the Application 1.0 Accounts API endpoint to find matching accounts based on a search parameter would not return all of the account fields in the response.
  • The ability to mark forms as internal so that form submissions are dropped, is now available in Controlled Availability. This feature includes the addition of a new property to the Form API endpoints. You can request access to this feature by submitting a request to My Oracle Support.

Bulk API

  • Resolved an issue where creating an activity export definition with ReferrerUrl in the filter would cause the export sync to fail. With release 19A, a validation error will be returned if trying to use ReferrerUrl in the filter of a page view export definition.

  • The Campaign Response endpoints are now Generally Available. These endpoints enable developers to access campaign responses, to support the specific use case of updating a campaign response status in CRM via an App on Program or Campaign Canvas. These endpoints can only be used by an App service instance selected in Response Rules setup, and cannot be accessed otherwise. With this feature, the Campaign Responses Data Source for listeners will also be Generally Available.

    You can learn more about Campaign Responses by reading the tutorial or referring to the API documentation.

  • Resolved an issue where a Bulk API import that did not include C_EmailAddress within fields and isUpdatingMultipleMatchedRecords was set to true, did not successfully update matching records.

Platform notices

  • The API endpoints for emails, landing pages, and forms are undergoing changes in releases 19B and 19C as part of the Classic Design Editor Sunset.

    As of release 19B, the API endpoints will not allow you to create classic emails and landing pages (request body for htmlContent with a type of StructuredHtmlContent). However, you can still use the API to edit emails and landing pages. Any new emails and landing pages created using the API endpoints should have a request body for htmlContent with a type of RawHtmlContent. Creating emails or landing pages with the htmlContent type ResponsiveHtmlContent is not supported. If you use the ResponsiveHtmlContent type, we cannot guarantee your email or landing page will be responsive. For the forms API endpoints, you will still be able to use the API to create and update classic forms.

    As of release 19C, all API endpoints will not allow creating and editing classic emails, landing pages, or forms. Any forms created with the API endpoints will need to be responsive. A future product notice will provide details on usage.

    For more information about the classic editor sunset, see the product notice.

Documentation enhancements of note

  • We've added a new tutorial that explains how to use the Campaign API endpoints to create a detailed campaign with steps. Learn more
  • There's a new campaign element reference page. This topic lists the JSON objects needed to create campaign steps when creating campaigns using the Campaigns API endpoints. Learn more

Release 18D

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 18D.

New features

Application API

  • You can now use the Landing Pages Application API 2.0 endpoints to create, update, retrieve, and delete landing pages. Learn more

  • You can now use the Forms Application API 2.0 endpoints to create, update, retrieve, and delete forms. Learn more

  • You can now use the Form Data Application API 2.0 endpoints to create, retrieve, and delete form data. Learn more

Recent changes

Authentication

  • Resolved an issue where calls to Eloqua's OAuth 2.0 token endpoint would return an empty response body if there was an error with the request. Errored requests made to Eloqua's OAuth 2.0 token endpoint will now return a detailed message. The token endpoint is https://login.eloqua.com/auth/oauth2/token.

  • We modified the Eloqua OAuth 2.0 authorization flow initiation to only accept one initiation per minute for any given user of an app. For more information, see the product notice on Topliners.

Application API

  • The processingStepErrors property has been added to the response to submitting a form using the Application 1.0 and 2.0 endpoints. This property was previously in Early Preview status in Release 18C. This property provides more detailed information about form processing step errors. For more information, see the product notice on Topliners.

  •  

  • A new form field validation property has been added to the Application 2.0 Form endpoints called PreventXSSCondition. This field validation is being added to prevent form data from being saved if HTML is present in a field. For more information, see the product notice on Topliners.
  • The requirement property has been added to the response when submitting form data with invalid values using the Application 1.0 and 2.0 endpoints. This property provides more information about invalid form data being submitted to a form field. See the Eloqua Help Center for more information about form field validation.

     

  • Resolved an issue where a campaign import could modify the end date of a campaign that is Completed or Active, causing campaigns to end before the intended end date. Campaign imports will no longer be able to modify the end date of campaigns that are Completed or Active.
  • As mentioned in the Eloqua 18C changelog, the resendLimit property introduced in 18A was removed from the processingSteps type FormStepSendEmail for Application API Form endpoints. For more information, see the product notice on Topliners.
  • As mentioned in the Eloqua 18C changelog, the Create an external activity Application API endpoint will no longer create External Asset Types or External Activity Types if they do not exist. A new Action Permission, “Register External Activities”, is required to use the Create an external activity Application API endpoint. Learn more

Bulk API

  • You can now include Contact.Id for Bounceback, Subscribe, and Unsubscribe activity export definitions. This enhancement enables developers to include Contact.Id on export definitions for all activity types.

  • You can now include user fields for EmailOpen, EmailClickthrough, and EmailSend activity export definitions. One use case this enhancement enables, is allowing including sender and user attributes on email activities exported via the Bulk API, so that the activity can be properly assigned to the correct user in CRM.

    Discover user fields using the retrieve a list of user fields endpoint (GET /api/bulk/2.0/users/fields). This endpoint will be documented in a future release.

    User fields can be added with the following statement: {{Activity.User.Field(<Field Name>)}}

Platform notices

App Developer Framework

  • There is now a Scheduling option available for app action steps on Campaign and Program Canvases. If a user sets certain days and hours under Scheduling, records that enter the step outside of the selected days and hours, will remain in an “Awaiting action” status until within the selected days and hours, at which time the Notification URL call will then be sent to the app.

  • The ability to mark forms as internal so that form submissions are dropped, will be in Controlled Availability in Eloqua Release 18D and 19A. This feature includes the addition of a new property to Form API endpoints. You can request access to this feature by submitting a request to My Oracle Support.

  • Oracle Eloqua will be deprecating TLS 1.1 on January 18, 2019. Learn more

Documentation enhancements of note

  • We've added a new topic about Bulk API data types and how to retrieve more information about Bulk API data types. Learn more

  • We've added a new tutorial that explains how to use cURL to upload data to the Bulk API from a file on your local machine such as a .json or .csv file. Learn more

Release 18C

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 18C.

New features

App Developer Framework

  • We've added a new endpoint to enable developers to retrieve feeder service instances. Retrieve up to 200 feeder service instances, searched by service instance GUID. For more information, see POST /api/cloud/1.0/feeders/instances.

Application API

  • A new property processingStepErrors has been added to the response to submitting a form (POST /api/REST/1.0/data/form/<formId>). This feature is available for Early Preview in 18C, and will be generally available with 18D. You can request access to this feature by submitting a request to My Oracle Support.

     

  • You can now retrieve a list of campaigns using the search parameter with the startAt parameter to filter campaigns by campaign activation date.

Bulk API

  • We've added new endpoints to enable developers to retrieve activity fields. Refer to the API documentation to learn how you can retrieve all activity fields, or retrieve an activity field by id.

  •  

  • You can now include campaign fields in activity export definitions. This enhancement enables developers to properly assign an activity to the correct campaign when data is exported from Eloqua to an external system.

Recent changes

  • The Campaign Response endpoints are now generally optional. These endpoints enable developers to access campaign responses, to support the specific use case of updating a campaign response status in CRM via an App on Program or Campaign Canvas. These endpoints can only be used by an App service instance selected in Response Rules setup, and cannot be accessed otherwise. Submit a request to My Oracle Support to start using this feature. You can learn more about Campaign Responses by reading the tutorial or referring to the API documentation.
  • Optimizations have been made to EmailOpen and EmailClickthrough Bulk API exports that include Activity Date in the filter.
  • The “Manage Contact Fields” Action Permission is now required to create, update, and delete Contacts via the Contact fields Application API endpoints. Learn more
  • The "Define External Assets and Activities" Action Permission is now required to create, update, or delete External Assets and External Asset Types using the Application API endpoints. Learn more
  • Access to Eloqua's Web Services Description Language (WSDL) is now available only by submitting a request to My Oracle Support.

Documentation enhancements of note

  • The tutorial on how to use the search URL parameter now includes information on best practices when using a wildcard character. Learn more

Platform notices

  • With the arrival of Eloqua release 18D (Nov 16 - 17, 2018), the resendLimit property introduced in 18A will be removed from the processingSteps type FormStepSendEmail for Application API Form endpoints.
  • With the arrival of Eloqua release 18D (Nov 16 - 17, 2018), the Create an external activity Application API endpoint will no longer create External Asset Types or External Activity Types if they do not exist. Learn more

Release 18B

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 18B.

New features

Application API

  • You can now use the Programs API in REST 2.0 to create, update, retrieve, delete, activate, deactivate, and pause Programs. Learn more.

Bulk API

  • We've added opportunities endpoints that enable developers to import opportunities into Eloqua's opportunity object. Developers can then perform another import to link the opportunities with Eloqua contacts. For more information on these endpoints, see the API documentation or the tutorial.

  • We've added a new parameter, nullIdentifierFieldName, that enables you to null the identifierFieldName when performing an account or contact import.

Recent changes

  • Prior to release 18B, it was possible for email sends to fail if an email was sent to deleted contacts. As of release 18B when emails are sent via any channel in Eloqua and one or more of the target contacts are in a deleted state, emails sent to that recipient will fail and a log entry is saved indicating why the email send failed.
  • Resolved an issue where retrieving a list of accounts in REST 1.0 wasn't returning values for custom account fields.
  • Resolved an issue where it was possible to update completed campaigns. Campaigns that are completed can no longer be updated.
  • As announced in Code It, the recordCount property has been removed. Learn more

Documentation enhancements of note

  • We've added a new tutorial to walkthrough how to use the search URL parameter for Eloqua's Application API. This tutorial contains usage details about the parameter and various examples about how the parameter can be used. Learn more

  • Added a new tutorial to walkthrough how to export all assets in an Eloqua database using the Application API. Learn more
  • Added viewId to the URL parameter list. Use the viewId parameter to specify a contact or account view to filter data according to that view. Learn more
  • Added an example that explains how to create a campaign with a custom end date. Learn more

Release 18A

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 18A.

New features

Application API

  • We've added a new property, resendLimit, to the Application API Form endpoints when there is a FormStepSendEmail within processingSteps. This property controls the amount of times a form will attempt to resend an email. Learn more

Recent changes

Application API

  • Resolved an issue with the Retrieve visitor data Application API endpoint where V_TimeZone was returned inversed. In example, if the offset was UTC+5, it returned UTC-5.
  • Resolved an issue in REST 1.0 where creating or updating an account that contained custom account fields would result in the account being created or updated, but without the custom account fields.

Bulk API

  • Resolved an issue where Bulk API activity exports including contact fields were failing when Label-Based Access Control was enabled.
  • Improved validation for Bulk API activity exports to return a validation error if including contact fields without an Activity root. There was validation missing which allowed field statements to be used in activity exports such as:

    {{Contact.Field(<contact_field_name>)}}

    This is incorrect, and will now throw a validation error. The correct syntax for using a contact field statement in an activity export is:

    {{Activity.Contact.Field(<contact_field_name>)}}

Platform notices

  • Emails created in the New Design Editor, Generally Available in Release 18A, will only be accessible via the Email 2.0 endpoints.

Release 493

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 493.

New features

Bulk API

  • We've added new endpoints to enable developers to access campaign responses, to support the specific use case of updating a campaign response status in CRM via an App on Program or Campaign Canvas. These endpoints can only be used by an App service instance selected in Response Rules setup, and cannot be accessed otherwise. This feature is currently in Controlled Availability. Learn more

Application API

  • You can now use the Emails API in REST 2.0 to create, update, retrieve, and delete emails. Learn more.

Recent changes

Application API

  • Resolved an issue in REST 2.0 where retrieving custom object data would return incorrect date values. For example, a custom object field value saved as 2017-03-04 should return epoch time of March 4, 2017, but instead returned epoch time of April 3, 2017 when the output format is set to dd/mm/yyyy.
  • Resolved two issues in REST 2.0 where creating a custom object instance would return an incorrect value for name, and not display all fields.
  • Resolved two issues in REST 2.0 where retrieving a custom object instance did not return the depth or isMapped properties.
  • Resolved an issue in REST 2.0 where retrieving custom object data and filtering by custom object field would result in an error if the field name started with a number.
  • Resolved an instance where it was possible for an email deployment to fail if a single email deployment was being sent to multiple contacts with the same email address. This issue only affected instances where contacts can exist without an email address and duplicate email addresses are enabled.

Bulk API

  • Prior to release 493, email activities exported via the Bulk API would include the current subject line of the email. With 493, email activities exported via the Bulk API will include the subject line at the time of email send.
  • When viewing dependencies for contact and account fields in the Fields and Views area of Eloqua, Bulk API Import and Export dependencies are now displayed within the dependency checker.

Release 492

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 492.

New features

Bulk API

  • The /api/bulk/2.0/syncs/{id}/logs endpoint has been improved to more efficiently handle fields included in data upload that are not included in an import definition. Previously, the sync logs would display a separate message per field not included in the import definition, per record it's included in. With this update, a field is only mentioned once in sync log messaging even if the field is included multiple times.

Recent changes

Application API

  • Prior to 492, it was possible to update the runAsUserId property while a campaign was Active using the Update a campaign endpoint. This could have resulted in users not being able to deactivate campaigns. With 492 the runAsUserId property will no longer be able to be changed while a campaign is Active.

Release 491

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 491.

New features

Application API

  • We have modified the endpoints used to retrieve Events, so that partial depth will return all properties except for sessions, sessionFieldValues, emailAddressFieldId, eventGroupByFieldId, and uniqueCodeFieldId. Currently, partial depth returns all properties. Learn more

  • You can now use the Contact Segments API in REST 2.0 to create, update, retrieve, delete, and copy contact segments. Learn more

Bulk API

  • Added the ability to include up to 10 contact fields in an activity export definition. Note that the addition of contact fields to activity exports will add to export time. If more than 10 contact fields are included, Eloqua will respond with a 400 validation error. The syntax for a contact field statement in a Bulk API activity export definition is:

    {{Activity.Contact.Field(<contact_field_name>)}}

  • You can now include the following fields when creating a Bounceback activity export definition:

    • EmailRecipientId
    • EmailDeploymentId
    • SmtpErrorCode
    • SmtpStatusCode
    • SmtpMessage

    This enhancement enables developers to tie a hard Bounceback to an email send, and provides further details on the Bounceback. For more information on these fields, see Activity Fields.

Recent changes

Bulk API

  • Resolved an instance where creating a Feeder sync action definition for custom objects was causing an error.

  • Modified the behavior of the ExternalId field on custom objects. The ExternalId field can now be used as the identifierFieldName on bulk imports even if there is a unique code field set on the destination custom object.

Release 490

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 490.

New features

Application API

  • When retrieving a list of custom object data in REST 2.0, you can now filter by uniqueCode as a search query parameter to filter results. Each custom object data entity contains a unique code that can be used in a filter. Learn more

Recent changes

Application API

  • Resolved an issue where retrieving a list of custom object data in REST 2.0 when ordering by updatedAt would result in an error. You can now send this request ordering results using updatedAt in REST 2.0.

  • The custom object data API in REST 1.0 and 2.0 will no longer result in an error when using name in the search query parameter to filter results.

Release 489

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 489.

New features

Bulk API

Syncs
  • We've created a new endpoint to allow developers to delete sync data from the staging area using sync id:

    DELETE /api/bulk/2.0/syncs/{id}/data. Learn more

    This new endpoint enables developers to delete sync data from the staging area, without having to use the various definitions data endpoints available. Prior to Release 489, to delete sync data, developers needed to use the specific definition data endpoint (/<entity>/exports/{id}/data). This method removes data for any syncs using the definition.

    The new DELETE /api/bulk/2.0/syncs/{id}/data endpoint provides developers another way to delete sync data using sync id, without removing data for the same definition within a different sync.

Recent changes

Application API

  • When retrieving campaigns, we've modified the properties returned when depth is set to partial. Prior to Release 489, partial depth would return all properties. Partial depth will now return all properties except for:

    • elements
    • isReadOnly
    • isMemberAllowedReEntry

    Learn more

  • The form data API api/REST/1.0/data/form will no longer create a new visitor or new thread when no field with the HTML name elqCustomerGUID is passed to the REST API. As no thread is being created, form submits will not create a new website visit activity record.

Release 488

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 488.

New features

Application API

Events
  • You can now use the events API endpoints to create, update, retrieve, and delete events. This functionality was previously only supported via the SOAP API, which has been deprecated. These new endpoints provide access to event fields that were not available via the SOAP API. Learn more

Event Registrants
  • You can now use the Event registrants API endpoints to create, update, retrieve, and delete event registrants. This provides a low volume synchronous option to go along with the Bulk API endpoints to be used for large volumes. Learn more

Platform notices

  • When importing invalid data along with valid data that is imported, the sync logs will now indicate the record in the count for statusCode ELQ-00144 that has a message of "Total records with rejected fields." Learn more

Release 487

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 487.

New features

AppCloud Developer Framework

  • Added the ability to retrieve a low-volume batch of service instances through the AppCloud API. App providers can now retrieve up to 200 service instances in a single call for Action and Decision services. Note that X-HTTP-Method-Override: SEARCH is required in the request header. See the endpoint documentation for Action and Decision services for more information.

Release 486

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 486.

New features

AppCloud Developer Framework

  • Firehose services can now subscribe to program canvas events. This enhancement provides App providers the ability to develop firehose services that receive notifications for the following program canvas events: Created, Updated, Deleted, Draft, Activated, and Paused. Learn more

Platform notices

  • Support is ending for the EloquaService SOAP API on April 1st, 2017. Learn more

Release 485

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 485.

New features

AppCloud Developer Framework

  • Increased the canvas cloud step data retention from 30 days to 90 days.

Bulk API

Events
  • We've added new endpoints to enable importing event registrants. These endpoints were built to replace the same functionality, previously only supported via the SOAP API, which is to be deprecated. Learn more.

Recent changes

Authentication

  • Improved the behaviour of OAuth when simultaneous requests are sent to refresh an access token.

Release 484

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 484.

New features

AppCloud Developer Framework

  • The program canvas is now generally available, and app developers can now specify if their service is available for use in contact programs and custom object programs (during service registration, under User Access). We've also added two new service level URL template parameters for action, decision, and feeder services. The EntityType and CustomObjectId parameters support developers wanting to create apps for the program canvas. Learn more

Bulk API

Events
  • We've added new endpoints that enable developers to discover Events and Event Fields. Learn more

  • We've added new endpoints to enable exporting event registrants. These endpoints were built to replace the same functionality, previously only supported via the SOAP API, which is to be deprecated. Learn more.

  • Endpoints to enable importing event registrants will be available in release 485.

Exports
  • You can now use the areSystemTimestampsInUTC request parameter to export system timestamp fields into Coordinated Universal Time (UTC). By default, system timestamp fields are expressed in Eastern Time (ET). By setting areSystemTimestampsInUTC to true, you can export system timestamp fields in UTC on contacts, custom objects, accounts, activity records, and events.

Recent changes

Application API

  • When retrieving campaigns, the memberCount property will now only appear if the request depth is set to partial or complete. Previously, memberCount was included if the request depth was set to minimal, partial, or complete. Learn more

  • Eloqua's APIs will now correctly return a value of true for hasNotNullConstraint (Bulk API) and isRequired (Application API) in Eloqua instances where email addresses are required for contacts. Previously when retrieving the email address field, Eloqua's APIs would incorrectly indicate that email address field was not required by returning a value of false for hasNotNullConstraint in the Bulk API and isRequired in the Application API.

Platform notices

  • The Oracle Eloqua URL standardization that was to not renew the old certificates for secure.eloqua.com for POD 1 and www.02.secure.eloqua.com for POD 2 has been postponed indefinitely.

    The certificates in question will be renewed so that traffic from the URLs with "legacy" naming conventions will continue to be redirected appropriately and there will be no disruption on your end. As there is no longer an expiration date, any calls (API calls, redirects, etc) to the old URLs will continue to work.

    Learn more

Release 483

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 483.

New features

Application API

Accounts
  • We've added a new endpoint which retrieves account information for up to 200 accounts per request, searched by account id. Developers can now search on a low volume of accounts to retrieve their account information. This endpoint was built to replace the same functionality, previously only supported via the SOAP API, which is to be deprecated. Note that X-HTTP-Method-Override: SEARCH is required in the request header, and the depth parameter must be set in the response body instead of as a query string parameter. Learn more

  • We've added a new endpoint to retrieve a list of all of the account groups that an account is a member of. Learn more

Account groups
  • You can now use the account groups API to create, update, retrieve, and delete account groups. Learn more
Contacts
  • We've added a new endpoint to retrieve contact information for up to 200 contacts per request, searched by contact id. Developers can now search on a low volume of contacts to retrieve their contact information. This endpoint was built to replace the same functionality, previously only supported via the SOAP API, which is to be deprecated. Note that X-HTTP-Method-Override: SEARCH is required in the request header, and the depth parameter must be set in the response body instead of as a query string parameter. Learn more

  • We've added a new endpoint to retrieve a list of all of the contact lists that a contact is a member of. Learn more

Signature rules
  • You can now use the Signature Rules API to retrieve a single signature rule asset or a list of signature rules. Learn more
Visitor profiles
  • We've added a new endpoint to retrieve visitor profile fields. You can now retrieve the fields and their field values associated to your website visitors. This was built to replace the same functionality, previously only supported via the SOAP API, which is to be deprecated. Learn more

Platform notices

  • We are modifying the Eloqua application API endpoints used to retrieve Campaigns, so that memberCount will now only appear if the request depth is set to partial or complete. Currently, memberCount is included if the request depth is set to minimal, partial, or complete. This change will be implemented in the Eloqua 484 release. Learn more

  • Update: The Oracle Eloqua URL standardization that was to not renew the old certificates for secure.eloqua.com for POD 1 and www.02.secure.eloqua.com for POD 2 has been postponed indefinately.

    The certificates in question will be renewed so that traffic from the URLs with "legacy" naming conventions will continue to be redirected appropriately and there will be no disruption on your end. As there is no longer an expiration date, any calls (API calls, redirects, etc) to the old URLs will continue to work.

    Learn more

    Effective this coming Fall (2016), we will not be renewing the old certificates for secure.eloqua.com for POD 1 and www.02.secure.eloqua.com for POD 2, and as such clients must ensure they're pointing to the newer, updated, application URLs before they expire. Failure to do so before the certification expiration dates will result in any API calls to the old URLs failing. Certificate Expiration Dates:

    • POD 1 - Friday, November 18, 2016 for secure.eloqua.com
      • https://secure.eloqua.com changes to https://secure.p01.eloqua.com.
    • POD 2 - Sunday, December 11, 2016 for www02.secure.eloqua.com
      • https://www02.secure.eloqua.com changes to https://secure.p02.eloqua.com. Learn more

Release 482

A list of developer-facing new features, significant recent changes, and platform notices for Oracle Eloqua release 482.

New features

Application API

  • Added RESTful API support for Email sending to a single, or low volume of contacts, as well as the retrieval of associated deployment information. This was built to replace the same functionality, previously only supported via the SOAP API, which is to be deprecated.

 

AppCloud Developer Framework

  • Added an endpoint to retrieve an app's outbound logs. Leveraging this endpoint to view outbound logs enables app providers to retrieve logs for apps across different pods, while the logs page in Eloqua's web interface is limited only to displaying outbound requests for your instance and other clients on your pod. Learn more

Authentication

  • Modified the behaviour of OAuth so that each time a new access token is requested, a new refresh token will be returned. Learn more

Documentation

Recent changes

Bulk API

  • Including the read-only field updatedAt was causing imports to fail in two scenarios:

    • In a custom object import definition and data upload.
    • In a custom object import definition when updatedAt was left out of the data upload.

    Now, when including updatedAt in a custom object import definition and data upload, the import succeeds with the read-only field and data uploaded to the field being ignored. Also, including updatedAt in a custom object import definition and leaving the field out of the data upload, will cause the import to return a warning, but still import the data successfully.

  • Setting the import definition request parameter isUpdatingMultipleMatchedRecords to true resulted in newly created records appearing under created and updated in the logs.

Platform notices

  • EloquaService API will remain supported until April 1st, 2017, with basic availability and security fixes only. Learn more
  • ExternalActionService (aka Cloud Connector API) will continue to be supported indefinitely.