Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Beskrivning
Hanterar data kopplad till personer som arbetar eller verkar inom organisationen Sundsvalls kommun eller kommunala bolag.
Detta baserat på anställning i Heroma eller att användarkonto skapats manuellt vilket är processen för externa resurser som inte är anställda. Det kan även förekomma för anställda att man får konto skapat manuellt, dels då det historiskt inte alltid skapades användarkonton för t.ex. timvikarier (vilket det gör sedan hösten 2021) men även då alla anställningsformer inte läses in i Metakatalogen och därmed inte får konto genererat.
Beroende på nyttjad end-point i Employee så skiljer sig omfattningen/datakällan åt och är enligt nedan:
Samtliga end-points i Employee, undantaget
'employee/employments'
är baserade på att man har konto och kontoinformation i Metakatalogen. Kontot kan ha skapats automatiskt baserat på en viss anställning (bl.a. s.k. förmånsgrupp) i Heroma* men även manuellt.End-pointen
'employee/employments'
är däremot enbart en spegling av anställningsinformationen från Heroma*. En person kan ha flera anställningar vid en viss given tidpunkt t.ex. vara tjänstledig för studier men samtidigt arbeta extra i en annan verksamhet. Det är också vanligt att timvikarier har anställningar i flera verksamheter samtidigt.
*Heroma kommer vara det gemensamma HR systemet för kommunkoncernen, vissa av bolagen nyttjar ännu egna HR system, dessa föder också Metakatalogen på samma sätt. Planen är att alla bolag ska ha gått över till Heroma som HR system under 2022.
Livscykelstatus
Under utveckling
Lösningsbeskrivning
Gliffy | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Hantering av personuppgifter
Uppgifter så som namn, adress, telefonnummer och e-post hanteras av API:et då det är nödvändigt för att arbetsgivaren ska kunna jobba med bland annat löneärenden, HR-ärenden eller andra ärenden mellan arbetsgivare och arbetstagare. Data används även för access till olika system som används inom organisationen.
API specifikation
Hämta information om nyanställningar
Exempelanrop:
GET
/api/1.0/employee/employments
Om anropet görs helt utan parameterar så hämtar nya/förändrade anställning från alla bolag de senaste 7 dagarna.
Parametrar skickas som en queryparameter formaterad som en JSON-sträng.
/api/1.0/employee/employments?filter={"CompanyId":1,"ShowOnlyNewEmployees":true}
Parametrar:
Parameter | Förklaring |
---|---|
CompanyId | Numeriskt värde (int16). 1=SK, Se FOCompany för värdelista. Kan anges som array Om denna parameter utelämnas visas alla bolag |
HireDateFrom | Startintervall för anställningsdatum. Anges som helt datum utan tid. Ex:”2021-06-01”. Om denna utelämnas visas de senaste sju (7) dagarana. |
HireDateTo | Slutintervall för anställningsdatum. Anges som helt datum utan tid. Ex: “2021-06-14” |
IsManual | Filtrerar på “vanliga” eller “manuella” anställningar. Värdet kan vara 0/false eller 1/true Om denna är 0/false så visas bara “vanliga” anställningar. Om den är 1/true visas bara “manuella” anställningar. Om den utelämnas visas alla anställningar |
ShowOnlyNewEmployees | Filtrerar ut nyanställningar. D.v.s. personer som fått sin första anställning på bolaget. Kallas ibland för “Joiners” eller “New hires”. Om värdet är 1/true så visas bara joiners Om värdet är 0/false ELLER om parametern utlämnas så vissas både joinsers och personer med förändringar i tjänstern. |
PersonId | Guid som är nyckel för en person. Om denna parameter skickas in kommer enbart en (1) person att returneras. |
Exempel på parametrar:
Filter (?filter=…) | Resultat |
---|---|
'{"CompanyId":1,"ShowOnlyNewEmployees":true}' | Visar nyanställda i bolag 1 (SK) de senaste sju dagarana |
'{"CompanyId":1,"ShowOnlyNewEmployees":true,"HireDateFrom":"2021-06-01"}' | Visar nyanställda i bolag 1 från den 1/6 till dags dato |
'{"CompanyId":[8,9],"ShowOnlyNewEmployees":true,"HireDateFrom":"2021-06-01"}' | Visar nyanställda i bolag 8 & 9 [8,9] från den 1/6 till dags dato |
'{"CompanyId":[1,14,17],"IsManual":true,"HireDateFrom":"2021-06-05","HireDateFrom":"2021-06-10"}' | Visar nya och förändrade manuella anställningar i bolag 1,14 & 17 för peridoen 5/6-10/6 |
‘{“PersonId”:”C53801E1-D185-4967-92F4-EBE735DE85B7”}’ | Hämtar alla anställningar för angiven person |
Expand | ||
---|---|---|
| ||
Kommer snart |
Swagger ui | ||||||
---|---|---|---|---|---|---|
| -test
|
paths:
/employments:
get:
parameters:
- name: filter
in: query
required: false
style: form
explode: true
schema:
type: string
responses:
'200':
description: ok
'/employed/{personalNumber}/loginname':
get:
tags:
- Employee
parameters:
- name: personalNumber
in: path
required: true
style: simple
explode: false
schema:
type: string
nullable: true
responses:
'200':
description: Success
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/LoginName'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LoginName'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/LoginName'
'/portalpersondata/{email}':
get:
tags:
- Employee
parameters:
- name: email
in: path
required: true
style: simple
explode: false
schema:
type: string
format: string
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/PortalPersonData'
application/json:
schema:
$ref: '#/components/schemas/PortalPersonData'
text/json:
schema:
$ref: '#/components/schemas/PortalPersonData'
'/portalpersondata/{domain}/{loginName}':
get:
tags:
- Employee
parameters:
- name: domain
in: path
required: true
style: simple
explode: false
schema:
type: string
nullable: true
- name: loginName
in: path
required: true
style: simple
explode: false
schema:
type: string
nullable: true
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/PortalPersonData'
application/json:
schema:
$ref: '#/components/schemas/PortalPersonData'
text/json:
schema:
$ref: '#/components/schemas/PortalPersonData'
security:
- ApiKeyAuth: []
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: apikey
schemas:
PortalPersonData:
type: object
properties:
personid:
type: string
format: uuid
givenname:
type: string
nullable: true
lastname:
type: string
nullable: true
fullname:
type: string
nullable: true
address:
type: string
nullable: true
postalCode:
type: string
nullable: true
city:
type: string
nullable: true
workPhone:
type: string
nullable: true
mobilePhone:
type: string
nullable: true
extraMobilePhone:
type: string
nullable: true
AboutMe:
type: string
nullable: true
email:
type: string
nullable: true
mailNickname:
type: string
nullable: true
company:
type: string
nullable: true
companyId:
type: integer
format: int32
orgTree:
type: string
nullable: true
referenceNumber:
type: string
nullable: true
additionalProperties: false
LoginName:
type: object
properties:
domain:
type: string
nullable: true
loginName:
type: string
nullable: true
additionalProperties: false
| ||||
Säkerhetsklassning
Säkerhetsklass 2
Autentiseringsmetod: Oauth2
(Ref: Säkerhetsklassning av APIer )
API-ägare
<Kontaktuppgifter till den verksamhet som äger APIets livscykel>
Teknisk ägare
https://sundsvall.atlassian.net/wiki/spaces/META
För tekniska frågor: joel.lindberg@sundsvall.se, marcus@xpservices.se
Länkar
<Länkar till dev-portal;
Test
Sandbox
Produktion>
FAQ
<FAQ>