HR Manager Talent Solutions offers a remoting web service for its recruitment application Talent Recruiter that allows third party systems to integrate and manage major operations in the applications. This document provides an overview of this remoting web service.
Please read the API Usage Notice before implementing API consumption and notice the API have a connection timeout on 180 seconds. |
There are two main URLs to know when using Remoting Web Service:
Following are the general requirements to use the Remoting Web Service:
A few base ideas and patterns are vastly in use throughout the API. It can be a good idea to get familiar with them before diving into the details of the API functions.
The web service is consume-only. It never initiates communication to Customer’s systems on its own.
Most of the functions in the web service are synchronous. These functions process the request and return the results immediately to the caller.
Some of the functions in the web service are asynchronous. These functions simply validate the request and return the validation results to the caller. If the validation passes, the function adds the request to an internal queue for later processing. Separate functions are available to retrieve processing status of queued requests.
Each API function pairs with dedicated request and response objects. The idea is to send a single “package” of parameters to invoke the API function, and receive a single “package” of parameters in return. This pattern allows simpler extension of the request and response objects without breaking the implementations.
The corresponding request and response objects share the same name as the API function and end with suffixes Rqt for request and Rsp for response. For example, the function “CreateQuestionnaire” creates a new questionnaire.
Every entity in the System that can be created and managed through remoting API is called a RemotableEntity. Examples of such entities are User, Department, Position, Document, Candidate, Questionnaire etc. The base properties of RemotableEntity are as follows:
Property | Type | Description |
---|---|---|
Id | RemotableId | Id of the entity (se next session) |
ParentDepartmentId | RemotableId | Id of the department where the entity belongs |
Title | String | Title, name, text or value of the entity |
Each RemotableEntity has ability to store two different ids – one System id and one third-party id. The API functions requiring a RemotableId expect one or both of these ids, depending on the API function. The base properties of RemotableId are as follows:
Property | Type | Description |
---|---|---|
Id | T | The unique id of the entity in the system. This id can be a String, Integer, Long or some other data type. |
ThirdPartyId | String | The unique id of the entity in the third party system |
As no two system are equal in terms of functionality or data they store, the System provides a way to store additional information from third party systems together with the entities. This information is stored in a PropertyBag of the entity. A property bag is a basic list of key-value pairs of strings.
A single Property in a PropertyBag consists of following properties.
Property | Type | Description |
---|---|---|
Key | String | Identifying key of the property. The key must be unique within a single entity. |
Value | String | Value of the property |
Each request object in an API function inherits from an abstract class called RequestBase that defines base properties for each request regardless of API function. These properties are as follows:
Property | Type | Description |
---|---|---|
CustomerId | Integer | System id of the Customer. Always the same for a given Customer. |
DepartmentId | RemotableId | System or third party id of the department for which the API function is being called. |
SystemLanguageType | Enumerator | Some of the properties in entities, such as dropdown items, store multi-lingual values. This property defines which language to use when reading/writing such properties in the corresponding API function.
|
AuthenticationToken | String | The api key that is set in department settings in HRMTS |
ReferenceToken | String | A unique token sent by the third party system with each API function request. The same token is returned to the third party system in the corresponding response. |
IncludeDebugOverview | Boolean | A reserved flag to use in conjunction with HR Manager Support to debug various issues in API functions. |
Each response object in an API function inherits from an abstract class called ResponseBase that defines base properties for each response regardless of API function. These properties are as follows:
Property | Type | Description |
---|---|---|
TransactionStatus | TransactionStatus | A custom object representing the state of the transaction along with potential error/failure information. |
SystemLanguageType | Enumerator | Some of the properties in entities, such as dropdown items, store multi-lingual values. This property defines which language to use when reading/writing such properties in the corresponding API function.
|
ReferenceToken | String | The unique third party token sent with the corresponding request object. |