Its been several years working on SuccessFactors Implementation Projects using SAP Cloud Platform Integration Suite Services for SAP and Non-SAP integrations .Will try for short series covering good to know Integration Touch Points for who are working on SuccessFactors Integrations.Will try not to cover topics where there are already nice blogs by fellow members.
In the current blog will discuss on various aspects of API Center.Also below are the links to further blogs of this series.
In most of the Customer Implementation project we work with SuccessFactors Functional consultants closely to achieve business outcome.When it comes to technical aspect of SuccessFactors you have to struggle a bit to find some answers( although there are lot of blogs ).As famous quote states "Tell me and I forget. Teach me and I remember. Involve me and I learn. – Benjamin Franklin" get involved in technical side of it and expand your area of expertise.
Currently SuccessFactors supports SFAPI ( Compound Employee ) and OData APIs for integration.Compound Employee will be used when you are building Integrations around Employee Master data and for rest of the scenarios we can leverage OData APIs.
Different touch points for API:
Login into SuccessFactors and search for API where you can see multiple options ,will discuss briefly on each one of those.
API Center is centralized reference point for all the configurations related to API.Will cover every option of this API Center in detail.
OData IP Whitelisting:
This option can be used for restricting access to OData APIs from outside SFSF.
Manage User API Options:
The User entity allows you to specify a few processing parameters to control extra business logic that can be optionally applied when you edit a user either using API or Import Employee option.This option in API center will help to achieve the same using API option.
Example API call leveraging API Option Profile.Selected feature will run when you insert/upsert User entity by mentioning apiOptionProfileID created.
This option gives flexibility to Refresh And Export Metadata from SuccessFactors system.
Whenever custom MDF objects are created or modified its mandatory to perform Metadata refresh to make sure changes are reflected to your APIs.
Also you have option to download metadata (edmx) file manually to consume this in 3rd party systems.
Audit Log Settings
This option would be helpful while performing insert or upsert operation to SuccessFactors to see the request / response payload for logging.
You can set the logging for both OData and SFAPI APIs.By default payloads will not be logged and by manually selecting Enable All Payloads will enable payloads of request and response ( which can be seen in audit log which would be showcased further in the blog ).
OData API Audit Logs
Using this option you would be able to see Request/Response headers and Payalods.Payload wiould be visible only if you follow previous step and enabled logging by clicking "Enable All Payload".It Also provides various filtering options to drill down into request you are looking for.
OData API Data Dictionary:
This is the goto place for get list of APIs,Field Details , Different Type of field and what are operations you can perform on those APIs.
Entities are instances of entity types.Entity types are named structured types with a key. They define the named properties and relationships of an entity. Entity types may derive by single inheritance from other entity types.
Below is example of Entity: ToDo which is referring internally Complex Type: ToDoBean
2: Complex Type
Complex types are keyless named structured types consisting of a set of properties. These are value types whose instances cannot be referenced outside of their containing entity. Complex types are commonly used as property values in an entity or as parameters to operations.
Complex Types cannot be called directly from outside it can be referenced inside an Entity or it can be set as return type in Function Import
3: Function Import
For each function import we can define return kind.Three return kinds supported are Complex type,Entity type and No return.
Below is example of Function Import Of type GET which is returning Complex Type:
4: Supported Operations
This states list of operations that can be performed on the Entity.
5: Different type of Fields
There are different set of fields either having primitive types like String,Integer,Boolean or having Complex Type or referring all together an Entity ( Ex: User Entity Navigation to Matrix Manager ).
Associations are nothing but referring entity from parent Entity.These values can be retrieved using OData query parameter $expand.
7: Picklist References
Fields referring to Picklists. Picklists are, simply, selection lists used to populate a data input field with one of a number of predefined values. They act in the same way as F4 Helps in SAP HCM.These values can be maintained in Picklist Center.
8: Parameters to control Nature of the fields
Refer the help document which provides all the details regarding different parameters that can be set to each field.These values can be seen using Configure Object Definition and looking out for corresponding Entity ( in case of custom MDF ).I have created some dummy Custom MDF to showcase which field refers to what.These values will have lot of significance when you build your query from Integration Platforms.
Legacy SFAPI Audit Logs
This option can be used when you are using Compound Employee API.This gives complete details of request/response headers and payloads.
Legacy SFAPI Data Dictionary
SFAPI data dictionary can be used to find list of fields used in Compound Employee API.Custom fields created in Manage Business Configuration at portlets level will flow into SFAPI Data Dictionary - Compound Employee.
Legacy SFAPI Metering Details
This option gives overview of no of SFAPI calls made to SuccessFactors.
Legacy SFAPI IP Whitelisting:
When you click on SFAPI whitelisting it automatically redirects you into "Password and Login Policy Settings - Set API Login Exceptions..." where you can specify Internet Protocol (IP) address from which the API is accessible.
OAuth Configuration for OData
This step enables you to configure OAuth based authentication to APIs.Refer the nice blog written by ada62dbc143d47dcaa7496633e62ca2c for more details( kudos to Arijit! ).Purposefully I didn't cover these aspect as there were lot of blogs on the same.
This Concludes overview of API Center which is used extensively by our Integration Consultants and expertise on this will give an edge while consulting.'