API 2.0 - WebAPI to CCS Connector Database

Methods for calling the API:

Command Url Required fields Description

POST

https://apiurl/V1.0/systems/d7689e2b-941a-4cd3-bb24-55cddee5429/Persons/dn

ID, Handled, Firstname, Lastname

Creates or Updates a Person (match on Id column)

POST

https://apiurl/V1.0/systems/d7689e2b-941a-4cd3-bb24-55cddee5429/Persons

Id, Handled, Firstname, Lastname

Updates a list of persons (match on Id column)

GET

https://apiurl/V1.0/systems

Returns name, ID, description, priority for all custom systems

GET

https://apiurl/V1.0/systems/d7689e2b-941a-4cd3-bb24-55cddee5429/Persons

Returns all persons for system with id d7689e2b-941a-4cd3-bb24-55cddee5429

GET

https://apiurl/V1.0/systems/d7689e2b-941a-4cd3-bb24-55cddee5429/Persons/dn

Returns person with id DN

Requirements:

  • ID column is set to a unique ID for this person. It can be EmployeeID, Initials, E-mail address or another ID that must be unique to people in this system.

  • Manager uses ID column as reference (format must match ID column)

  • Organizational units (company, department, carrier, position, job title, division, location) are automatically created and updated in the Compliance Suite. To support updates, the ID column (ie DepartmentID, etc.) must be filled in, otherwise a new non-match section will be created.

  • To delete a person, enter DeactivateOn date (preferred) or set PersonStatusName (use only in scenarios where you should not be able to perform a manual deactivation in Compliance Suite).

  • Initials are automatically generated and updated in this table, if not specified.

  • Enter the "Handled" flag. See below.

Fields

Name Type Description Example

ID

Text

Unique string value for the person

6ca7b087-4315-41d3-b226-b1b2d8906d4b

Handled

Number

A number indicating the status of the table entry. See Handled section below for details.

1

PersonTypeName

Reference

The type of the person in Compliance Suite

Employee

PersonStatusName

Reference

The status of the person in Compliance Suite

Activate

CompanyName

Reference

Specifies which company the person belongs to

<company name>

CompanyId

Reference

Specifies which company the person belongs to

13

FirstName

Text

First name

Anders

LastName

Text

Last name

Andersen

Name

Text

Full name

Anders Andersen

Initials

Text

Initials used to logon to the different systems

aand

EmployeeId

Text

Special ID for the employee / person

1

EmployeeCardId

Text

Special ID for the employee-card / person-card

10

Salutation

Reference

Specifies the salutation for person

Mr.

Phone

Text

Phone number

+45 12345678

Cellphone

Text

Mobile phone number

+45 12345679

PositionName

Reference

Specifies which position the person has

Employee

PositionId

Reference

Specifies which position the person has

12

JobTitleName

Reference

Specifies which job-title the person has been assigned

Assistant

JobTitleId

Reference

Specifies which job-title the person has been assigned

3

DepartmentName

Reference

Specifies which department the person belongs to

Administration

DepartmentId

Reference

Specifies which department the person belongs to

2

CostCenterName

Reference

Specifies which cost-center the person belongs to

Default

CostCenterId

Reference

Specifies which cost-center the person belongs to

22

DivisionName

Reference

Specifies which division the person belongs to

Administration

DivisionId

Reference

Specifies which division the person belongs to

33

Manager

Reference

Specifies who the manager for the person is by Id for that person

7ca7b087-4315-41d3-b226-b1b2d8906d4c

LocationName

Reference

Specifies which location the person is located

Kongens Nytorv 8

LocationId

Reference

Specifies which location the person is located

23

PreferredLanguageName

Reference

Specifies the preferred language for the person

Danish - Denmark

LeaveReturnDate

Date

A date for leave of absence for the person

01-09-2019

Description

Text

Description of person

This user is the most important employee

CategoryName

Reference

Categorization of person

Blue

ActivateOn

Date

A date for activation

01-01-2018

DeactivateOn

Date

A date for deactivation

31-12-2019

PrivatePhone

Text

Private phone number

+45 99999999

PrivateMobilePhone

Text

Private mobile phone number

+45 99999990

PrivateEmail

Text

Private E-mail

anders@andersen.dk

PrivateAddress

Text

Private Address

Farum Hovedgade 71

PrivateZipCode

Text

Private Zipcode

3520

PrivateCity

Text

Private City

Farum

PrivateCountryName

Reference

Private Country

DK

DateOfBirth

Date

A date of birth

01-03-1995

ModifiedOn

Date and time

Change date for the entity. This field is not used by Compliance Suite to synchronize. Instead, the Handled field is used.

01-03-2019 13:01:00

CreatedOn

Date and time

Creation date for the entity. This field is not used by Compliance Suite to synchronize.

01-01-2019 00:00:00

Comments

The table above contains all the data that can be viewed from the Person Card in Compliance Suite.

  • Name: The name of the column in the database

  • Type: Indicates the type of column.

  • Text: The text is transferred directly from the column to the associated field in Compliance Suite.

  • Reference: The corresponding device is searched in Compliance Suite from the name and tries to connect the reference to the person.

  • Date: Only the date specified in UTC time.

  • Date and time: Contains the date and time specified in the UTC time.

  • Description: Describes what the field represents.

  • Example: Example of what could be written in the database.

Comments on implementation:

The API uses Entra ID SQL database tables as a container for updates. Instead of using the REST API, a direct updates and reader to these tables is possible, using the same concepts as the API.
When a person is updated or created, a time-based job that runs every minute searches for new records and changes to existing ones. These changes will then be reflected and displayed in the Compliance Suite accordingly.

"Handled" columns

Changes are tracked using the "Handled" column. The possible values for the "Handled" column are shown below:

Scenario Value Set by Meaning

Inbound

0 (same as null)

Compliance Suite

The column is synchronized.

Inbound

1

The customer

"Dirty" = The column is changed and ready to be processed.

Inbound

2

Compliance Suite

"Handling" = Compliance Suite is in progress of handling the change.

Inbound

3

Compliance Suite

"Error" = An error occured and the values are not synchronized correct. Check Compliance Suite History log.

Example of call:
POST https://apiurl/V1.0/systems/d7689e2b-941a-4cd3-bb24-55cddee5429/Persons/cd819d15-dca8-4ee2-a019-f38a1b93e589
Content-type: application/json
{
"id" : "cd819d15-dca8-4ee2-a019-f38a1b93e589",
"handled" : "1",
"persontypename" : "Employee",
"PersonStatusname" : "Active",
"companyname" : "<company name>",
"firstname" : "Anders",
"lastname" : "Andersen",
"name" : "Anders Andersen",
"initials" : "aand",
"employeeid" : "1",
"employeecardid" : "10",
"salutation" : "Mr.",
"phone" : "+45 12345678",
"cellphone" : "+45 12345679",
"positionname" : "Employee",
"jobtitlename" : "Assistant",
"departmentname" : "Administration",
"costcentername" : "Default",
"divisionname" : "Administration",
"manager" : "7ca7b087-4315-41d3-b226-b1b2d8906d4c",
…​.
}