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
    followedRuleset

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