Wednesday, November 24, 2021

#893 OIC November Release New Features - Oracle Hospitality Adapter


 



Another compelling example of the power of OHIP and Oracle Integration (OIC). 







The OIC November release includes the Oracle hospitality adapter, which makes creating integrations, such as Profile / Contact sync very easy. 

In this simple use case I will subscribe to Opera Business Events and pick up new guest profiles. The profile data will be used to create contacts in SFDC.

Let's look at the configuration of the Oracle Hospitality Trigger - 


Now to the integration - 

Here is the Trigger configuration - 

So what are these fields here?
Hotel Id - refers to a specific hotel. External System Id refers to a group of hotels, e.g a specific chain. One can subscribe to hotel specific or group business events.


Here is the sample JSON, describing the Opera business event format - 

{
  "businessEventData" : [ {
    "businessEvent" : {
      "header" : {
        "moduleName" : "Profile",
        "actionType" : "NEW PROFILE",
        "actionId" : "561139",
        "primaryKey" : "42212",
        "publisherId" : "18371",
        "createdDateTime" : "2019-11-24 21:30:52.0",
        "hotelId" : "HOTEL1"
      },
      "details" : [ {
        "dataElement" : "FIRST NAME"
      }, {
        "dataElement" : "NAME",
        "oldValue" : "Safe Travel",
        "newValue" : "Safe Travel One"
      }, {
        "dataElement" : "IATA NUMBER",
        "newValue" : "355453"
      }, {
        "dataElement" : "EMAIL",
        "oldValue" : "info@example.com",
        "newValue" : "contactus@example.com"
      }, {
        "dataElement" : "WEBPAGE"
      } ]
    },
    "businessEventId" : {
      "id" : "1971132"
    }
  }, {
    "businessEvent" : {
      "header" : {
        "moduleName" : 14,
        "actionType" : "NEW PROFILE",
        "actionId" : "561141",
        "primaryKey" : "494139",
        "publisherId" : "27234",
        "createdDateTime" : "2019-11-24 21:43:59.0",
        "hotelId" : "HOTEL1"
      },
      "details" : [ {
        "dataElement" : "FIRST NAME",
        "newValue" : "William"
      }, {
        "dataElement" : "EMAIL YN",
        "newValue" : "N"
      }, {
        "dataElement" : "WEBPAGE"
      } ]
    },
    "businessEventId" : {
      "id" : "1971133"
    }
  } ]
}


Here is the SWITCH configuration - 


Now to the structure of the Hospitality Business Event in a bit more detail - starting with the Header - 






















moduleName will tell us which business object is related to this event e.g. "moduleName":"Profile"

actionType is the event type e.g. "actionType":"CREATE PROFILE"

primaryKey is the unique id of the object in Opera. 

now to the recurring details - 













e.g.  {"dataElement": "FIRST NAME", "oldValue": "Niall", "newValue": "Niall" }, {"dataElement": "NAME", "oldValue": "Commiskey", "newValue": "MacCumascaigh" },

you get the idea!

Back in the integration - I assign the primaryKey to a variable -







Then I use the Hospitality connection again, this time to retrieve the profile - 


 






Now to the SFDC CreateContact - 





Final step - do the mappings - and then we're ready to test it out!


I use Postman to create a new Profile in Opera - 


I check out the flow in OIC - 


Here is the Activity Stream with the result from SFDC - 


I validate in SFDC -




I now map a couple of more fields to SFDC. Essentially, I want the mailing address and email of the guest in my CRM. I change the getProfile invoke to add 2 fetchInstructions for Address and Communication.

I then re-test by creating the following profile via Postman - 

























I validate in SFDC - 




No comments: