on 09/06/2023 06:26 AM
The Namely application as an HR source can be integrated with Saviynt using the generic REST connector. Below are the sample JSONS to make the successful connection with Namely system through API call and bring in HR data to Saviynt.
ConnectionJSON
{
"authentications": {
"userAuth": {
"authType": "oauth2",
"url": "https://sav.namely.com/api/v1/profiles.json",
"httpMethod": "POST",
"httpParams": {
"grant_type": "client_credentials"
},
"httpHeaders": {
"contentType": "application/x-www-form-urlencoded"
},
"httpContentType": "application/x-www-form-urlencoded",
"expiryError": "ExpiredAuthenticationToken",
"authError": [
"InvalidAuthenticationToken",
"AuthenticationFailed"
],
"timeOutError": "Read timed out",
"errorPath": "error.code",
"maxRefreshTryCount": 5,
"tokenResponsePath": "access_token",
"tokenType": "Bearer",
"accessToken": "Bearer <Access_Token>"
}
}
}
UserImportJSON
{
"connection": "userAuth",
"url": "https://sav.namely.com/api/v1/profiles.json",
"httpMethod": "GET",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "${access_token}"
},
"userResponsePath": "profiles",
"colsToPropsMap": {
"username": "email~#~char",
"statuskey": "user_status~#~char",
"enabled": "user_status~#~char",
"displayname": "full_name~#~char",
"email": "email~#~char",
"firstname": "first_name~#~char",
"lastname": "last_name~#~char",
"middlename": "middle_name~#~char",
"startdate": "start_date~#~char",
"enddate": "departure_date~#~char",
"employeeType": "employee_type.title~#~char",
"manager": "reports_to[0].email~#~char",
"employeeid": "id~#~char",
"preferedfirstname": "preferred_name~#~char",
"title": "job_title.title~#~char",
"phonenumber": "office_phone~#~char",
"customproperty1": "job_title.title~#~char",
"customproperty2": "github_username~#~char",
"customproperty3": "reports_to[0].email~#~char",
"customproperty4": "employee_type.title~#~char",
"customproperty5": "preferred_name~#~char",
"customproperty28": "id~#~char",
"customproperty27": "reports_to[0].id~#~char",
"customproperty45": "user_status~#~char"
},
"pagination": {
"page": {
"pageSizeParam": "per_page",
"pageSize": 50,
"pageRecordCount": "completeResponseMap.meta.count",
"pageNumberParam": "page",
"totalCountPath": "completeResponseMap.meta.total_count",
"firstPageNumber": 1
}
}
}