SAP Success Factor

Edited

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.