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
imageAttachmentIdatt234258482
macroIde522667d-c8fd-467c-9b70-042e070d1a37
baseUrlhttps://sundsvall.atlassian.net/wiki
nameassignee
diagramAttachmentIdatt234160214
containerId234160129
timestamp1616360560613

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
languagejson
[ { "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
languagejson
{
  "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
languagejson
{
  "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
titleAPI-nyckel för sandbox-miljö. Klicka på "Authorize" nedan och ange denna nyckel för att testa API:et.
Kommer snart

openapi: 3.0.1 info: title: Employee version: '1.0' servers: - url: -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
Swagger ui
urlhttps://api
.sundsvall.se/employee/1.0
/api-docs

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>