How SAP SuccessFactors talks with 3rd party applications without any integration Tool??
This blog explains how to integrate SAP Successfactors without any integration tool i.e. HANA Cloud Integration or Dell boomi. To keep it simple, I will integrate some fields in Personal Information of user in Employee Central with 3rd party application using Java as a middleware to update data automatically without any manual intervention.
Middleware can be build using Java or UI5/Fiori, if you want to build using UI5 you need to use SAP WebIDE to build middleware.
To build using java, you can develop it and can deploy war file in Hana cloud cockpit directly.
Here we are using Java as a middleware.
Prerequisites:
- User with API Permissions in SAP Successfactors.
- Postman Tool.
- HANA Cloud
Steps to follow:
- Pick Personal Information API from SAP Successfactors API Center – OData API Data Dictionary.
- Select the exact fields that need to be integrated with 3rd Party application.
- Call the 3rd Party application data APIs in Postman tool to view data.
- Add destinations in HCP for SAP Successfactors & 3rd party application.
- Build Java application to act as a middleware between two applications.
- Deploy application in HANA Cloud Cockpit.
Pick Personal Information API from SAP Successfactors API Center – OData API Data Dictionary:
We can integrate any data from SAP Successfactors, if it is available as an ODATA API format
but you need to check those APIs are supported for GET & UPSERT query in Successfactors.
UI Screen of Personal Information:
Here I want to integrate two fields in Personal Information 1. Display Name 2 .Previous Name
Pick API using below path:
Login > OData API Data Dictionary > Entity > Tag: EC-Personal Information Name: PerPersonal
Convert API into URL Format:
https:// <SF URL>//odata/v2/PerPersonal?&$filter=personIdExternal eq ‘69104’ &$format=json
Personal Information ODATA API: PerPersonal
Filter = for one Employee (User ID=69104)
Format= Json
Execution of API:
Once you converted the ODATA API to URL Format, you can execute the same in browser to view data. It needs some basic authorization in order to view data.
Username: <User@CompanyID>
Password: <Password
Select the exact fields that need to be integrated with 3rd Party application and Check flow of Data in to field’s i.e. Display Name & Previous Name in Personal Information using Postman tool.
Once we execute URL in browser, we need pick the exact field IDs which need be to integrate.
Display Name
field ID: “displayName”
Previous Name
field ID: “birthName”
The Data will be show as the below screenshot:
Postman tool:
Postman is a tool for testing web services and makes it easy to test, develop and document APIs by allowing users to quickly put together both simple and complex requests.
So I would recommend first to test in Postman tool then build application.
You can download from the below URL:
https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en
Once you setup the Postman tool, add Upsert query in tool, it requires basic authorizations and Header and Body to execute.
Please refer the Screenshot below:
To Insert/Update:
We need to use “UPSERT “query to update or insert data into SAP Successfactors.
Basic Authorizations:
Username: <userId @CompanyID>
Password :< password>
Headers:
Body:
In Body add fields which are needed to be integrated in SAP Successfactors.
Enter Data Manually against birthName & displayName and click on send button. Here I entered Venkat krishnah and Krishna Togara respectively.
Key fields: Employee ID & Start Date
Operation: Post
Once click the “Send” button and you can view the Upsert success message along with time (in micro seconds).
Login to the SAP Successfactors tenant and check the fields in Personal Information:
Execute 3rd Party application APIs in Postman tool to view data
Before building application, we need to Sync User data & Personal Information data with 3rd Party application. For that we need to send our User API & Personal Information API to 3rd Party Application Technical team.
User API:
https://apisalesdemo4.successfactors.com/odata/v2/User?&$format=json
Personal Information API:
https://apisalesdemo4.successfactors.com/odata/v2/ PerPersonal?&$format=json
Once we are done with Sync and if the User is inactive in SAP Successfactors, automatically that user will be inactive in 3rd Party application as well. If any Data Changes in Personal information it would be automatically reflected the changes in 3rd Party application
Here 3rd party application’s technical team will Provide API URL to get Data, authorization, headers & body as well.
Insert all key fields in Postman Tool and Click on Send Button so that you can view the result. Once we are getting the Data from 3rd Party application then build middleware using the response
.Query: GET
It would be shown as in Screenshot below:
Destinations in HANA Cloud Cockpit
Before building application in to HANA cloud cockpit, we have to add destinations of SAP Successfactors & 3rd Party application
Path:
Login to HANA cloud cockpit > Home > Destination> Add URL of SAP Successfactors & Authentication & user & Password
Once we enter data in all the required fields and click on “Check Connection” to connect with SAP Successfactors, a connection will be established between SF and HANA Cloud.
Destination for SAP Successfactors:
We should follow the same process to establish a connection between HANA Cloud and 3rd Party System.
Destination for 3rd party application:
Once Connections were built between two applications, we have to deploy our application in HCP.
Build java application to act as a middleware between two applications:
I just mentioned the logic & flow diagram on how to build the Java application
System | API | Inputs | Method Name | Comments |
Success Factors |
PerPersonal, User |
<User @ Company ID> <Password> |
Get | Get all user Ids & Personal information |
3rd Party Application |
<getResponse> |
It will provided by Technical team of 3rd party application. | Get | Get the Details of birth Name & Display name data |
Success Factors |
Upsert
|
Birth name ,Display name, Key fields :user Id , Start Date | Post |
Insert/Update the 3rd party application changes to the success factors system |
Call to User & Personal Information API to get user & Personal information list: Through this web service we will get the list of users & Personal information Details which we will pass to 3rd Party Application API call
Call to 3rd Party Application API for all the users & Personal Information (It will Provided by Technical team of 3rd Party Application)
Other Cloud application
API URL: https://dev.<Other Cloud Details>.com/<Other Cloud Detaisl>Controller/<ResponseAPI>
Then Give web service call to this API to check the response
Call to Success Factor API: Here we map response of 3rd Party Application API to request of Success Factor API.
Flow Diagram:
Deploy application in HANA Cloud Cockpit:
Once we build application, it needed to be deployed in HCP to run.
Path:
Home > Java application > Deploy application.
Select the war file:
Click “Deploy”, it will upload the .war file the it ask to start. Once we start, it gives us a URL as an Output.
This URL is used to access the deployed application, Click on that and run the application,Schedule a job to run application to run for 30 min.
My main Motive is to explain “There is a Possibility to integrate SAP Successfactors with other 3rd party applications without any integration tool”
In case if you need further information, please refer to these resources:
ODATA Basics:
HCM Suite APIS:
Java Development: https://help.sap.com/viewer/65de2977205c403bbc107264b8eccf4b/Cloud/en- US/9bd4dd19aef947b58eadf688ccc90de7.html
Using SAP web IDE:
https://blogs.sap.com/2017/09/22/deploy-your-app-to-cloudfoundry-from-the-sap-web-ide-cp-trial/
If you liked this post, I’d be grateful if you help sharing this across Successfactors Consultants.
Looking forward to your questions and feedback in the comments section!!!
Happy to help!!!
Happy Integrating!!
Regards,
Venkatkrishnah
Yash Technologies.:)
super info venkat!!.Great approach .Keep posting info like these .It will definitely help everyone!!
Good Information ..Thank you