|
Http Verb |
GET |
|---|---|
|
Url |
/integration/workforce/r1/resource-skills |
|
Permissions required |
Resource Configuration: View (fsm.core.resource.configuration.view)) |
|
Last Modified Version |
r1 |
|
Tech Tags |
MULTILANGUAGE-FIELDS |
|
Available Async |
No |
BPMN Diagram
Business Logic
This Integration API returns the relationship between a Resource and its Skills.
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 Existence
System takes Input fields and checks their existence in internal configuration.
API Verb: GET
Resource: Resources
Input: identificationNumber, secondaryIdentificationNumber, loan=false
Output: resourceId, name, surname, email, mobilePhone, identificationNumber, identificationNumber2, 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 - Operation Center Retrieval
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 - Skill Existence
System takes Input fields and checks their existence in internal configuration.
This step is skipped if skillId in input fields is absent.
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 - Resource Skill Relationship Existence
System takes Input fields and checks their existence in internal configuration.
API Verb: GET
Resource: Resources/{resourceId}/skills
Input: resourceId, skillId (if present)
Output: skillId
If System can obtain the Output fields → continue to next step.
If System can’t obtain the Output fields → elaboration is stopped. See Response payload fields
Error Type:
-
Others - see link in Resource
STEP 6 - Skills Retrieval
System takes Input fields and checks their existence in internal configuration.
API Verb: GET
Resource: Skills
Input: list of [skillId], active=true
Output: list of [code, description]
If System can obtain the Output fields → elaboration is stopped. See Response payload fields (it is possible to have in response an empty array)
If System can’t obtain the Output fields → 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 applicable.
Query String Parameters
Start with a ? and includes parameters listed one after the another separated by &.
Filter
|
Field |
Description |
Mandatory |
Constraint |
|
|---|---|---|---|---|
|
1 |
_page |
Object for pagination |
N |
Null or Not Blank |
|
2 |
_language |
Language option for the response. It supports the following values: - ALL: Request the server to return every possible translation of the response data. - USER |
N |
Null or Not Blank |
|
3 |
_exclude |
Allows to specify a subset of data that need to be excluded from the response |
N |
Null or Not Blank |
|
4 |
_fields |
Allows to specify a subset of data that need to be returned |
N |
Null or Not Blank |
|
5 |
externalSystemCode |
External system code |
Y |
Not Blank |
|
6 |
identificationNumber |
Identification Number of resoruce |
N |
Null or Not Blank |
|
7 |
secondaryIdentificationNumber |
Secondary Identification Number of resource |
N |
Null or Not Blank |
|
8 |
skillCode |
Skill Code |
N |
Null or Not Blank |
Fields
The parameter _fields allows to choose output fields. More info here How to use APIs: Output fields selection.
Header Parameters
Parameters included in the request headers. Generally, request headers are used to keep authorization parameters.
Default.
Request example
{baseUrl}/integration/workforce/r1/resource-skills?externalSystemCode=SAP&identificationNumber=MI0030
Response documentation
Response payload fields
|
|
Field |
Field Type |
Description |
|
|---|---|---|---|---|
|
1 |
|
name |
|
First name of the resource |
|
2 |
|
surname |
|
Surname of the resource |
|
3 |
|
|
|
E-mail address of the resource |
|
4 |
|
mobilePhone |
|
Phone number of the resource |
|
5 |
|
identificationNumber |
|
Identification Number of the resource |
|
6 |
|
secondaryIdentificationNumber |
|
Alternative Identification Number of the resource |
|
7 |
|
operationCenter |
Operation Center of the resource |
|
|
8 |
skill |
code |
|
Skill Code |
|
9 |
description |
|
Skill Description |
operationCenterObject
|
Field |
Description |
|
|---|---|---|
|
1 |
code |
Code |
|
2 |
description |
Description |
Compliant with RFC Standard https://www.rfc-editor.org/rfc/rfc9457.html
Extension fields:
|
Field |
Description |
Note |
|---|---|---|
|
code |
Extension member of a Problem Details Object that contains the error code |
Only for ERROR |
Response example
{
"extension": {},
"resource":{
"extension": {},
"name": "John",
"surname": "Doe",
"email": "john.doe@example.com",
"mobilePhone": "+123456789",
"identificationNumber": "JD3681",
"identificationNumber2": "JD3681",
"operationCenter": {
"extension": {},
"code": "OC61",
"description": [
{
"lang": "en",
"value": "Metro OC"
}
]
}
},
"skills": [
{
"extension": {},
"code": "SK1",
"description": "SKILL1"
},
{
"extension": {},
"code": "SK2",
"description": "SKILL2"
}
]
}
Error example
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"detail": "External system string does not exist",
"instance": "/integration/workforce/r1/resource-skills",
"code": "IA001_001"
}