Purpose
Cyber Guru offers the ability to obtain course completion information from the users on the platform through a REST API that provides a data set 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 therefore cannot be managed by Cyber Guru.
This guideline contains the directives and parameters for the client to invoke the service.
Scope
The information applies to the Cyber Security Awareness platform Cyber Guru 2.0.
Prerequisites
The client must have the technological resources to call REST API with a frequency
-
The client must create the courses on SAP SuccessFactors Learning and communicate the related 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 you to obtain an authorization token.
Call parameters (POST method):
client_id: ext-api
client_secret: < provided by Cyberguru>
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, you need 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 output
start_date: start date to filter the result set; if start_date is absent, records from the beginning will be returned
end_date: end date to filter the result set; if end_date is absent, records up to the current date will be returned
output_mode: response acquisition mode. By default, a file named lerninghistory_data_{suffix}.txt is returned, as required by the Learning History Connector; you can change this parameter to receive the response in JSON format.
The API response, in case 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 has no data available 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 points on the activity in Cyber Guru) |
ES_USER_NAME |
Varchar (90) |
Optional. es_user_name in input parameter |
In case 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_TIMEZIONE": "",
"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_TIMEZIONE": "",
"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_TIMEZIONE": "",
"GRADE": 4,
"ES_USER_NAME": "Mark Twain"
}
]
}
For the process to work correctly, courses must be created in SAP Success Factor and the corresponding CPNT_IDs must be communicated to Cyber Guru as stated in the prerequisites.
Cyber Guru will then provide the client ID and secret to obtain the token and call the API.
Cyber Guru is available to support the client during the configuration and testing phase in a staging environment and, following a successful test, in a production environment.