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
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 domän och inloggningsnamn från personnummer
Exempelanrop:
GET
/api/1.0/employee/employed/{personalNumber}/loginName
Returnerar en lista med domän och inloggningsnamn för person med angivet personnummer.
Svar:
Code Block | ||
---|---|---|
| ||
[ { "domain": "string", "loginName": "string" } ] |
Hämta information om person från användarnamn
Exempelanrop:
GET
/api/1.0/employee/portalpersondata/{domain}/{loginName}
Returnerar information om person utifrån domän (domain
t.ex. ‘PERSONAL’) och användarnamn ( loginName
t.ex. 'kat11tla').
Svar:
Code Block | ||
---|---|---|
| ||
{ "personid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "givenname": "string", "lastname": "string", "fullname": "string", "address": "string", "postalCode": "string", "city": "string", "workPhone": "string", "mobilePhone": "string", "extraMobilePhone": "string", "aboutMe": "string", "email": "string", "mailNickname": "string", "company": "string", "companyId": 0, "orgTree": "string", "referenceNumber": "string" } |
Hämta information om person från e-post
Exempelanrop:
GET
/api/1.0/employee/portalpersondata/{email}
Returnerar information om person utifrån e-post (email
t.ex robin.robinsson@sundsvall.se).
Svar:
Code Block | ||
---|---|---|
| ||
{ "personid": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "givenname": "string", "lastname": "string", "fullname": "string", "address": "string", "postalCode": "string", "city": "string", "workPhone": "string", "mobilePhone": "string", "extraMobilePhone": "string", "aboutMe": "string", "email": "string", "mailNickname": "string", "company": "string", "companyId": 0, "orgTree": "string", "referenceNumber": "string" } |
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 |
---|
openapi: 3.0.1
info:
title: Employee
version: '1.0'
servers:
- url: https://api-test.sundsvall.se/employee/1.0
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>