...
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.
Property | Type | Description |
---|---|---|
DoNotDeleteUnlistedSynchronizedDepartments | Boolean | Flag to indicate previously synchronized departments, that are not listed in current request, should be deleted. When true, the unlisted synchronized departments are not deleted. |
DoNotUnpublishAndDeactivateProjectsInDeletedDepartments | Boolean | Flag to indicate whether projects in departments being deleted should be unpublished and deactivated. When true the departments with published projects are not deleted. |
DoNotDeleteUsersInDeletedDepartments | Boolean | Flag 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. |
DepartmentUpdateBypassTypes | Enumerator | One or more properties to bypass when updating existing departments. See details below |
DepartmentList | List<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.
Property | Type | Description |
---|---|---|
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. |
Title | String | Name of the department. |
ParentDepartmentId | String | Id 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. |
Details | Department 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.
Property | Type | Description |
---|---|---|
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. |
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.
Property | Type | Description |
---|---|---|
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.
Property | Type | Description |
---|---|---|
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.
Property | Type | Description |
---|---|---|
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:
Property | Type | Description |
---|---|---|
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.
Property | Type | Description |
---|---|---|
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:
Property | Type | Description |
---|---|---|
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.
Property | Type | Description |
---|---|---|
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.
...