AI

SuccessFactors API (**SFAPI**) is a legacy SOAP-based web service used to integrate with SAP SuccessFactors. While SAP is migrating towards OData API, SFAPI is still utilized for specific modules, primarily **Employee Central (Compound Employee)** and **LMS**.
The "electronic parts" or technical components of SFAPI can be broken down into its architecture, data protocols, and functional entities.
---
## 1. Technical Architecture & Protocols
SFAPI relies on standard web service protocols to facilitate communication between the client and the SuccessFactors server.
| Component | Description |
| :--- | :--- |
| **Protocol** | **SOAP** (Simple Object Access Protocol). It uses XML for message exchange. |
| **Transport** | **HTTPS**. All communication is encrypted via TLS for security. |
| **Definition** | **WSDL** (Web Services Description Language). A file that describes the available operations and data structures. |
| **Authentication** | **Session-based**. Requires a `login` call to receive a session ID, which is passed in the header of subsequent calls. |
---
## 2. Core API Operations (The "Mechanical" Parts)
SFAPI provides a set of standard operations to interact with the database. These are defined in the WSDL.
### CRUD Operations
* **`insert`**: Creates new records in the system.
* **`update`**: Modifies existing records.
* **`upsert`**: A hybrid "Update or Insert" logic based on external IDs.
* **`delete`**: Removes records from the system.
### Query & Metadata
* **`query`**: Retrieves data using an SQL-like syntax (SFQL).
* **`describe`**: Returns metadata about an entity (fields, data types, and requirements).
* **`listNodes`**: Lists the available entities (objects) within the specific SFAPI instance.
---
## 3. The Compound Employee API
The most significant "part" of SFAPI today is the **Compound Employee API**. Unlike standard flat APIs, this is a specialized entity used to extract employee master data.
* **Hierarchical Structure:** Returns data in a nested XML format (e.g., Person -> Employment -> Job Info).
* **Delta Transmission:** It can be configured to only return changes made since the last execution, making it highly efficient for payroll integrations.
* **Effective Dating:** Handles historical records and future-dated changes automatically.
---
## 4. Key Configuration Components
To make SFAPI functional, several "electronic" settings must be configured within the SuccessFactors instance:
1. **API User:** A dedicated service account with specific "API Visibility" permissions.
2. **RBP (Role-Based Permissions):** The user must be granted "SFAPI Management" permissions and specific functional permissions (e.g., "Employee Views").
3. **Endpoint URL:** This varies by data center (e.g., `https://api4.successfactors.com/sfapi/v1/soap`).
4. **IP Whitelisting:** For security, the calling server's IP address often needs to be added to the SuccessFactors "Password & Login Policy."
---
## 5. Comparison: SFAPI vs. OData API
| Feature | SFAPI (Legacy) | OData API (Modern) |
| :--- | :--- | :--- |
| **Format** | XML Only | JSON or XML |
| **Style** | SOAP (Action-oriented) | REST (Resource-oriented) |
| **Primary Use** | Compound Employee / Payroll | All modules / UI / Integration |
| **Complexity** | High (Strict WSDL) | Moderate (Easier to test) |
- ⤷
What are the steps to authenticate a session in SFAPI using SOAP UI?
- ⤷ How does the 'Delta' query mode work in the Compound Employee API?
- ⤷ Is there a specific tool for testing SFAPI calls within the SuccessFactors dashboard?