User Defined Fields
In this section:
Intro
We are pleased to announce the beta availability of our User Defined Fields (UDF) API service. This new feature provides the capability to retrieve (GET) data from user-defined fields throughout the system. As this service is currently in a beta phase, we are making it available to a select group of customers on a case by case basis.
If you would like to discuss access to the UDF service, please send a request to: hrapi@iris.co.uk
Please be aware that as a beta service, the UDF API is still under active development.
This means you may encounter unexpected data consistency issues, and there may be changes to the service as we continue to refine and improve its functionality
Key Features
-
Access Custom Data: Retrieve UDF data from both standard system screens and your own custom-designed screens
For example, if you have created a bespoke compliance screen in IRIS Cascade with bespoke fields or created custom fields and added them to the main screen, both are accessible through this new service (some limitation apply see below for more details)
-
Comprehensive Retrieval: The service supports retrieving UDFs in a cascading manner, ensuring you get all relevant data
-
Screen and Field Discovery:
-
Obtain a list of all screens containing UDFs
-
Retrieve a list of UDFs associated with individual users
-
Getting Started:
For detailed instructions on identifying and configuring UDFs and screens within IRIS Cascade, refer to Using the Screen Designer.
Important Beta Considerations
-
Read-Only Access (GET): Currently, this beta version only supports retrieving data (GET requests). We plan to add functionality for creating (POST) , updating (PUT), and deleting (DELETE) UDF data in a future release
-
Arrays - Currently there is no way to search for or filter by individual fields names due to a known bug with arrays an ODATA. As a workaround, download all data and filter outside the API
Glossary of Terms
-
Schema = Screen
-
Source Entity = Employee
The Endpoints Explained
UserDefinedFieldSchemas
This service is used to identify the screens that contain UD fields and their associated properties within IRIS Cascade. If a screen is not listed here, it means that the screen does not contain any UD fields.
-
/userdefinedfieldschemas – use this service to retrieve a list of ALL screens and their associated fields and properties within IRIS Cascade.
-
No mandatory ID’s required to call this
-
This responds with
-
ID = this is the schema / screen ID Example: "Id": "77076bce-cc88-409b-aca8-62175e6e9d7b",
-
When it was created / last modified in the AP. This is different to when it was created/last modified in IRIS Cascade– normally this is identified by the source system dates
-
Source entity = is always employee
-
Description = this field is obsolete and subject for removal
-
Source system ID = the screen name
-
Application meta data = is an array of data which defines the properties of the screen. For example, is it a list page or a tab page
-
-
CustomFields = is an array of all the UD fields on that screen and their properties
-
-
/userdefinedfields/schemas/{id} – use this service to retrieve a list of UD fields and properties within IRIS Cascade on an individual screen
UserDefinedFields
All 3 endpoints use the same model
-
/userdefinedfields/source/{sourceEntityId} - use this service to retrieve a list of ALL screens and ALL UD fields for 1 employee
-
Mandatory ID = sourceEntityId which is the API employee ID (GUID)
-
-
/userdefinedfields/schema/{schemaId} - use this service to retrieve a list of UD fields for 1 screen for ALL employees
-
Mandatory ID is the screen ID / schema ID found in the /userdefinedfieldschemas service
-
ID = is the UDF record ID for that employee
-
SourceEntityID = the employeeID from the Employee Service
-
SourceSystemID = the internal database ID Cascade uses
-
-
/userdefinedfields/{id} - use this service to retrieve a list of UD fields on 1 screen for 1 employee.
-
Mandatory ID = the UDF ID this is the unique ID for each employee record for each screen essentially taking the SchemaID + EmployeeID = UDF ID
-
Additional Notes
UserDefinedFields - Control Types
The data kept in IRIS Cascade relating to user defined fields and screens uses its own control type to determine the data.
This is reflected in the /userdefinedfieldschemas endpoint; within the CustomFields node. We have listed all relevant Control Types in IRIS Cascade you can use on the screens.
IRIS Cascade Friendly Value |
Control Type | Definition | Additional Comments |
---|---|---|---|
Text (upto 50 chars) | EDIT | STRING | Single line text |
Text (upto 50 chars) | SELECT | STRING | Uses system list value defined in'ValidList'property |
Date | DATE | DATETIME | |
Yes/No | CHECK | BIT | Value will be 0 / 1 Or NULL / sometimes Uses system list value defined in'ValidList'property |
Text (narrative > 50 chars) | TEXTAREA | STRING | Multiline text |
Number (Whole number e.g. 10) | NUMERIC | INT | |
Decimal (e.g. 10.5) | DECIMAL | DECIMAL(16,2) | |
RADIO | BIT | Value will be 0 / 1 Or NULL / sometimes Uses system list value defined in'ValidList'property | |
Employee Picker | EMPLOYEEPICKER | STRING | This ID is the Employee ID from the/employeeendpoint |
Hierarchy Picker Field | HIERARCHYPICKER | STRING | This is the Hierarchy ID from the/hierarchyendpoint |
LINKEDSELECT | STRING | Single line text, these values will be shown as strings | |
Currency Field (e.g. £10.50) | CURRENCY | DECIMAL | The currency value, this field type always has 2 fields, 1 that contains the value and another that contains the currency ISO code. These fields are linked on field name, example: carallowanceUD =36000carallowanceUDcurrency ='GBP' |
HOURSMINUTES | INT | Raw value is stored as minutes. IRIS Cascade converts this into the value that's seen on screen, to achieve this take minutes value and divide by 60 to get hours / take minutes value and percent by 60 to get minute value combine the results as[HOUR : MINTUE]to get value as seen in Cascade. |
The entries above that do not have a 'IRIS Cascade Friendly Value' are ones that the IRIS Cascade's support team must create. You cannot create these in the UI manually.
Which Endpoint to Use?
I want to retrieve a complete list of UD screens, fields and their associated properties = use the endpoint https://api.iris.co.uk/hr/v2/userdefinedfieldschemas
I want to retrieve a list of all UD fields for 1 screen and their associated properties = use the endpoint (with an OData filter) https://api.iris.co.uk/hr/v2/userdefinedfieldschemas?$filter=sourcesystemid eq 'ScreenName' '
I know the API employee ID and I want to retrieve a list of all UD screens and fields for a single employee = use the endpoint https://api.iris.co.uk/hr/v2/userdefinedfields/source/{sourceEntityId}
I know the Screen ID and i want to retrieve a list of UD fields for all employees (where applicable). = use the endpoint https://api.iris.co.uk/hr/v2/userdefinedfields/schema/{schemaId}