There are two possible ways for external profiles to be integrated into an applicant portal:
- Login with external profile
- Link with external profile
Login with external profile
Prerequisites
The following prerequisites need to be met, if authentication via external profiles should be supported through the eRecruiter API.
- In the eRecruiter application an applicant portal needs to be created if it does not exist.
- In the eRecruiter application the OAuth consumer keys and secrets need to be provided for an applicant portal.
Login with external profile
You have the possibility to let applicants login to your applicant portal via an external profile. The authentication with the external profile platform must be handled by yourself. We offer an open source library for connecting to XING and LinkedIn for the .NET platform, which we use in our applicant portal (
https://github.com/eRecruiter/eRecruiter.SocialConnector ).
The login process with an external profile is divided into the following steps:
- Authorize with third party to retrieve the external profile identifier.
Use the following request to with the retrieved external profile identifier for either XING or LinkedIn
Get an applicant by their third party identifier
GET Api/Applicant?identifier={identifier}&thirdParty={thirdParty}
The request checks if the applicant profile already exists in the eRecruiter and returns the profile if found
- If the profile was found you can successfully authenticate the applicant in your applicant portal.
Link with external profiles
Two parameters are mandatory for linking the external profiles to your applicant profile:
- identifier: The unique identifier as provided by XING or LinkedIn
- profileUrl: The URL to the profile as provided by XING/LinkedIn
After the applicant has been authenticated with the external platform the basic data of the external profile has to be fetched.
XING
XING sample JSON response
"users": [
{
"id": "123456_abcdef",
"first_name": "Max",
"last_name": "Mustermann",
}
]
To link your applicant profile the properties "id" as identifier and "permalink" as profileUrl are required for the resource below.
Link XING profile
POST Api/Applicant/Xing/{applicantId}?identifier={identifier}&profileUrl={profileUrl}
LinkedIn
LinkedIn sample Json response
{
"id": "1R2RtA",
"firstName": "Frodo",
"lastName": "Baggins",
}
To link an applicant profile the external profile identifier (identifier) and the URL to the external profile (profileUrl) are required for the resource below.
Link LinkedIn profile
POST Api/Applicant/LinkedIn/{applicantId}?identifier={identifier}&profileUrl={profileUrl}
If the the XING or LinkedIn connection should be removed the following to endpoints can be used.
Unlink external profiles
DELETE Api/Applicant/Xing/{applicantId}DELETE Api/Applicant/LinkedIn/{applicantId}
Fill applicant's profile with data from the external profile
This is a recommendation on how to fill the applicant's profile with the data from the external profile. Our applicant portal maps the third party information to the eRecruiter entities as seen in the table below. As some entities in the eRecruiter require some properties, we describe how we managed the mapping from the third party profile to the applicant's profile.
eRecruiter entity
| XING property
| LinkedIn property
| Hints
|
---|
photo
| "photo_urls" : {
" large " : { ... }
}
| "picture-url "
|
|
experiences
| "professional_experience" : {
" primary_company " : { ... },
" non_primary_companies ": { ... }
}
| "positions"
|
|
educations
| "educational_background" : {
"Schools" : { ... }
}
| "educations "
| The "Type" property is required. Since no type is provided from any third party, we try to match the name of the provided education with any of the possible education types.
|
certificates
| "educational_background" : {
" qualifications " : { ... }
}
| "courses ": { ... } ,
"certifications ": { ... }
| The "Type" property is required. Since no type is provided from any third party, set any of the possible certificate types, if you create the entity automatically.
|
knowledge
| -
| "Skills "
| The "Level" property is required. Since LinkedIn provides no level, set any of the possible knowledge levels if you create the entity automatically.
|
languages
| "languages"
| "languages"
|
|
publications
| -
| "publications"
| The "Type" property is required. Since no type is provided from any third party, use any of the possible publication types if you create the entity automatically.
|
Related Articles
API - Applicant
Prerequisites It's required to be authenticated to use the following methods. Furthermore, an API token with "Applicants" access level is mandatory. Applicant profile Essentially an applicant profile consists of basic claim data . More Data can be ...
API - Questionnaires
The eRecuiter application allows recruiters to create questionnaires to create questions for jobs. Questionnaires describes applicant information, that can be provided for that job during the application process. For all possible questions, an API ...
API - Application
Prerequisites It's assumed that the requesting user is authenticated and there is an existing job on which an applicant wants to apply. The following actions could be performed for an application: Apply for an existing job Apply again for an existing ...
API - Reset Password
Process The password reset process is basically devided into three parts. Step 1 - Trigger "I-Forget-My-Password"-Token First, the API has to be called ( http://api.erecruiter.net/Help/Api/POST-Api-Applicant-RequestPassword_email_url_culture ) ...
API - CV Parsing
Prerequisites The CV parser service does not rely on any access level restrictions for the eRecruiter API. If an applicant portal is configured for CV parsing services (in eRecruiter Administration area), it can be used after successful ...