API Fetch - Eloqua step by step configuration

Certain API Fetch overview

Certain API Fetch transforms the synchronizing of your event data from various external sources such as social media, registration systems, attendee tracking tools, CRMs, and marketing automation tools, giving you:

All while saving you time and effort by removing the need for doing this manually. You schedule it once, and you are done.

Goal of this guide

This guide configures an API Fetch/Eloqua integration with the objective of ingesting Eloqua contacts as Certain registrations for your event.

Prerequisites

Step 1: Create connections

Log into Signal and select Connections in the left menu.

Create the connection to Eloqua that will be the source of the data.

1. Click on the top right corner. 2. Setup the Eloqua connection according to the screenshot. 3. Click Save & Test. 4. Confirm success by checking the Test Status green checkmark.

Tips (Eloqua connection)

Create a connection to Certain that will be the destination of the data.

1. Click again and setup the connection according to the screenshot. 2. Click Save & Test.

Step 2: Create a datasource

Click Data Sources in the left menu.

1. Click on the top right corner. 2. Select Custom Integration. 3. Set a name. 4. Set Source System to Eloqua. 5. Set Mode of Ingestion to API Polling. 6. Click Save.

Next, create an API Fetch configuration.

1. Click API FECTH in the left menu. 2. Set Endpoint Type to REST API Endpoint. 3. Click Save.

Two new options should appear in the left menu.

REST API ENDPOINT INFO settings

Click REST API ENDPOINT INFO and set:

Tips (URL parts)

1. Hostname: https://secure.p03.eloqua.com

2. API endpoint: /api/REST/1.0/data/contacts

3. Parameters: ?lastUpdatedAt>'{{C_DateModified}}'&depth={{depth}}&page={{page}}&count={{count}}

More details here:

Note (Pagination time limit)

Note (Checkpoint meaning)

Note (Epoch and first run)

VARIABLES setup

Set the variables in the data source.

1. Click VARIABLES in the left menu. 2. Type in depth. 3. Check the External checkbox. 4. Click Add. 5. Click Save.

RESPONSE SCHEMA SETUP setup

1. Click RESPONSE SCHEMA SETUP in the left menu.

2. Within Sample JSON from Data Source... copy the JSON sample below.

{
"elements": [
{
"type": "Contact",
"currentStatus": "Awaiting action",
"id": "2119",
"createdAt": "1444748965",
"depth": "partial",
"name": "mabraham@r123test.certain.com",
"updatedAt": "1515654982",
"accountName": "Strickland Propane",
"address1": "Reston",
"businessPhone": "703-438-2052",
"city": "Reston",
"country": "AR",
"emailAddress": "mabraham@r123test.certain.com",
"emailFormatPreference": "unspecified",
"firstName": "Magid????Magid????123",
"isBounceback": "false",
"isSubscribed": "true",
"lastName": "SCHR??DERSCHR??DER",
"postalCode": "20190",
"province": "VA",
"subscriptionDate": "1515654982",
"title": "BY"
}
],
"page": 1,
"pageSize": 1,
"total": 699672
}

Note (Schema start)

3. Add Jolt Expression.

[
{ "operation": "shift",
"spec": {
"elements": {
"*": {
"type": "elements[&1].type",
"currentStatus": "elements[&1].currentStatus",
"id": "elements[&1].id",
"createdAt": "elements[&1].createdAt",
"depth": "elements[&1].depth",
"name": "elements[&1].name",
"updatedAt": "elements[&1].updatedAt",
"accountName": "elements[&1].accountName",
"emailAddress": "elements[&1].emailAddress",
"emailFormatPreference": "elements[&1].emailFormatPreference",
"firstName": "elements[&1].firstName",
"isBounceback": "elements[&1].isBounceback",
"isSubscribed": "elements[&1].isSubscribed",
"lastName": "elements[&1].lastName",
"subscriptionDate": "elements[&1].subscriptionDate",
"title": "elements[&1].title"
}
},
"page": "page",
"pageSize": "pageSize",
"total": "total"
}
}
]

Note (Jolt “shift”)

4. Select Parse JSON. 5. Under Select the list element that contains the data select elements. 6. Click Save.

Step 3: Create an inbound flow

Click Inbound Flows in the left menu.

1. Click on the top right corner. 2. Configure the inbound flow:

3. Select VARIABLES in the left menu. 4. Enter variable name eventcode. 5. Set as External. 6. Click Add and then click Save.

7. Select ADD DESTINATION in the left menu. 8. Select Certain. 9. In Connection Used, select the Certain connection created in step 1. 10. In Available Actions for this Connection, select Bulk Registration Upsert.

Note (Bulk Registration Upsert)

11. In Available Mappings, click New Mapping. 1. For eventCode, select the eventcode variable created. 2. For contactd, select elements.id. 3. For defaultRegStatusForNewRegistration, type in New. 4. For pin, select elements.id. 5. For profileIdentifier, enter SYNC_EMAIL. 6. Map other fields as needed. 7. Save 12. Click Save Destination.

Step 4: Schedule API Fetch

Click Schedule API Fetch in the left menu.

1. Click on the top right corner.

2. Configure the schedule:

Note (depth values)

3. Click ASSIGN INBOUND FLOWS in the left menu.

4. Click SETUP SCHEDULE in the left menu.

Note (epoch date conversion)

Note (first run value)

Optional: force execute

Optionally, force execute the scheduled API Poll.

1. Go back to Schedule API Fetch. 2. Select All Schedules. 3. Click the force execute button.

Note (schedule edit behavior)

Activity output

Under Activity, find: