NextGen APIs

POST /integration/workforce/r1/work-shifts

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

diagram (16).svg

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.

Error Type:

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.

Error Type:

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.

Error Type:

STEP 4 - Work Shift Type Retrieval

System takes Input fields and extract the Work Shift typeId.

API Verb: GET

Resource: Work Shift Type

Input: typeCode, active=true

Output: 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.

Error Type:

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

JSON
{
    "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

JSON
{
  "type": "about:blank",
  "title": "Not Found",
  "status": 404,
  "detail": "External system string does not exist",
  "instance": "/integration/workforce/r1/work-shifts",
  "code": "IA001_001"
}

Response error codes