|
Http Verb |
POST |
|---|---|
|
Url |
/integration/workforce/r1/timesheets/clockings |
|
Permissions required |
Core Additional Parameters: Edit (fsm.core.additionalparameter.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 inserts a Resource Clocking.
System verifies that one of identificationNumber and secondaryIdentificationNumber must be filled.
System verifies Permission Required and starts the elaboration that is organized in steps.
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 - Resource Validation
System takes Input fields and checks their existence in internal configuration.
API Verb: GET
Resource: Resource
Input: identificationNumber OR secondaryIdentificationNumber, loan=false
Output: resourceId
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 - Clocking Type Validation
System takes Input fields and checks their existence in internal configuration.
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 - Clocking Creation
System takes Input fields and creates the entity.
API Verb: POST
Resource: Clockings
Input: resourceId, list of [clockingDate, typeId, registrationDate, note]
Output: Response State
If Response State is SUCCESS → elaboration is stopped. See Response payload fields.
If Response State is ERROR → elaboration is stopped. See Response payload fields.
Error Type:
-
Others - see link in Resource
Path Parameters
As their name suggests, they are included in the URL path of the endpoint.
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 |
identificationNumber |
|
Identification Number of Resource |
N |
Absent or Not Blank |
|
3 |
secondaryIdentificationNumber |
|
Alternative Identification Number of Resource |
N |
Absent or Not Blank |
|
4 |
clockings (minOccurs=1, maxOccurs=N) |
clockingTypeCode |
Clocking Type Code |
Y |
Not Blank |
|
5 |
clockingDate |
Clocking DateTime |
Y |
Not Null |
|
|
6 |
registrationDate |
DateTime of the registration |
N |
Not Null |
|
|
7 |
note |
Clocking 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": "SAP",
"identificationNumber": "A137456",
"secondaryIdentificationNumber": "ALT-98765",
"clockings": [
{
"extension": {
"myFieldName": "myValue"
},
"clockingTypeCode": "I",
"clockingDate": "2026-04-07T08:15:30+02:00",
"registrationDate": "2026-04-07T09:00:00+02:00",
"note": "xxxxxxxx"
}
]
}
Response documentation
Response payload fields
Compliant with RFC Standard https://www.rfc-editor.org/rfc/rfc9457.html
Extension fields:
|
Field |
Description |
Note |
|---|---|---|
|
List of id |
Clocking id list |
Only for SUCCESS |
|
code |
Extension member of a Problem Details Object that contains the error code |
Only for ERROR |
Response example
{
"id": 1581
}
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"detail": "Structure code STR_MAIN does not exist",
"instance": "/integration/territory/organizational-structures/r1/operation-centers",
"code": "IA001_001"
}