Back

SAP SuccessFactors API Essential Guide

Aug 11, 20246 minute read

What type of API does SAP SuccessFactors provide?

SAP SuccessFactors appears to support multiple types of APIs, including:

  1. REST APIs: SAP SuccessFactors offers REST APIs for many of its modules and functionalities.

  2. SOAP APIs: While less common now, some legacy SAP SuccessFactors services may still use SOAP APIs.

  3. OData APIs: SAP SuccessFactors supports OData (Open Data Protocol) APIs, which is a REST-based protocol for querying and updating data.

Key points to consider:

  • REST APIs are the most modern and widely used type for SAP SuccessFactors integrations.
  • SOAP APIs may still be available for some older services but are generally being phased out in favor of REST.
  • OData APIs provide a standardized way to work with SAP SuccessFactors data using REST principles.

While GraphQL is mentioned in the search results, it does not appear to be a primary API type offered by SAP SuccessFactors at this time.

Best practices:

  • When developing new integrations with SAP SuccessFactors, prefer using REST or OData APIs where available.
  • Check the SAP SuccessFactors API documentation for the most up-to-date information on available APIs for specific modules or functionalities.
  • Consider using SAP API Management tools to help manage and secure your API integrations with SAP SuccessFactors.

It's important to note that the specific APIs available may vary depending on the SAP SuccessFactors modules and version you are using. Always refer to the official SAP documentation for the most accurate and current information on API support.

Does the SAP SuccessFactors API have webhooks?

SAP SuccessFactors does have webhook functionality, but it is implemented through a feature called Intelligent Services rather than a dedicated webhook API. To set up webhooks, you need to configure an Intelligent Services event in the SuccessFactors Integration Center. You can subscribe to certain events in SuccessFactors and send data to external systems when those events occur. The types of events you can subscribe to are limited to what's provided in the standard Intelligent Services - custom webhook events are not possible.

Some examples of events you can subscribe to include employee hire and other employee lifecycle events. When configuring the integration, you specify REST as the destination type and JSON as the format. The webhook integration allows you to send employee data to external systems when events occur.

There is no direct API to programmatically create webhook subscriptions - they need to be configured through the SuccessFactors UI.

Key considerations:

  • The event types are limited to those provided in the standard Intelligent Services.
  • Custom webhook events are not possible.
  • Configuration is done through the SuccessFactors UI, not programmatically via an API.

In summary, while SAP SuccessFactors does offer webhook-like functionality through Intelligent Services, it is more limited and less flexible than a dedicated webhook API. The events you can subscribe to are predefined, and the setup process requires manual configuration rather than API-based management.

Rate Limits and other limitations

Here are the key points regarding the API Rate Limits of the SAP SuccessFactors API:

Current Rate Limits

  • There is currently no strict limit on the number of API calls that can be made to SAP SuccessFactors [3].

  • However, SAP recommends following some best practices to avoid overloading the servers [3]:

    • A maximum of 10 concurrent requests/threads per client is recommended.

    • Multithreading should only be used for editing single records.

    • Multithreading should not be used for queries/read operations, massive upserts, or $batch operations.

Planned Rate Limiting

  • SAP has announced plans to introduce rate limiting on SuccessFactors APIs [3]:

    • This was announced in the 1H 2022 release.

    • Planned rollout was set to start in 2H 2022.

Key Considerations

  • While there is no strict limit currently, excessive API calls could potentially impact system performance or availability [3].

  • The recommendations are aimed at preventing server overloads and ensuring high availability for all clients [3].

  • Developers should follow SAP's best practices and be prepared for potential rate limiting implementation in the future [3].

Best Practices

  • Follow SAP's recommendation of a maximum 10 concurrent requests per client [3].

  • Avoid excessive multithreading, especially for read operations and batch calls [3].

  • Monitor your API usage and optimize calls where possible to stay within reasonable limits [3].

  • Stay updated on any changes to rate limiting policies, as SAP has announced plans to implement them [3].

In summary, while SAP SuccessFactors does not currently enforce strict API rate limits, they do provide recommendations to ensure optimal system performance. Developers should follow these best practices and be prepared for potential rate limiting implementation in the future.

Latest API Version

Based on the search results provided, I cannot determine the most recent version of the SAP SuccessFactors API with certainty. The search results do not contain specific information about API versions or release dates. However, I can provide some relevant information about SAP SuccessFactors APIs:

API Types

SAP SuccessFactors offers different types of APIs:

  • OData APIs: These are RESTful APIs that allow you to interact with SAP SuccessFactors data.
  • Package APIs: SAP SuccessFactors provides API packages that group related APIs together.

API Documentation

The most up-to-date information about SAP SuccessFactors APIs can be found on the SAP Business Accelerator Hub:

  • You can find a comprehensive list of all available APIs for SAP SuccessFactors on the SAP Business Accelerator Hub.
  • The hub provides detailed documentation for each API, including endpoints, parameters, and response formats.

Best Practices

When working with SAP SuccessFactors APIs:

  • Always refer to the official SAP documentation for the most recent and accurate information.
  • Check the SAP Business Accelerator Hub regularly for updates and new API releases.
  • Consider using API packages when working with related functionalities, as they group APIs logically.

Key Points to Consider

  • SAP SuccessFactors is continuously evolving, and new APIs or updates to existing APIs may be released periodically.
  • The version or release date of an API may depend on the specific module or functionality within SAP SuccessFactors.
  • Some APIs might be in different stages (e.g., beta, generally available) which could affect their stability and support.

To get the most accurate and up-to-date information about the latest version of SAP SuccessFactors APIs, I recommend checking the official SAP documentation or contacting SAP support directly.

How to get a SAP SuccessFactors developer account and API Keys?

1. Obtain a SuccessFactors demo/trial account

  • You need to be a certified SAP partner to request a demo system.
  • To become a partner, check the "How to Become a Partner" guide from SAP.

2. Set up API access

  • Enable SFAPI usage for your company instance (usually done during initial implementation).
  • Create an SFAPI user in SuccessFactors with required permissions:
    • Manage Integration Tools > Access to Integration Service Registration Center UI
    • Admin Center > Manage Permission Roles > Access to X.509 Certificate Mapping
  • Generate OAuth credentials:
    • Go to Admin Center > Tools > Manage OAuth2 Client Applications
    • Register a new client application
    • Generate an X.509 certificate
    • Save the Client ID and Client Secret

3. API Documentation

  • SAP provides API documentation on the SAP API Business Hub.
  • You can discover and test SuccessFactors APIs there.

4. Create the integration

  • Use the SAP Integration Suite to build integrations.
  • For simpler use cases, you can use the SuccessFactors built-in Integration Center.

What can you do with the SAP SuccessFactors API?

Based on the search results provided, here is a list of data models that can be interacted with using the SAP SuccessFactors API, along with what is possible for each data model:

Employee Central Data Models

  • Employee data:

    • Retrieve employee information
    • Create, update, and delete employee records
    • Query employee data using OData filters and expand options [2]
  • Organizational data:

    • Access organizational structures
    • Retrieve department and position information
    • Manage organizational hierarchies [2]

Talent Management Data Models

  • ContinuousFeedback:

    • Interact with continuous feedback data (specific capabilities not detailed) [2][3]
  • Performance and Goals:

    • Manage employee goals
    • Access performance review data
    • Update performance ratings [2]
  • Learning:

    • Retrieve learning course information
    • Manage employee learning assignments
    • Track course completions [2]

Recruiting Data Models

  • Job Requisitions:
    • Create and update job postings
    • Manage applicant data
    • Track recruiting processes [2]

Time and Attendance Data Models

  • Time tracking:
    • Record employee time entries
    • Manage leave requests
    • Access attendance data [2]

Payroll Data Models

  • Payroll information:
    • Retrieve employee payroll data
    • Access compensation information [2]

General Capabilities

  • OData query options:

    • Use filters, sorts, and selects against expanded properties
    • Perform full-text searches
    • Execute recursive queries [3]
  • Delta support:

    • Query for changes since a previous state [3]
  • Entity Data Model enhancements:

    • Support for containment, singletons, enums, and type definitions
    • Complex types with inheritance and navigation properties [3]

Key Considerations

  • The specific capabilities for each data model may vary depending on the implementation of each SAP SuccessFactors module [2]
  • SAP SuccessFactors uses OData (Open Data Protocol) as its primary API type [2]
  • The APIs are organized into different packages corresponding to various modules or areas of functionality [2]
  • Developers should consult the SAP API Business Hub and official documentation for detailed information on supported operations for each entity [2]

It's important to note that the available data models and their capabilities may evolve over time as SAP updates its products and APIs. Always refer to the most recent official documentation for the most up-to-date and accurate information.