SAP Success Factor
Purpose
Cyber Guru offers the possibility to acquire course completion information from the users present on the platform, through a REST API that returns a dataset suitable for use by the Learning History Connector of SAP SuccessFactors Learning.
The automation of data acquisition provided by Cyber Guru in SAP SuccessFactors Learning depends on the client's processes and architectures, and for this reason, it cannot be overseen by Cyber Guru.
This guideline contains the directives and parameters for invoking the service by the client.
Scope
The information applies to the Cyber Security Awareness platform Cyber Guru 2.0.
Prerequisites
The client must have the technological resources to call the REST API with a frequency
The client must create the courses on SAP SuccessFactors Learning and communicate the corresponding CPNT_IDs to Cyber Guru, according to the following example schema (consider only the activities that are part of the purchased package):
Cyber Guru Activity Name
CPNT_ID
Module 1 Phishing
999
Module 2 Malware
888
Module 3 Password
666
etc.
Procedure
Cyber Guru provides two REST APIs:
Get token: https://<...>/protocol/openid-connect/token
This API allows obtaining an authorization token.
Call parameters (POST method):
client_id: ext-api
client_secret: <provided by Cyber Guru>
grant_types: client_credentials
Get course data: https://<...>/ext/sap/success-factors
which allows importing a subset of data from Cyber Guru to SAP Success Factor.
To invoke the API, it is necessary to provide the token obtained from the previous API as a "Bearer token".
The API takes the following parameters as input (GET method):
suffix (Required, String)
cpnt_typ_id (Required, String)
cmpl_stat_id (Required, String)
separator (Optional, Char, default: ',')
es_user_name (Optional, String)
start_date (Optional, format MON-DD-YYYY)
end_date (Optional, format MON-DD-YYYY)
output_mode (Optional), 1 file (default), 2 json
Below is the meaning of the parameters:
suffix: tenant id of SAP Success Factor
cpnt_typ_id: item type id
cmpl_stat_id: completion status id
separator: the separator used in case of file type output
start_date: start date for filtering the result set; if start_date is absent, records from the beginning will be returned
end_date: end date for filtering the result set; if end_date is absent, records will be returned up to the current date
output_mode: response acquisition mode. By default, a file named lerninghistory_data_{suffix}.txt is returned, as required by the Learning History Connector; this parameter can be modified to receive the response in JSON format.
The API response, in the case of output_mode = 1, is the file lerninghistory_data_{suffix}.txt which can be directly imported into SAP (automatic import operations can be managed directly by the client's IT department).
The attributes contained in the response are all the attributes considered mandatory by SAP Success Factor and a subset of attributes considered optional by SAP Success Factor (for example, optional attributes for which Cyber Guru does not have available data are not passed). Below are the details:
Attribute Name | Data Type | Description |
STUD_ID | Varchar (90) | Required. Username in Cyber Guru |
CPNT_TYP_ID | Varchar (90) | Required. cpnt_typ_id in input parameter |
CPNT_ID | Varchar (90) | Required. Course ID in SAP SF ( * ) |
CMPL_STAT_ID | Varchar (90) | Required. cmpl_stat_id in input parameter |
COMPL_DTE | Date Time | Required. Format MON-DD-YYYY HH24:MI:SS |
COMPL_DTE_TIMEZONE | Varchar (90) | Optional |
GRADE | Varchar (90) | Optional (User's points on the activity in Cyber Guru) |
ES_USER_NAME | Varchar (90) | Optional. es_user_name in input parameter |
In the case of output_mode = 2, the service will return a JSON with the same attributes as the file. For example:
{
"status": 200,
"data": [
{
"STUD_ID": "john.doe",
"CPNT_TYP_ID": "986",
"CPNT_ID": "MOD_007",
"CMPL_STAT_ID": "992",
"COMPL_DTE": "Apr-15-2024 14:48:18",
"COMPL_DTE_TIMEZONE": "",
"GRADE": 4,
"ES_USER_NAME": "Mark Twain"
},
{
"STUD_ID": "mario.rossi",
"CPNT_TYP_ID": "986",
"CPNT_ID": "MOD_002",
"CMPL_STAT_ID": "992",
"COMPL_DTE": "Mar-16-2024 16:53:59",
"COMPL_DTE_TIMEZONE": "",
"GRADE": 30,
"ES_USER_NAME": "Mark Twain"
},
{
"STUD_ID": "carlos.bianchi",
"CPNT_TYP_ID": "986",
"CPNT_ID": "MOD_004",
"CMPL_STAT_ID": "992",
"COMPL_DTE": "Mar-16-2024 16:53:13",
"COMPL_DTE_TIMEZONE": "",
"GRADE": 4,
"ES_USER_NAME": "Mark Twain"
}
]
}
For the correct functioning of the process, it is necessary that the courses are created on SAP Success Factor and the corresponding CPNT_IDs are communicated to Cyber Guru as expressed in the prerequisites.
Cyber Guru will then communicate the client id and secret to obtain the token and invoke the API.
Cyber Guru is available to support the client in the configuration and testing phase on a staging environment and, following a successful test outcome, in the production environment.