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 |
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 |
|
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",
….
}