Skip to main content

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
      followed

    • Ruleset

      ObtainManagement valid| loginSystem credentialsAccess| forAdditional anService APISection user| forCopy the ruleset,GUID youe.g.

    • will
    • need

      image.png

2. Use the detailsAccess Token to generateImport anUsers
expiring

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 headers



    Usevalue from step 1.
  • Replace the tokenuser data in the user's array as authorisationneeded. headerThe andfollowing callcode snippet shows all the current available fields for import
  • API

{
  "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"
    }
  ]
}