Wednesday, May 16, 2018

#629 OIC integration with Eloqua via REST adapter

The OIC Eloqua adapter is currently rather limited in its functionality

Essentially you can create -
Fusion Leads
Purchase History as well custom objects

From an OIC perspective, this is only outbound to Eloqua.

So how do I get Contact data from Eloqua?
I have covered this in a post from 2016, but some things have changed.

Using the Eloqua REST API

The Eloqua API docs are here

BTW - I usually try the calls out in Postman, before configuring the REST requests in OIC.

The first step is to determine the base URL - 


That is, the base URL of the REST request, in other words, to which Eloqua server will I be sending this request.

Line 15 contains the base url - in my case,

Now I want to get a particular contact from Eloqua - key is the Eloqua Contact ID.

Here is my contact in Eloqua -

As you can see, the ID value is CMK11000000000016

I only need the 16, for the get contact REST request.

To get all contacts -


Now I want to search for a contact based on the email address, which is essentially unique in Eloqua.
Note: In the screenshot above, you see that the property - name - contains the email address.

My REST call is as follows -''&depth=complete&count=100

So what do these parameters mean?

search - my search criteria. I can search on any Contact field/property.
depth - possible values - minimal (only a small nr of properties returned)
partial - all properties of the contact returned, as well as the minimal properties of related objects
complete - everything
count- max nr of records to be returned

The full description of the search option is here

Now to my REST request -

For curl, use:
curl --user "yourCompany\yourUser:yourPwd" --request GET -k

I added the -k to avoid SSL certificate verification

Ok, that works fine, on to the OIC integration.
A simple scenario here- the integration will create a contact in Eloqua via the OIC Eloqua adapter.
Hoowever, there will be a pre-req check where I leverage the Eloqua to check whether the Contact
already exists within Eloqua.

I create the REST connection in OIC -

My Eloqua connection is already there -

I create an orchestration -

The Trigger is REST.

I then add the call to Eloqua to check if the Contact already exists -

Note: I will use "minimal" depth.

Here is the first draft of the integration - only testing the REST request -

The Mapping is as follows -

Here is the SWITCH condition -

I now test the OIC integration, using Postman -

I now execute the same request with a new email address -

I now add the logic to create the new account.
I could use the Eloqua adapter, but, as this post is concerning direct use of the Eloqua REST API,
I will use it.

The mapping is as follows -

Below is the return mapping from the OIC integration.
As you can see, I am returning the current status of the contact from Eloqua -

I test as follows -

Wednesday, April 25, 2018

Thursday, April 19, 2018

#626 Integration instance tracing in OIC

Instance tracing is very useful in the development phase -
Now we can activate this globally - e.g. for our Development OIC instance -

or at instance level -

Here is my Orchestration -

If I enable tracing -

If I don't -

Note: the payload is not written to the Activity Stream, it is written to the diagnostic-log, which
you can download from the Monitoring --> Dashboards page.

Tuesday, April 17, 2018

#625 Installing the APIP CS Gateway

I started by logging in to the Management Console as a Gateway user.
The Gateway user has the Gateway role assigned and so she can manage Gateways.

I create a new Gateway -

As you see, I called it DevGateway - what an innovative name!

I click on the Grants node and assign some permissions on this gateway.

I can do this for the various permissions -

I download the installer -

I unzip it -

Now back to the Management Console -

We need to generate a node properties file that will contain such info as the
mgt console url; they will need to communicate after all.

This file is called gateway-props.json and will be created by the install wqizard. So 
I click on Open Installation Wizard. 

Accept the defaults and click the next icon -

We now download the generated config file -

I now execute the installer -

python2.7 -f bb.gateway-props.json -a install-configure-start-join

install, configure, start are self explanatory.
join- registration of the gateway node with the APIP CS Mgt Console.

The step above has done the join i.e. I now need to go to the Mgt console and approve the new node.

As you see, the join request is awaiting processing.

I can set the polling interval -

thanks to my A-Team colleagues for making this as simple as possible.