Integration with Signify using the user import API
The user import API should be used when a third party needs to push data to Signify on a specific ruleset to update employee records.
1. Get an Access Token
InFirst, orderyou need to useauthenticate and get an access token.
Run the APIcURL command (replace the followingvalues processas needsneeded):
curl --request POST \
--url https://live.signifyhr.co.za/api/identity/v1/CreateUserAccessToken \
--header 'Content-Type: application/json' \
--cookie .AspNetCore.Antiforgery.3CuCAIFqZrU=YOUR_ANTIFORGERY_COOKIE \
--data '{"username":"YOUR_USERNAME","password":"YOUR_PASSWORD","clientId":"YOUR_CLIENT_ID","skipRulesetActiveCheck":false}'
- This will return a JSON response with an accessToken field.
- The values for YOUR_USERNAME, YOUR_PASSWORD must be generated for a valid user in the system and provided by your system administrator.
- The value YOUR_CLIENT_ID can be retrieved on the ruleset by going to
be
2. Use the detailsAccess Token to generateImport anUsers
Copy bearerthe value of accessToken (it starts with Bearer ...).
Now, use this token
Doin athe Postnext cURL command to
import your user data:
{domain}curl --request POST \
--url https://live.signifyhr.co.za/api/importapi/v1/ImportUsers \
--header 'Authorization: YOUR_ACCESS_TOKEN' \
--header 'Content-Type: application/json' \
--cookie .AspNetCore.Antiforgery.aJ9qYnOEx9w=YOUR_ANTIFORGERY_COOKIE \
--data '{
"users": [
{
"username": "JDoe123",
"name": "John",
"surname": "Doe",
...
}
// Add more users as needed
]
}'
Add
- Replace YOUR_ACCESS_TOKEN with the
headersUsevalue from step 1. - Replace the
tokenuser data in the user's array asauthorisationneeded.headerTheandfollowingcallcode snippet shows all the current available fields for import
{
"users": [
{
"externalId": 0,
"username": "string",
"name": "string",
"surname": "string",
"emailAddress": "string",
"idNumber": "string",
"mobileNumber": "string",
"orgLevel1": {
"externalId": 0,
"name": "string",
"code": "string",
"workLocationName": "string"
},
"orgLevel2": {
"externalId": 0,
"name": "string",
"code": "string",
"workLocationName": "string"
},
"orgLevel3": {
"externalId": 0,
"name": "string",
"code": "string",
"workLocationName": "string"
},
"orgLevel4": {
"externalId": 0,
"name": "string",
"code": "string",
"workLocationName": "string"
},
"orgLevel5": {
"externalId": 0,
"name": "string",
"code": "string",
"workLocationName": "string"
},
"orgLevel6": {
"externalId": 0,
"name": "string",
"code": "string",
"workLocationName": "string"
},
"orgLevel7": {
"externalId": 0,
"name": "string",
"code": "string",
"workLocationName": "string"
},
"orgLevel8": {
"externalId": 0,
"name": "string",
"code": "string",
"workLocationName": "string"
},
"orgLevel9": {
"externalId": 0,
"name": "string",
"code": "string",
"workLocationName": "string"
},
"jobExternalId": 0,
"jobTitle": "string",
"jobCode": "string",
"positionExternalId": 0,
"positionTitle": "string",
"positionCode": "string",
"appointmentType": "string",
"lineManagerUsername": "string",
"performanceManagerUsername": "string",
"startDate": "string",
"endDate": "string",
"reasonForTermination": "string",
"passportNumber": "string",
"payrollConnectorName": "string",
"payrollId": "string",
"middleName": "string",
"initials": "string",
"title": "string",
"knownAs": "string",
"homeLanguage": "string",
"gender": "string",
"race": "string",
"citizenship": "string",
"maritalStatus": "string",
"maritalDate": "string",
"workNumber": "string",
"homeNumber": "string",
"birthDay": "string",
"residentialUnitNumber": "string",
"residentialComplexName": "string",
"residentialStreetNumber": "string",
"residentialStreetName": "string",
"residentialSuburbDistrict": "string",
"residentialCityTown": "string",
"residentialCountry": "string",
"residentialProvince": "string",
"residentialPostalCode": "string",
"residentialAsPostal": "string",
"postalUnitNumber": "string",
"postalComplexName": "string",
"postalStreetNumber": "string",
"postalStreetName": "string",
"postalSuburbDistrict": "string",
"postalCityTown": "string",
"postalCountry": "string",
"postalProvince": "string",
"postalCode": "string",
"occupationalCategory": "string",
"occupationalLevel": "string",
"jobOfoCode": "string",
"jobGrade": "string",
"gradingType": "string",
"departmentManagerUsername": "string",
"trainingManagerUsername": "string",
"pdpFirstApproverUsername": "string",
"pdpSecondApproverUsername": "string",
"leaveManagerUsername": "string",
"salaryReviewManagerUsername": "string",
"talentManagementManagerUsername": "string",
"secondaryReportingManagerUsername": "string",
"lineManagerOnceRemovedUsername": "string",
"workflowOriginatorUsername": "string",
"financeManagerUsername": "string",
"financeOfficerUsername": "string",
"hrOfficerUsername": "string",
"hrRecruitmentOfficerUsername": "string",
"businessUnitHrManagerUsername": "string",
"disability": "string",
"alternateEmailAddress": "string",
"location": "string",
"employeeCode": "string",
"startDateInGroup": "string",
"secondaryJobRequisitionApproverUsername": "string",
"leaveManagerAlternateApproverUsername": "string",
"validationReason": "string",
"startDateInCompany": "string"
}
]
}