Webservice Personalstammdaten Export: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
Keine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
Zeile 1: Zeile 1:
__NOTOC__
Das [[Webservice]] - '''Personalstammdaten Export''' ist eine [[Programmfunktion]] zur Abfrage von Personalstammdaten für einen Zeitbereich.


Ab der Version 2020.20 gibt es die Personalstammdaten Exportschnittstelle auch als Webservice.
Es kann dazu verwendet werden die Personalstammdaten Fremdsystemen zur maschinellen Weiterverarbeitung zur Verfügung zu stellen.


==Aufruf ==
Personal welches mit '''Löschen umschalten''' versteckt wurde ist nicht im Ergebnis enthalten.


http://IP:PORT/GetEmployees?PARAMETER
== Ausgangssituation ==


*IP: Wie im [[ALEX-Config-File]] eingestellt
=== Voraussetzungen ===
*HTTP-Server-PORT: Wie im ALEX-Config-File eingestellt
*PARAMETER:
**"from": Begin-Datum des Datenauszuges Format "DD.MM.YYYY"
**"end": Ende-Datum des Datenauszuges Format "DD.MM.YYYY"


Um die Programmfunktion nutzen zu können


Personal welches mit "Löschen umschalten" versteckt wurde ist nicht im Ergebnis enthalten.
* muss der [[Intern:ALEX-Config-File-AddOns#httpServicePlugins|Webservice-Daemon]] konfiguriert sein.
* muss ein gültiger [[ALEX-Ports#.22httpServer.22_.22port.22_.3D_WebApi-Port|WebApi-Port]] konfiguriert sein.
* muss [[Intern:Webservice_Personalstammdaten_Export_Aktivierung|Bfx.Alex.Model]] als Plugin konfiguriert sein.


===Beispiel===
* kann ein Zertifikat zur [[Verschlüsselung]] verwendet werden.
* kann ein [[Webservice_Authorization|Sicherer Link-Aufruf]] konfiguriert werden.


Personal von 05.12.2017 bis einschließlich 07.12.2017:
Das Webservice stellt dann folgenden Zugriffspfad an der konfigurierten [[ALEX-Ports#Netzwerkadresse_.2B_Port|Webservice-Adresse]] zur Verfügung:
<nowiki>http://localhost:4480/GetEmployees?from=05.12.2017&end=07.12.2017</nowiki>


==Ergebnis==
* <code>/GetEmployees</code>


Tagesinformation im [https://www.json.org/ JSON-Format] UTF8 codiert in der Form:
Der Bediener des Webservice muss mit dem '''HTTP-Protokoll''' und seinen '''Möglichkeiten zur Argumentübertragung'''<ref name="refHTTP1">https://www.w3schools.com/tags/ref_httpmethods.asp</ref><ref name="refHTTP2">https://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Argument%C3%BCbertragung</ref> vertraut sein.


{ "Employees" : [
=== Formatierung der Anfrage ===
{ "EmployeeID" : "string"
, "Surname" : "string"
, "Forename" : "string"
, "DayOfBirth" : "DD.MM.YYYY"
, "EmployeeSignature" : "string"
, "Sex" : "string"
, "MasterAllocation" : "string"
, "EmployeeJobGroup" : "string"
, "EmployeeQualifications" : [ "string" ]
, "EmployeeEmailAddress" : "string"
, "EmployeePhoneNumber" : "string"
, "EmployeeSocialInsurance" : "string"
, "EmployeeStreet" : "string"
, "EmployeeCity" : "string"
, "PostalCode" : "string"
, "ForNation" : "string"
, "EmployeeLastEmployedFrom" : "string"
, "EmployeeLastEmployedTo" : "string"
}
]}
Glossar:


*Employees: Array aller Personen
Die Daten werden dem Webservice '''in der URL kodiert''' als '''GET'''-Argumentübertragung übergeben.
*EmployeeID: Personalnummer
*Surname: Zuname
*Forename: Vorname
*MasterAllocation: Stammplanungseinheit (externes Kennzeichen wie in ALEX angegeben)
* EmployeeJobGroup: Berufsgruppe (externes Kennzeichen wie in ALEX angegeben)
* DayOfBirth: Geburtstag
*EmployeeSignature: Handzeichen
*Sex: Geschlecht
*EmployeeQualifications: Array aller Qualifikationen (externes Kennzeichen wie in ALEX angegeben)
* EmployeeEmailAddress: Email
* EmployeePhoneNumber: Telefonnummer
*EmployeeSocialInsurance: Sozialversicherungsnummer
*EmployeeStreet: Straße
*EmployeeCity: Stadt
*PostalCode: Postleitzahl
*ForNation: Land
*EmployeeLastEmployedFrom: Eintritt
*EmployeeLastEmployedTo: Austritt


== Beispiel==
Ein Datum wird immer als <code>DD.MM.YYYY</code> übertragen.


==== Schema für URL-Kodierung ====
Der [https://de.wikipedia.org/wiki/URL-Encoding Prozent-Encodierte] [https://de.wikipedia.org/wiki/Query-String Query-String] der URL muss folgendes Format haben. Parameter in eckigen Klammern sind optional:
'''/GetEmployees'''
[?from=]
[&end=]
{| class="wikitable"
! Parameter !! Wertebereich !! Beschreibung
|-
| <code>from</code> || Datum || Beginn des abzufragenden Zeitbereichs, falls nicht angegeben '''minus unendlich'''
|-
| <code>end</code> || Datum || Ende des abzufragenden Zeitbereichs, falls nicht angegeben '''plus unendlich'''
|}
=== Formatierung der Ausgabe ===
Personalstammdaten im [https://www.json.org/ JSON-Format] UTF8 codiert. Das JSON-Objekt hat folgendes [https://json-schema.org/ JSON-Schema]:
<div class=" mw-collapsible mw-collapsed" overflow:auto;">
<div>'''JSON-Schema Datei'''</div>
<div class="mw-collapsible-content">
{
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "title": "GetEmployees",
    "description": "format for the GetEmployees-Webservice",
    "type": "object",
    "properties": {
        "Employees": {
            "type": "array",
            "description": "Array der Personen",
            "items": {
                "type": "object",
                "properties": {
                    "EmployeeID": {
                        "type": "string",
                        "description": "Personalnummer"
                    },
                    "Surname": {
                        "type": "string",
                        "description": "Zuname"
                    },
                    "Forename": {
                        "type": "string",
                        "description": "Vorname"
                    },
                    "DayOfBirth": {
                        "type": "string",
                        "description": "Geburtstag"
                    },
                    "EmployeeSignature": {
                        "type": "string",
                        "description": "Handzeichen für Pflegedoku"
                    },
                    "Sex": {
                        "type": "string",
                        "description": "Geschlecht"
                    },
                    "EmployeeJobGroup": {
                        "type": "string",
                        "description": "Berufsgruppe (externe Referenz)"
                    },
                    "MasterAllocation": {
                        "type": "string",
                        "description": "Stammplanungseinheit (externe Referenz)"
                    },
                    "EmployeeQualifications": {
                        "type": "array",
                        "description": "Array der Qualifikationen",
                        "items": {
                            "type": "string",
                            "description": "Qualifikation (externe Referenz)"
                        }
                    },
                    "EmployeeEmailAddress": {
                        "type": "string",
                        "description": "Email"
                    },
                    "EmployeePhoneNumber": {
                        "type": "string",
                        "description": "Telefonnummer"
                    },
                    "EmployeeSocialInsurance": {
                        "type": "string",
                        "description": "Sozialversicherungsnummer"
                    },
                    "EmployeeStreet": {
                        "type": "string",
                        "description": "Straße"
                    },
                    "EmployeeCity": {
                        "type": "string",
                        "description": "Stadt"
                    },
                    "PostalCode": {
                        "type": "string",
                        "description": "Postleitzahl"
                    },
                    "ForNation": {
                        "type": "string",
                        "description": "Land"
                    },
                    "EmployeeLastEmployedFrom": {
                        "type": "string",
                        "description": "Eintritt"
                    },
                    "EmployeeLastEmployedTo": {
                        "type": "string",
                        "description": "Austritt"
                    }
                }
            }
        }
    }
}
</div></div>
== Beispielanfragen ==
{| class="wikitable"
! Beschreibung !! URL
|-
| '''gesamte''' Personalstammdaten || <code>/GetEmployees</code>
|-
| Personalstammdaten von  '''05.12.2017''' bis einschließlich '''07.12.2017'''
|| <code>/GetEmployees?id=20&from=05.12.2017&end=07.12.2017</code>
|-
|}
==Beispielausgabe==
<div class=" mw-collapsible mw-collapsed" overflow:auto;">
<div>'''JSON-Datei einer Ausgabe'''</div>
<div class="mw-collapsible-content">
  {
  {
   "Employees": [
   "Employees": [
Zeile 141: Zeile 236:
   ]
   ]
  }
  }
</div></div>
  [[Kategorie:Schnittstellen]]
 
== Links ==
== Bit Factory interne Zusatzinformationen ==
[[Intern:Webservice_Personalstammdaten_Export_Aktivierung|Aktivierung]]
[[Intern:Webservice_Personalstammdaten_Export_Aktivierung|Aktivierung]]
[[Kategorie:Schnittstellen]]

Version vom 3. Januar 2023, 14:23 Uhr

Das Webservice - Personalstammdaten Export ist eine Programmfunktion zur Abfrage von Personalstammdaten für einen Zeitbereich.

Es kann dazu verwendet werden die Personalstammdaten Fremdsystemen zur maschinellen Weiterverarbeitung zur Verfügung zu stellen.

Personal welches mit Löschen umschalten versteckt wurde ist nicht im Ergebnis enthalten.

Ausgangssituation

Voraussetzungen

Um die Programmfunktion nutzen zu können

Das Webservice stellt dann folgenden Zugriffspfad an der konfigurierten Webservice-Adresse zur Verfügung:

  • /GetEmployees

Der Bediener des Webservice muss mit dem HTTP-Protokoll und seinen Möglichkeiten zur Argumentübertragung[1][2] vertraut sein.

Formatierung der Anfrage

Die Daten werden dem Webservice in der URL kodiert als GET-Argumentübertragung übergeben.

Ein Datum wird immer als DD.MM.YYYY übertragen.

Schema für URL-Kodierung

Der Prozent-Encodierte Query-String der URL muss folgendes Format haben. Parameter in eckigen Klammern sind optional:

/GetEmployees
[?from=]
[&end=]
Parameter Wertebereich Beschreibung
from Datum Beginn des abzufragenden Zeitbereichs, falls nicht angegeben minus unendlich
end Datum Ende des abzufragenden Zeitbereichs, falls nicht angegeben plus unendlich

Formatierung der Ausgabe

Personalstammdaten im JSON-Format UTF8 codiert. Das JSON-Objekt hat folgendes JSON-Schema:

JSON-Schema Datei
{
   "$schema": "https://json-schema.org/draft/2020-12/schema",
   "title": "GetEmployees",
   "description": "format for the GetEmployees-Webservice",
   "type": "object",
   "properties": {
       "Employees": {
           "type": "array",
           "description": "Array der Personen",
           "items": {
               "type": "object",
               "properties": {
                   "EmployeeID": {
                       "type": "string",
                       "description": "Personalnummer"
                   },
                   "Surname": {
                       "type": "string",
                       "description": "Zuname"
                   },
                   "Forename": {
                       "type": "string",
                       "description": "Vorname"
                   },
                   "DayOfBirth": {
                       "type": "string",
                       "description": "Geburtstag"
                   },
                   "EmployeeSignature": {
                       "type": "string",
                       "description": "Handzeichen für Pflegedoku"
                   },
                   "Sex": {
                       "type": "string",
                       "description": "Geschlecht"
                   },
                   "EmployeeJobGroup": {
                       "type": "string",
                       "description": "Berufsgruppe (externe Referenz)"
                   },
                   "MasterAllocation": {
                       "type": "string",
                       "description": "Stammplanungseinheit (externe Referenz)"
                   },
                   "EmployeeQualifications": {
                       "type": "array",
                       "description": "Array der Qualifikationen",
                       "items": {
                           "type": "string",
                           "description": "Qualifikation (externe Referenz)"
                       }
                   },
                   "EmployeeEmailAddress": {
                       "type": "string",
                       "description": "Email"
                   },
                   "EmployeePhoneNumber": {
                       "type": "string",
                       "description": "Telefonnummer"
                   },
                   "EmployeeSocialInsurance": {
                       "type": "string",
                       "description": "Sozialversicherungsnummer"
                   },
                   "EmployeeStreet": {
                       "type": "string",
                       "description": "Straße"
                   },
                   "EmployeeCity": {
                       "type": "string",
                       "description": "Stadt"
                   },
                   "PostalCode": {
                       "type": "string",
                       "description": "Postleitzahl"
                   },
                   "ForNation": {
                       "type": "string",
                       "description": "Land"
                   },
                   "EmployeeLastEmployedFrom": {
                       "type": "string",
                       "description": "Eintritt"
                   },
                   "EmployeeLastEmployedTo": {
                       "type": "string",
                       "description": "Austritt"
                   }
               }
           }
       }
   }
}

Beispielanfragen

Beschreibung URL
gesamte Personalstammdaten /GetEmployees
Personalstammdaten von 05.12.2017 bis einschließlich 07.12.2017 /GetEmployees?id=20&from=05.12.2017&end=07.12.2017

Beispielausgabe

JSON-Datei einer Ausgabe
{
 "Employees": [
   {
     "EmployeeID": "123",
     "Surname": "Mayr",
     "Forename": "Max",
     "DayOfBirth": "01.01.1981",
     "EmployeeSignature": "MYM",
     "Sex": "männlich",
     "MasterAllocation": "S1",
     "EmployeeJobGroup": "Berufsgruppe1",
     "EmployeeQualifications": [
       "SP",
       "V"
     ],
     "EmployeeEmailAddress": "mayr@mail.com",
     "EmployeePhoneNumber": "07252 / 82 68 5",
     "EmployeeSocialInsurance": "1234",
     "EmployeeStreet": "Gleinkergasse 50",
     "EmployeeCity": "Steyr",
     "PostalCode": "4400",
     "ForNation": "Österreich",
     "EmployeeLastEmployedFrom": "01.08.2020",
     "EmployeeLastEmployedTo": "31.12.2099"
   },
   {
     "EmployeeID": "345",
     "Surname": "Huber",
     "Forename": "Franz",
     "DayOfBirth": "01.02.1983",
     "EmployeeSignature": "HUF",
     "Sex": "männlich",
     "MasterAllocation": "S1",
     "EmployeeJobGroup": "Berufsgruppe1",
     "EmployeeQualifications": [
       "SP"
     ],
     "EmployeeEmailAddress": "huber@mail.com",
     "EmployeePhoneNumber": "07252 / 4400 12345",
     "EmployeeSocialInsurance": "4321",
     "EmployeeStreet": "Fischergasse 22",
     "EmployeeCity": "Steyr",
     "PostalCode": "4400",
     "ForNation": "Österreich",
     "EmployeeLastEmployedFrom": "01.08.2020",
     "EmployeeLastEmployedTo": "31.12.2099"
   },
   {
     "EmployeeID": "567",
     "Surname": "Müller",
     "Forename": "Hilde",
     "DayOfBirth": "09.03.1985",
     "EmployeeSignature": "MUH",
     "Sex": "weiblich",
     "MasterAllocation": "S2",
     "EmployeeJobGroup": "Berufsgruppe1",
     "EmployeeQualifications": [
       "V"
     ],
     "EmployeeEmailAddress": "mueller@mail.com",
     "EmployeePhoneNumber": "0732 / 4010 98765",
     "EmployeeSocialInsurance": "9999",
     "EmployeeStreet": "Kirchengasse 57",
     "EmployeeCity": "Linz",
     "PostalCode": "4010",
     "ForNation": "Österreich",
     "EmployeeLastEmployedFrom": "01.08.2020",
     "EmployeeLastEmployedTo": "31.12.2099"
   }
 ]
}

Bit Factory interne Zusatzinformationen

Aktivierung