Import průchodů

Z Prirucky

Import průchodů je Rozšíření aplikace (KS docházka (Rozšíření aplikace))., které umožňuje importovat data z docházkových, nebo přístupových systémů třetích stran do modulu Docházka v aplikaci KS Portál.

Způsob importu průchodů závisí na verzi KS Docházky:

  • KS Docházka (starší verze)
    • Využívá webovou službu dostupnou v aplikaci KS Portál.
    • Import probíhá přes protokol SOAP.
    • Rozšíření: Import průchodů
  • KS Docházka 2024 (novější verze)
    • Využívá webovou službu aplikačního serveru.
    • Podporuje import přes protokoly SOAP i REST.
    • Rozšíření: Import průchodů SOAP/REST - Nová

Lze využít v případě, že jsou k dispozici informace o průchodech zaměstnanců přes nějaký terminál nebo turniket a k takto získaným datům nelze přistupovat z plnohodnotného docházkového systému. Pokud tedy nelze data pro mzdy připravit jinak, je možné je naimportovat do modulu Docházka v aplikaci KS portál, kde s nimi lze pracovat jako s běžným docházkovým systémem.

Import průchodů pro - KS Docházka (starší verze)

Nastavení

  • Aktivace rozšíření.
  • Následně je potřeba do web.configu do appsettings doplnit klíč WsAuthKey, jako hodnotu zadejte dostatečně dlouhý bezpečný řetězec. Tato hodnota musí být předávána v autentizační SOAP hlavičce s názvem AuthKeyHeader, a to při každém požadavku o zápis průchodu.
  • Pokud bude aktivní rozšíření, popis služby lze získat přes odkaz v KS portále
[rootKSportalu]/webservices/dchpruchody.asmx?op=PruchodVloz
  • V struktuře předávaných dat jsou důležité následující položky
OsCislo - Osobní číslo zaměstnance
Kod - Kód dopovídající číselníku docházkových kódů
Cas - DateTime
  • Pokud při zápisu dojde k chybě tak ta je vrácena s kódem a popisem chyby (popis dále).

SOAP 1.1

Následuje ukázkový požadavek a odpověď SOAP 1.1. Uvedené zástupce je třeba nahradit skutečnými hodnotami.

POST /ksportal/webservices/dchpruchody.asmx HTTP/1.1
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "ksprtl/WebServices/PruchodVloz"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org /soap/envelope/">
 <soap:Header>
   <AuthKeyHeader xmlns="ksprtl/WebServices">
     <AuthKey>string</AuthKey>
   </AuthKeyHeader>
 </soap:Header>
 <soap:Body>
   <PruchodVloz xmlns="ksprtl/WebServices">
     <pr>
       <OsCislo>decimal</OsCislo>
       <CisloPom>short</CisloPom>
       <Kod>int</Kod>
       <Prac_str>string</Prac_str>
       <Cas>dateTime</Cas>
       <Doba>string</Doba>
       <Kodprst>string</Kodprst>
       <Sazba>decimal</Sazba>
       <Castka>decimal</Castka>
       <C_pole1>string</C_pole1>
       <C_pole2>string</C_pole2>
       <N_pole1>long</N_pole1>
       <N_pole2>long</N_pole2>
       <Poznamka>string</Poznamka>
     </pr>
   </PruchodVloz>
 </soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org /soap/envelope/">
 <soap:Body>
   <PruchodVlozResponse xmlns="ksprtl/WebServices">
     <PruchodVlozResult>
       <ErrorCode>int</ErrorCode>
       <ErrorString>string</ErrorString>
     </PruchodVlozResult>
   </PruchodVlozResponse>
 </soap:Body>
</soap:Envelope>

SOAP 1.2

Následuje ukázkový požadavek a odpověď SOAP 1.2. Uvedené zástupce je třeba nahradit skutečnými hodnotami.

POST /ksportal/webservices/dchpruchody.asmx HTTP/1.1
Host: localhost
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap- envelope">
 <soap12:Header>
   <AuthKeyHeader xmlns="ksprtl/WebServices">
     <AuthKey>string</AuthKey>
   </AuthKeyHeader>
 </soap12:Header>
 <soap12:Body>
   <PruchodVloz xmlns="ksprtl/WebServices">
     <pr>
       <OsCislo>decimal</OsCislo>
       <CisloPom>short</CisloPom>
       <Kod>int</Kod>
       <Prac_str>string</Prac_str>
       <Cas>dateTime</Cas>
       <Doba>string</Doba>
       <Kodprst>string</Kodprst>
       <Sazba>decimal</Sazba>
       <Castka>decimal</Castka>
       <C_pole1>string</C_pole1>
       <C_pole2>string</C_pole2>
       <N_pole1>long</N_pole1>
       <N_pole2>long</N_pole2>
       <Poznamka>string</Poznamka>
     </pr>
   </PruchodVloz>
 </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
 <soap12:Body>
   <PruchodVlozResponse xmlns="ksprtl/WebServices">
     <PruchodVlozResult>
       <ErrorCode>int</ErrorCode>
       <ErrorString>string</ErrorString>
     </PruchodVlozResult>
   </PruchodVlozResponse>
 </soap12:Body>
</soap12:Envelope>

Import průchodů pro - KS Docházka 2024 (novější verze)

Umožňuje synchronizovat data prostřednictvím KSweb API (SOAP/REST) uložená v aplikaci KS mzdý PROFI z evidence zaměstnanců, pracovních poměrů a číselníku středisek do libovolných připojených terminálů. Dále se pak data z průchodových terminálů přenáší zpět do modulu Docházka v aplikaci KS portál.

POZOR: Tato funkcionalita vyžaduje nainstalovanou a spuštěnou aplikaci server KS-AS. Před aktivací této funkcionality ověřte, že aplikace server je funkční. Pokud aplikace není nainstalována nebo nefunguje správně, stáhněte si nejnovější instalační balíček instalátor utility (MapSetup.exe) a nainstalujte jej na stejný server jako je instalována aplikace KS mzdý PROFI nebo jej stáhněte z ftp://ftp.ksprogram.cz/download/

Položky

Údaj Datový typ Povinné pole Význam
IdZaznamu integer Ne Jednoznačná identifikace záznamu v externím systému.
OsCislo decimal(10,0) Ano Osobní číslo zaměstnance.
CisloPom smallint Ne Číslo pracovního poměru.
Kod char(10) Ano Docházkový kód externího systému.
Cas char(17) Ano Datum a čas ve formátu yyyy-MM-dd hhmmss.
NazevZarizeni char(50) Ne Název zařízení externího systému.

Příklad

REST

curl -X POST https://example.com/api/rest/ImportPruchodu \
  -H "Content-Type: text/plain" \
  -d '{
    "IdZaznamu": 123,
    "OsCislo": 4567890123,
    "CisloPom": 1,
    "Kod": "ABC123",
    "Cas": "2025-03-11 105844",
    "NazevZarizeni": "Externí zařízení"
  }'

SOAP

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:web="http://KSProgram/KSAsServer/WebService" xmlns:ksp="http://schemas.datacontract.org/2004/07/KSProgram.AS.WCF">
    <soap:Header/>
    <soap:Body>
      <web:InsertData>
        <web:aParam>
          <ksp:DataValidationOnly>false</ksp:DataValidationOnly>
          <ksp:ItemGroup>ImportPruchodu</ksp:ItemGroup>
          <ksp:Items></ksp:Items>
          <ksp:JsonChangeData>[{
            "IdZaznamu": 123,
            "OsCislo": 4567890123,
            "CisloPom": 1,
            "Kod": "ABC123",
            "Cas": "2025-03-11 105844",
            "NazevZarizeni": "Externí zařízení"
          }]</ksp:JsonChangeData>
          <ksp:JsonOptions></ksp:JsonOptions>
          <ksp:JsonSearchCriteria></ksp:JsonSearchCriteria>
        </web:aParam>
      </web:InsertData>
    </soap:Body>
  </soap:Envelope>

Odkazy