Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Following is a brief overview of the flow of information from Customer’s directory service to the System.

Step

Customer’s System

Direction

HRMTS System

1

Pull list of departments from internal directory service.

 

2

Apply filtration rules.

 

3

Send request to synchronize departments.

Receive and validate the request.

4

Receive validation response.

Send validation response.

5

Correct potential errors and repeat #1.

 

 

6

 

If validation passes, add request to internal queue.

7

 

Process request from internal queue.

8

Send request to get status of last request.

Receive and validate the request.

9

Receive status response.

Send status response.

10

Process and/or display response.

 

API Functions

Following is a brief overview of the API functions used in synchronization of departments. Synchronization of departments is handled asynchronously in the System. It means that there is one API function to submit the request, and another one to get the status of the request.

...

The request object, BatchSyncDepartmentsRqt, requires following properties in addition to the general requirements of requests made to Remoting Web Services.

PropertyTypeDescription

DoNotDeleteUnlistedSynchronizedDepartments

BooleanFlag to indicate previously synchronized departments, that are not listed in current request, should be deleted. When true, the unlisted synchronized departments are not deleted.
DoNotUnpublishAndDeactivateProjectsInDeletedDepartmentsBooleanFlag to indicate whether projects in departments being deleted should be unpublished and deactivated. When true the departments with published projects are not deleted.
DoNotDeleteUsersInDeletedDepartmentsBooleanFlag to whether users in departments being deleted should be marked deleted. When true, the users in departments being deleted are moved to root department and locked.
DepartmentUpdateBypassTypesEnumerator

One or more properties to bypass when updating existing departments. See details below

DepartmentListList<Departments>

List of departments to synchronize.

The list must contain at least one valid department.

DepartmentUpdateBypassTypes

...

The Department object consists of many properties that represent a department in the System. Following are the properties required for the synchronization.


PropertyTypeDescription

Id

RemotableID/

Integer

Id of the department.

In case of new departments, the Id-part must be empty, but a unique ThirdPartyId-part can be supplied.

In case of existing departments, either the Id-part or the ThirdPartyId-part must be supplied.
TitleStringName of the department.
ParentDepartmentIdStringId of parent department in department hierarchy. A null value here would indicate that it is the root department, which is not allowed to be synchronized.
DetailsDepartment Details

Details of the department. (see below)

DepartmentDetails

The DepartmentDetails object consists of many properties that represent details of a department in the System.  Following are the properties for this object.


PropertyTypeDescription

InternalName

String

Internal name of the of the department.

IsRoot

Boolean

Determines whether the department is a root.

IsVirtualRoot

Boolean

Determines whether the department is a virtual root.

IsSynchronized

Boolean

Determines whether the department is synchronized.

IsProjectCreationAllowed

Boolean

Determines whether the project created is allowed in this department.

IsDeletable

Boolean

Determines whether the department can be deleted.

SiblingSortOrder

Integer

Sort order of the department among the siblings.

SystemLanguageList

List of SystemLanguageTypes

List of system languages available for the department.

ContactPerson

String

Contact person for the department.

Address

Address

Address of the department.

Phone

Phone

Phone of the department.

Email

String

Email address of the department.

Website

String

Website of the department.

ParentDepartmentIdCsv

String

Ordered CSV of the parent department ids.

This is a read-only field.

SubDepartmentIdCsv

String

Ordered non-recursive CSV of the sub department ids.

This is a read-only field.


SystemLanguageTypes

The SystemLangaugeTypes object is an enumerator that represents the supported languages in the System.

...

The Address object consists of properties that represent a single address.  Following are the properties for this object.


PropertyTypeDescription
AddressLine1

String

Address line 1.

AddressLine2

String

Address line 2.

PostOfficeBox

String

P.O. Box.

City

String

City.

ZipCode

String

Zip code.

County

String

County.

Country

String

Country.

 

Phone

The Phone object consists of properties that represent a collection of phone numbers.  Following are the properties for this object.


PropertyTypeDescription
Landline

PhoneNumber

Land line.

Mobile

PhoneNumber

Mobile.

Fax

PhoneNumber

Fax.

PhoneNumber

The PhoneNumber object consists of properties that represent a single phone number.  Following are the properties for this object.


PropertyTypeDescription
CountryCode

String

Country code.

AreaCode

String

Area code.

Number

String

The actual number.

IsPreferredNumber

Boolean

Flag to indicate whether this is the preferred number.

 

Response

The API function returns BatchSyncDepartmentsRsp as result of the request. In addition to standard response from Remoting Web Service, it returns following properties:


PropertyTypeDescription

BatchSyncStatusType

Enumerator

Status of the request registration.

 

Get Status of Batch Synchronize Departments

...

The request object, GetBatchSyncDepartmentsStatusRqt, requires following properties in addition to the general requirements of requests made to Remoting Web Services.

PropertyTypeDescription

InitialReferenceToken

String

The reference token of the initial submission you are trying get the status of.

Response

The API function returns GetBatchSyncDepartmentsStatusRsp as result of the request. In addition to standard response from Remoting Web Service, it returns following properties:


PropertyTypeDescription

InitialReferenceToken

String

The reference token of the initial submission you are trying get the status of.

BatchSyncStatusType

Enumerator

Status of the request processing.

EntitySyncStatusList

List of BatchSyncEntityStatus

List of status for each synchronized entry.


BatchSyncEntityStatus

The BatchSyncEntityStatus object consists of two required properties.


PropertyTypeDescription

EntityId

Remotable id of type Integer

Remotable id of the entity being synchronized.

Upon successful synchronization, the id always contains System’s internal id assigned to the entity.

EntitySyncStatusType

Enumerator

Status of the entity synchronization.

Description

String

Any other relevant information.


Important to Know

The following points are important to know in relation to synchronization. Familiarizing with them will help understanding what to expect from using the API functions.

...