|
Http Verb |
POST |
|---|---|
|
Url |
/integration/workforce/r1/work-shifts |
|
Permissions required |
Core Additional Parameters: Edit (fsm.core.additionalparameter.edit) Resource Configuration: View (fsm.core.resource.configuration.view) or Resource Configuration: Edit (fsm.core.resource.configuration.edit) (Organizational Structure Entities: View (fsm.core.structure.view) or Organizational Structure Entities: Edit (fsm.core.structure.edit)) |
|
Last Modified Version |
r1 |
|
Tech Tags |
|
|
Available Async |
No |
BPMN Diagram
Business Logic
This Integration API creates a new Work Shift.
The Private API Suite mandates the verification of OverITs’ software license and the required user permissions. Each call initiated by the Integration API will activate both validations. Only upon successful completion of these validations can the business processes commence.
STEP 1 - External System Validation
System takes Input fields and checks their existence in internal configuration.
API Verb: GET
Resource: External Systems
Input: externalSystemCode, active=true
Output: externalSystemId
If System can obtain the Output fields → continue to next step.
If System can’t obtain the Output fields → responds with error. Elaboration is stopped.
STEP 2 - Operation Center Retrieval
This step is skipped if operationCenterCode is absent.
API Verb: GET
Resource: Operation Center
Input: operationCenterCode, active=true
Output: operationCenterId
If System can obtain the Output fields → continue to next step.
If System can’t obtain the Output fields → responds with error. Elaboration is stopped.
STEP 3 - Resource Validation
System takes Input fields and extract the Resource filtered by identificationNumber.
If the extracted resource’s operationCenter is Not Equal to the operationCenter in input (if present), then elaboration is stopped with error.
API Verb: GET
Resource: Resource
Input: identificationNumber, loan=false
Output: resourceId, operationCenterId
If System can obtain the Output fields → continue to next step.
If System can’t obtain the Output fields → responds with error. Elaboration is stopped.
STEP 4 - Work Shift Type Retrieval
System takes Input fields and extract the Work Shift typeId.
If System can obtain the Output fields → continue to next step.
If System can’t obtain the Output fields → responds with error. Elaboration is stopped.
STEP 5 - Work Shift Creation
If operationCenterCode in input is absent, the retrieved resource’s operationCenterId will be used to create the workShift.
System takes Input fields and create a new record.
API Verb: POST
Resource: Work Shift
Input: operationCenterId, resourceId, typeId, day, note
Output: id
If Creation outcome is SUCCESS → elaboration is stopped. See Response payload fields.
If Creation outcome is ERROR → elaboration is stopped. See Response payload fields.
Error Type:
-
Others - see link in Resource
Path Parameters
Not present.
Query String Parameters
Start with a ? and includes parameters listed one after the another separated by &.
Not applicable.
Header Parameters
Parameters included in the request headers. Generally, request headers are used to keep authorization parameters.
Default.
Request Body Parameters
Request body parameters are used when clients send data to the API. They are shipped in a JSON Object only in POST, PUT, or PATCH requests.
|
Field |
Description |
Mandatory |
Constraint |
|
|---|---|---|---|---|
|
1 |
externalSystemCode |
External system code |
Y |
Not Blank |
|
2 |
operationCenterCode |
Work Shift operation center code |
N |
Null or Not Blank |
|
3 |
typeCode |
Work Shift type code |
Y |
Not Blank |
|
4 |
identificationNumber |
Resource identification number |
Y |
Not Blank |
|
5 |
day |
Work Shift day |
Y |
Not Null |
|
6 |
note |
Note |
N |
|
The objects in input could have also the extension object that allows to add additional, customized data to this API. More info here How to use APIs: Custom data via Extension.
Request example
{
"extension": {
"myFieldName": "myValue"
},
"externalSystemCode": "string",
"typeCode": "string",
"identificationNumber": "string",
"operationCenterCode": "string",
"note": "string",
"day": "2024-04-17T00:00:00.000Z"
}
Response documentation
Response payload fields
Compliant with RFC Standard https://www.rfc-editor.org/rfc/rfc9457.html
Extension fields:
|
Field |
Description |
Note |
|---|---|---|
|
id |
Created instance id |
Only for SUCCESS |
|
code |
Extension member of a Problem Details Object that contains the error code |
Only for ERROR |
Response example
Error example
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"detail": "External system string does not exist",
"instance": "/integration/workforce/r1/work-shifts",
"code": "IA001_001"
}