API

Public API

Informacje ogólne o Comarch TNA API

Usługa Comarch TNA umożliwia integrację z zewnętrznymi systemami za pośrednictwem dedykowanego API, udostępniającego szereg pomocnych funkcjonalności. Komunikacja odbywa się przez wymianę obiektów JSON i zabezpieczona jest szyfrowanym protokołem HTTPS.

Możliwości dotyczące zarządzania pracownikami:

  • pobieranie listy pracowników
  • dodanie nowego pracownika
  • edycja danych pracownika
  • usunięcie pracownika
  • pobranie danych o pracowniku

Możliwości dotyczące zarządzania czasem pracy pracownika:

  • sprawdzenie aktualnej obecności pracownika
  • sprawdzenie historii wejść/wyjść

Aktywacja API

W celu aktywacji dostępu do API Comarch TNA wymagane jest wygenerowanie klucza dostępu dedykowanego dla usługi. W celu uzyskania takiego klucza należy wykonać następujące kroki:

  1. Logowanie do usługi na stronie https://tna.comarch.com.
  2. Przejście do sekcji "Narzędzia → API".
  3. Uruchomienie przycisku "Wygeneruj".
  4. Zapisanie identyfikatora klucza oraz samego klucza na potrzeby autoryzacji integrującej się usługi.

OAuth 2.0

Generowanie tokenu

Aplikacja kliencka generuje token wysyłając zapytanie (POST) do serwera autoryzującego z swoim identyfikatorem (client_id) oraz kluczem (secret):
https://tna.comarch.com/api/oauth/token

Zapytanie składa się z następujących nagłówków:

NazwaDozwolone wartościWymaganyOpis
Content-Typeapplication/x-www-form-urlencodedTak 
AuthorizationBasic [client_id:client_secret]TakWartość nagłówka Authorization musi być zakodowana w Base64 np. Basic U2ltcGxlQ2xpZW50SWQ6c2VjcmV0

Zapytanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
grant_typetextparamclient_credentialsTakMetoda autoryzacji

Przykładowe żądanie:

POST /oauth/token HTTP/1.1
Host: tna.comarch.com
Content-Type: application/x-www-form-urlencoded
Authorization: Basic U2ltcGxlQ2xpZW50SWQ6c2VjcmV0

grant_type=client_credentials

Przykładowa odpowiedź:

 {
"access_token": "2f1591a7-8202-4f90-b942-9e13a5ad4a14",
"token_type": "bearer",
"expires_in": 43090,
"scope": "EMPLOYEE_HISTORY_MANAGEMENT EMPLOYEE_MANAGEMENT"
}

Public API - 1.2.0

Zarządzanie czasem pracy pracownika

API Comarch TNA umożliwia wykonanie następujących operacji związanych z zarządzaniem czasem pracy pracowników:

  • Sprawdzenie aktualnej obecności pracownika
  • Sprawdzenie historii wejść/wyjść

 

Sprawdzenie aktualnej obecności pracownika

W celu pobrania aktualnej obecności pracownika należy przesłać żądanie (GET) na adres:

https://tna.comarch.com/api/v1/history/{userHash}/presence

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
userSubscriptionHashtextURL TakIdentyfikator subskrypcji użytkownika do usunięcia. Zwracany na liście pracowników

Przykładowe żądanie:

https://tna.comarch.com/api/v1/history/5279a47d-eb21-448d-8cbc-fe51adbde2ed/presence

Zwracane dane:

NazwaTypDozwolone wartościWymaganyOpis
presencebool Taktrue - jeżeli użytkownik jest obecny w pracy, w przeciwnym wypadku false

Przykładowa odpowiedź:

{ "presence":true }

Sprawdzenie historii wejść/wyjść

W celu pobrania historii wejść/wyść pracownika należy przesłać żądanie (GET) na adres:

https://tna.comarch.com/api/v1/history/{userHash}

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
userSubscriptionHashtextURL TakIdentyfikator subskrypcji użytkownika do usunięcia. Zwracany na liście pracowników
fromdateURL GETData ISO-8601NieData minimalna do pobrania wejść/wyjść od początku wskazanego dnia
tilldateURL GETData ISO-8601NieData maksymalna do pobrania wejść/wyjść do końca wskazanego dnia

Przykładowe żądanie:

https://tna.comarch.com/api/v1/history/5279a47d-eb21-448d-8cbc-fe51adbde2ed?from=2018-06-15&till=2018-06-20

Zwracane dane:

NazwaTypDozwolone wartościWymaganyOpis
timestamplong TakCzas aktywności użytkownika w formie EPOCH TIME
directiontextIN, OUTTakInformacja o rodzaju aktywności - wejście/wyjście
entry.descriptiontext TakNazwa bramki
entry.building.descriptiontext TakNazwa lokalizacji

Przykładowa odpowiedź:

[
{
"timestamp": 1528903571,
"direction": "IN",
"entry": {
"description": "D3.6",
"building": {
"description": "SSE 4"
}
}
},
{
"timestamp": 1528903590,
"direction": "OUT",
"entry": {
"description": "D3.6",
"building": {
"description": "SSE 4"
}
}
}
]

Zarządzanie pracownikami

API Comarch TNA umożliwia wykonanie następujących operacji związanych z zarządzaniem pracownikami:

  • Pobieranie listy pracowników
  • Dodanie nowego pracownika
  • Edycja danych pracownika
  • Usunięcie pracownika
  • Pobranie danych o pracowniku

Pobieranie listy pracowników

W celu pobrania listy pracowników dostępnych w usłudze należy przesłać żądanie (GET) na adres:

https://tna.comarch.com/api/v1/users

Przykładowe żądanie:

https://tna.comarch.com/api/v1/users

Zwracane dane (lista obiektów):

NazwaTypDozwolone wartościWymaganyOpis

userHash

text TakIdentyfikator subskrypcji użytkownika
nameAndLastnametext TakImię i nazwisko
langtextpl, de, fr, en, esTakJęzyk
statetextACTIVE, INACTIVETakStan subskrypcji
userSubscriptionTimestampint TakCzas włączenia subskrypcji w formie EPOCH TIME
emailtext TakAdres e-mail
userTypetextuser, employee, companyTakTyp użytkownika

Przykładowa odpowiedź:

[
 {
  "userHash": "5b0d6089-cfb2-47ee-892d-d7406ea0cb6f",
  "lang": "pl",
  "state": "INACTIVE",
  "userSubscriptionTimestamp": 1529917237926,
  "email": "jan.kowalski@tna.comarch.pl",
  "userType": "user",
  "nameAndLastname": "Jan Kowalski"
 },
 {
  "userHash": "j65ffi9z9p",
  "lang": "pl",
  "state": "ACTIVE",
  "userSubscriptionTimestamp": 1519992991242,
  "email": "anna.nowak@tna.comarch.pl",
  "userType": "employee",
  "nameAndLastname": "Anna Nowak"
 }
]

Dodanie nowego pracownika

W celu dodania do listy pracowników nowego pracownika należy przesłać żądanie (POST) na adres:

https://tna.comarch.com/api/v1/users

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
emailtextBODY TakAdres e-mail logowania
nameAndLastnametextBODY NieImię i nazwisko. Jeśli nie podane użyta zostanie część pola email przed znakiem "@"
languagetextBODY

pl, de, fr, en, es

TakJęzyk komunikacji z użytkownikiem

Przykładowe żądanie:

{
 "email":"jan.nowak@tna.comarch.com",
 "nameAndLastname":"Jan Nowak",
 "language":"pl"
}

Przykładowa odpowiedź:

{
  "userHash": "2w091r86vw",
  "nameAndLastname": "Public Api",
  "lang": "pl",
 "state": "INACTIVE",
 "createTimestamp": 1649055678456,
 "email": null,
 "userType": null
}

Edycja danych pracownika

W celu aktualizacji danych o pracowniku należy przesłać żądanie (PUT) na adres:

https://tna.comarch.com/api/v1/users/{userHash}

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
userHashtextURL TakIdentyfikator subskrypcji użytkownika do edycji. Zwracany na liście pracowników
nametextBODY TakImię i nazwisko do aktualizacji dla pracownika

Przykładowe żądanie:

{
 "name":"Jan Kowalski"
}

Odpowiedź nie zawiera dodatkowych informacji. Zwracany jest status HTTP 200 OK

 

Usunięcie pracownika

W celu usunięcia pracownika należy przesłać żądanie (DELETE) na adres:

https://tna.comarch.com/api/v1/users/{userHash}

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
userHash
textURL TakIdentyfikator subskrypcji użytkownika do usunięcia. Zwracany na liście pracowników

Przykładowe żądanie:

https://tna.comarch.com/api/v1/users/5279a47d

Odpowiedź nie zawiera dodatkowych informacji. Zwracany jest status HTTP 200 OK

 

Pobranie danych o pracowniku

W celu aktualizacji danych o pracowniku należy przesłać żądanie (GET) na adres:

https://tna.comarch.com/api/v1/users/{userHash}

Przykładowe żądanie:

https://tna.comarch.com/api/v1/users/5279a47d

Zwracane dane:

NazwaTypDozwolone wartościWymaganyOpis

userHash

text TakIdentyfikator subskrypcji użytkownika
nameAndLastnametext TakImię i nazwisko
langtext TakJęzyk
statetextACTIVE, INACTIVETakStan subskrypcji
userSubscriptionTimestampint TakCzas włączenia subskrypcji w formie EPOCH TIME
emailtext TakAdres e-mail
userTypetextuser, employee, companyTakTyp

Przykładowa odpowiedź:

{
 "userHash": "5b0d6089-cfb2-47ee-892d-d7406ea0cb6f",
 "lang": "pl",
 "state": "INACTIVE",
 "userSubscriptionTimestamp": 1529917237926,
 "email": "jan.kowalski@tna.comarch.pl",
 "userType": "user",
 "nameAndLastname": "Jan Kowalski"
}

Public API - 2.0.0

Powiadomienia

W celu wysłania powiadomienia push dla użytkownika należy przesłać żądanie (POST) wraz z nagłówkiem Authorization zawierającym token dla TNA-PUBLIC-API na adres:
https://tna.comarch.com/api/v2/users/{userHash}/notifications/push

Przykładowe żądanie:

 {
  "title":"Title of the message",
  "message":"This is a message",
  "rawBody":"This is a rawBody"
 }

Odpowiedź nie zawiera dodatkowych informacji. Zwracany jest status HTTP 201 Created.

Token dla powiadomień

Generowanie tokenu do autoryzacji w serwerze TNA-EVENTS jest możliwe poprzez wysłanie żądania (POST) wraz z nagłówkiem Authorization zawierającym token dla TNA-PUBLIC-API na adres:
https://tna.comarch.com/api/v2/events/tokens

Przykładowa odpowiedź:

 {
  "token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
  "eventsService": {
   "host": "https://tna.comarch.com",
   "path": "/api/v2/events/scans/socket.io"
   }
 }

Zarządzanie pracownikami

Pobieranie listy pracowników

W celu pobrania listy pracowników dostępnych w usłudze należy przesłać żądanie (GET) na adres:

https://tna.comarch.com/api/v2/users

Przykładowe żądanie:

https://tna.comarch.com/api/v2/users

Zwracane dane (lista obiektów):

NazwaTypDozwolone wartościWymaganyOpis

userHash

text TakIdentyfikator subskrypcji użytkownika
nameAndLastnametext TakImię i nazwisko
langtextpl, de, fr, en, esTakJęzyk
statetextACTIVE, INACTIVETakStan subskrypcji
userSubscriptionTimestampint TakCzas włączenia subskrypcji w formie EPOCH TIME
emailtext TakAdres e-mail
userTypetextuser, employee, companyTakTyp użytkownika

Przykładowa odpowiedź:

[
 {
  "userHash": "5b0d6089-cfb2-47ee-892d-d7406ea0cb6f",
  "lang": "pl",
  "state": "INACTIVE",
  "userSubscriptionTimestamp": 1529917237926,
  "email": "jan.kowalski@tna.comarch.pl",
  "userType": "user",
  "nameAndLastname": "Jan Kowalski"
 },
 {
  "userHash": "j65ffi9z9p",
  "lang": "pl",
  "state": "ACTIVE",
  "userSubscriptionTimestamp": 1519992991242,
  "email": "anna.nowak@tna.comarch.pl",
  "userType": "employee",
  "nameAndLastname": "Anna Nowak"
 }
]

Dodanie nowego pracownika

W celu dodania do listy pracowników nowego pracownika należy przesłać żądanie (POST) na adres:

https://tna.comarch.com/api/v2/users

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
emailtextBODY TakAdres e-mail logowania
nameAndLastnametextBODY NieImię i nazwisko. Jeśli nie podane użyta zostanie część pola email przed znakiem "@"
languagetextBODY

pl, de, fr, en, es

TakJęzyk komunikacji z użytkownikiem
settings.timeTypeTimeTypeBODY

GROSS, NET, GROSS_NET, NONE

TakUstawienia wyświetlania czasu pracy użytkownika

Przykładowe żądanie:

{
  "email":"jan.nowak@tna.comarch.com",
  "nameAndLastname":"Jan Nowak",
  "language":"pl",
 "settings": {
  "timeType":"GROSS"
 }
}

Przykładowa odpowiedź:

{
  "userHash": "2w091r86vw",
  "nameAndLastname": "Public Api",
  "lang": "pl",
 "state": "INACTIVE",
 "createTimestamp": 1649055678456,
 "email": null,
 "userType": null
}

Edycja danych pracownika

W celu aktualizacji danych o pracowniku należy przesłać żądanie (PUT) na adres:

https://tna.comarch.com/api/v2/users/{userHash}

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
userHashtextURL TakIdentyfikator subskrypcji użytkownika do edycji. Zwracany na liście pracowników
nametextBODY TakImię i nazwisko do aktualizacji dla pracownika

Przykładowe żądanie:

{
 "name":"Jan Kowalski"
}

Odpowiedź nie zawiera dodatkowych informacji. Zwracany jest status HTTP 200 OK

 

Usunięcie pracownika

W celu usunięcia pracownika należy przesłać żądanie (DELETE) na adres:

https://tna.comarch.com/api/v2/users/{userHash}

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
userHashtextURL TakIdentyfikator subskrypcji użytkownika do usunięcia. Zwracany na liście pracowników

Przykładowe żądanie:

https://tna.comarch.com/api/v2/users/5279a47d

Odpowiedź nie zawiera dodatkowych informacji. Zwracany jest status HTTP 200 OK

 

Pobranie danych o pracowniku

W celu aktualizacji danych o pracowniku należy przesłać żądanie (GET) na adres:

https://tna.comarch.com/api/v2/users/{userHash}

Przykładowe żądanie:

https://tna.comarch.com/api/v2/users/5279a47d

Zwracane dane:

NazwaTypDozwolone wartościWymaganyOpis

userHash

text TakIdentyfikator subskrypcji użytkownika
nameAndLastnametext TakImię i nazwisko
langtext TakJęzyk
statetextACTIVE, INACTIVETakStan subskrypcji
userSubscriptionTimestampint TakCzas włączenia subskrypcji w formie EPOCH TIME
emailtext TakAdres e-mail
userTypetextuser, employee, companyTakTyp

Przykładowa odpowiedź:

{
 "userHash": "5b0d6089-cfb2-47ee-892d-d7406ea0cb6f",
 "lang": "pl",
 "state": "INACTIVE",
 "userSubscriptionTimestamp": 1529917237926,
 "email": "jan.kowalski@tna.comarch.pl",
 "userType": "user",
 "nameAndLastname": "Jan Kowalski"
}

 

Pobieranie historii wejść/wyjść pracowników

W celu pobrania historii wejść/wyść pracowników należy przesłać żądanie (GET) wraz z nagłówkiem Authorization zawierającym token dla TNA-PUBLIC-API na adres:
https://tna.comarch.com/api/v2/history

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościWymaganyOpis
fromdateURL GETData ISO-8601NieData minimalna do pobrania wejść/wyjść od początku wskazanego dnia
tilldateURL GETData ISO-8601NieData maksymalna do pobrania wejść/wyjść do końca wskazanego dnia
pagelongparam NieNumer strony
pagelongparam NieNumer strony
sizelongparam NieRozmiar strony

Przykładowe żądanie:

https://tna.comarch.com/api/v2/history?from=2018-06-15&till=2018-06-20&page=3&size=2

Zwracane dane:

NazwaTypDozwolone wartościOpis
valuearray TakTablica obiektów z wejściami/wyjściami pracowników
userHashtext TakIdentyfikator pracownika
scansarray TakTablica wejść/wyjść pracownika
timestamplong TakCzas aktywności użytkownika w formie EPOCH TIME
directiontextIN, OUTTakInformacja o rodzaju aktywności - wejście/wyjście
entry.descriptiontext TakNazwa bramki
entry.building.descriptiontext TakNazwa lokalizacji
page.totalElementslong TakLiczba wszystkich elementów
page.totalPageslong TakLiczba stron
page.sizelong TakRozmiar strony
page.numberlong TakNumer strony
page.firstboolean TakCzy pierwsza strona
page.lastboolean TakCzy ostatnia strona
page.numberOfElementslong TakLiczba elementów na stronie

Przykładowa odpowiedź:

 {
  "value":[
    {
     "userHash":"0h70az3t2s",
     "scans":[
     {
      "timestamp": 1528903571,
      "direction": "IN",
     "entry": {
       "description": "D3.6",
       "building": {
       "description": "SSE 4"
    }
   }
   },
   {
   "timestamp": 1528903590,
   "direction": "OUT",
   "entry": {
    "description": "D3.6",
    "building": {
     "description": "SSE 4"
    }
   }
  }
  ]
 },
  {
   "userHash":"nm64xc6483",
    "scans":[
     {
     "timestamp": 1528903590,
     "direction": "IN",
     "entry": {
      "description": "D3.6",
     "building": {
      "description": "SSE 4"
     }
    }
   }
  ]
 },
  "page":{
   "totalElements": 16,
   "totalPages": 8,
   "size": 2,
   "number": 3,
   "first": false,
   "last": false,
   "numberOfElements": 2
  }
 }

Pobieranie szczegółowego raportu obecności pracownika

W celu pobrania raportu z podziałem na dni pracowników należy przesłać żądanie (GET) na adres:
https://tna.comarch.com/api/v2/reports/users/{userHash}

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościDomyślna wartośćWymaganyOpis
userHashtextPath  Tak 
fromDatedateURL2020-07-01 Tak 
tillDatedateURL2020-07-01 Tak 

Przykładowe żądanie:

https://tna.comarch.com/api/v2/reports/users/w49ww977e9?fromDate=2020-01-01&tillDate=2020-12-31&size=10&page=1

Zwracane dane:

Przykładowa odpowiedź:

 {
  "timeType":"GROSS_NET",
  "userTimeType":"GROSS_NET",
  "subscription":{
   "userHash":"vd0hb1jbvx",
   "name":"Jan Kowalski",
   "email":"test@comarch.pl",
   "etat":{
    "position": "Kierownik",
    "etatNumerator": 1,
    "etatDenominator": 1,
    "fullTimeDailyNorm": 480,
    "type": "DEFAULT",
    "validFrom": "2019-03-19",
   }
  },
   "days": [
   {
    "time": {
     "timeType": "GROSS_NET",
     "grossTime": 29717,
     "netTime": 29717
    },
    "date": "2020-01-01",
    "status": "PRESENCE",
    "workPlan": {
     "workingDay": true,
     "fixedTime": 30600
    },
    "in": "08:45:08",
    "out": "17:00:25",
    "balance": -883,
    "lateness": false
   },
   {…}
  ],
  "summary": {
   "workTime": 29717,
   "notEqualizedWorkTime": 0,
   "month": 12,
   "workedDays": 1,
   "differentDays": 0,
   "workPlanTime": 30600,
   "balance": -883,
   "notEqualizedBalance": -883,
   "workTimeGross": 29717,
   "workTimeNet": 29717,
   "notEqualizedWorkTimeGross": 0,
   "notEqualizedWorkTimeNet": 0
  }
 },

Pobieranie ogólnego raportu obecności pracownika

W celu pobrania raportu z podsumowaniem czasu pracy pracownika należy przesłać żądanie (GET) na adres:
https://tna.comarch.com/api/v2/reports/users/{userHash}/summary

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościDomyślna wartośćWymaganyOpis
userHashtextPath  Tak 
fromDatedateURL2020-07-01 Tak 
tillDatedateURL2020-07-01 Tak 

Przykładowe żądanie:

https://tna.comarch.com/api/v2/reports/users/w49ww977e9/summary?fromDate=2020-01-01&tillDate=2020-12-31&size=10&page=1

Zwracane dane:

Przykładowa odpowiedź:

 {
  "timeType":"GROSS_NET",
  "userTimeType":"GROSS_NET",
  "subscription":{
   "userHash":"vd0hb1jbvx",
   "name":"Jan Kowalski",
   "email":"test@comarch.pl",
   "etat":{
    "position": "Kierownik",
    "etatNumerator": 1,
    "etatDenominator": 1,
    "fullTimeDailyNorm": 480,
    "type": "DEFAULT",
    "validFrom": "2019-03-19",
   }
  },
   "months": [
   {
    "workTime": 612000,
    "notEqualizedWorkTime": 0,
    "month": 12,
    "workedDays": 20,
    "differentDays": 0,
    "workPlanTime": 612000,
    "balance": 0,
    "notEqualizedBalance": 0,
    "workTimeGross": 612000,
    "workTimeNet": 612000,
    "notEqualizedWorkTimeGross": 0,
    "notEqualizedWorkTimeNet": 0
   },
   {…}
  ],
  "summary": {
   "workTime": 612000,
   "notEqualizedWorkTime": 0,
   "workedDays": 20,
   "differentDays": 0,
   "workPlanTime": 612000,
   "balance": 0,
   "notEqualizedBalance": 0,
   "workTimeGross": 612000,
   "workTimeNet": 612000,
   "notEqualizedWorkTimeGross": 0,
   "notEqualizedWorkTimeNet": 0
  }
 },

Pobieranie ogólnego raportu obecności pracownika

W celu pobrania raportu z podziałem na dni pracowników należy przesłać żądanie (GET) na adres:
https://tna.comarch.com/api/v2/reports

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościDomyślna wartośćWymaganyOpis
datedatePath2020-01-01 Tak 
sizeintURL 20Nie 
pageintURL 0Nie 
searchtextURL    
includeArchivalboolURLtrue, falsefalsenieDołącza do raportu użytkowników archiwalnych

Przykładowe żądanie:

https://tna.comarch.com/api/v2/reports?date=2020-01-01

Zwracane dane:

Przykładowa odpowiedź:

 {
  "content":[
   {
     "timeType":"GROSS_NET",
     "userTimeType":"GROSS",
     "subscription":{
      "userHash":"y518uam23d",
      "name":"Jan Kowalski",
      "email":"test@comarch.pl",
      "archival": false,
      "etat":{
       "position": "Kierownik",
       "etatNumerator": 1,
       "etatDenominator": 1,
       "fullTimeDailyNorm": 480,
       "validFrom": "2019-03-18",
      }
     },
   "days": [
     {
       "time":{
        "timeType": "GROSS_NET",
        "grossTime": 29717,
        "netTime": 29717
       },
       "date": "2020-01-01",
       "status": "PRESENCE",
       "workPlan": {
        "workingDay": true,
        "fixedTime": 30600
       },
       "in": "08:45:08",
       "out": "17:00:25",
       "balance": -883,
       "lateness": false
     }
    ]
   }
  },
  "last": false,
  "totalElements": 89,
  "totalPages": 89,
  "sort": [
   {
    "direction": "ASC",
    "property": "name"
   }
  ],
  "numberOfElements": 1,
  "first": true,
  "size": 1,
  "number": 0
 },

Pobieranie ogólnego raportu obecności pracownika

W celu pobrania raportu z podsumowaniem czasu pracy pracowników należy przesłać żądanie (GET) na adres:
https://tna.comarch.com/api/v2/reports/summary

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościDomyślna wartośćWymaganyOpis
datedatePath2020-01-01 Tak 
sizeintURL 20Nie 
pageintURL 0Nie 
searchtextURL    
includeArchivalboolURLtrue, falsefalsenieDołącza do raportu użytkowników archiwalnych

Przykładowe żądanie:

https://tna.comarch.com/api/v2/reports/summary ?fromDate=2020-01-01&tillDate=2020-09-30

Zwracane dane:

Przykładowa odpowiedź:

 {
  "content":[
   {
     "timeType":"GROSS_NET",
     "userTimeType":"GROSS",
     "subscription":{
      "userHash":"rxw7q52krm",
      "name":"Jan Kowalski",
      "email":"test@comarch.pl",
      "archival": false,
      "etat":{
       "position": "Kierownik",
       "etatNumerator": 1,
       "etatDenominator": 1,
       "fullTimeDailyNorm": 480,
       "type": "DEFAULT",
       "validFrom": "2018-08-10",
      }
     },
     "summary": {
       "time":{
       "workTime": 185126,
       "month": 1,
       "workedDays": 5,
       "differentDays": 1,
       "workPlanTime": 5844600,
       "balance": -5659474,
       "workTimeGross": 185126,
       "workTimeNet": 185126
     }
   },
   {...}
  },
  "totalElements": 89,
  "last": false,
  "totalPages": 9,
  "sort": [
   {
    "direction": "ASC",
    "property": "name"
    "ignoreCase": false,
    "nullHandling": "NATIVE",
    "ascending": true
   }
  ],
  "first": true,
  "numberOfElements": 10,
  "size": 10,
  "number": 0
 },

Typy wyliczeniowe

api/v2/presences

type:

LEAVE_ON_DEMAND,Urlop na żądania
VACATION,Urlop wypoczynkowy
SICK_LEAVE,Zwolnienie chorobowe
SPECIAL_LEAVE, 
OFFICIAL_TRIP,Delegacja
MANUALLY_ADDED,Obecność zgłoszona ręcznie
OTHER_CIRCUMSTANCES, 
TRAINING,Szkolenie
OTHER,Inne
HOME_OFFICE,Praca zdalna
OPTIMA_E_NIEOBECNOSC,
OPTIMA_INNA_NIEOBECNOSC,
OPTIMA_NIEOBECNOSC_USPRAWIEDLIWIONA,
OPTIMA_NIEOBECNOSC_NIEUSPRAWIEDLIWIONA,
OPTIMA_SLUZBA_WOJSKOWA,
OPTIMA_URLOP_BEZPLATNY_111,
OPTIMA_URLOP_BEZPLATNY_112,
OPTIMA_URLOP_MACIERZYNSKI,
OPTIMA_URLOP_MACIERZYNSKI_DODATKOWY,
OPTIMA_URLOP_OJCOWSKI,
OPTIMA_URLOP_OKOLICZNOSCIOWY,
OPTIMA_URLOP_OPIEKUNCZY_ZASILEK,
OPTIMA_URLOP_OPIEKUNCZY_188_2DNI,
OPTIMA_URLOP_OPIEKUNCZY_188_2DNIGODZ,
OPTIMA_URLOP_REHABILITACYJNY,
OPTIMA_URLOP_REHABILITACYJNY_WYPADEK_PRZY_PRACY,
OPTIMA_URLOP_REHABILITACYJNY_WYPADEK_W_DRODZE,
OPTIMA_URLOP_RODZICIELSKI,
OPTIMA_URLOP_SZKOLENIOWY,
OPTIMA_URLOP_WYCHOWAWCZY_121,
OPTIMA_URLOP_WYCHOWAWCZY_122,
OPTIMA_URLOP_WYPOCZYNKOWY,
OPTIMA_URLOP_WYPOCZYNKOWY_PLAN,
OPTIMA_URLOP_WYPOCZYNKOWY_TYMCZASOWY,
OPTIMA_ZWOLNIENIE_CHOROBOWE,
 

 

presenceStatus:

ACCEPTEDZaakceptowany
WAITINGNowy/oczekujący
ACCEPTED_AUTOMATICALLYZaakceptowany automatycznie
ACCEPTED_CORRECTEDZaakceptowany poprawiony
REJECTEDOdrzucony
CANCELEDAnulowany
REMOVEDUsunięty

 

api/v2/delegations

type:

DOMESTICKrajowa
FOREIGNZagraniczna

 

Status:

NEWNowa
REJECTEDOdrzucona
ACCEPTEDZaakceptowana
FOR_SETTLEMENTDo rozliczenia
SETTLEDRozliczona
CANCELEDAnulowana

 

modeOfTransportation:

PRIVATE_CARSamochód prywatny
COMPANY_CARSamochód służbowy
PLANESamolot
TRAINPociąg
BUSAutobus
TAXITaksówka
PUBLIC_TRANSPORTTransport publiczny
OTHERInne

 

api/v2/reports

status:

WORKING_DAY,Dzień pracujący
HOLIDAY,Święto
EMPTY,Brak planu pracy
DAY_OFF,Dzień wolny
PRESENCE,Obecność
UNEXCUSED_ABSENCE,Nieobecność
  
LEAVE_ON_DEMAND,Urlop na żądania
VACATION,Urlop wypoczynkowy
SICK_LEAVE,Zwolnienie chorobowe
SPECIAL_LEAVE, 
OFFICIAL_TRIP,Delegacja
MANUALLY_ADDED,Obecność zgłoszona ręcznie
OTHER_CIRCUMSTANCES, 
TRAINING,Szkolenie
OTHER,Inne
HOME_OFFICE,Praca zdalna
OPTIMA_E_NIEOBECNOSC,
OPTIMA_INNA_NIEOBECNOSC,
OPTIMA_NIEOBECNOSC_USPRAWIEDLIWIONA,
OPTIMA_NIEOBECNOSC_NIEUSPRAWIEDLIWIONA,
OPTIMA_SLUZBA_WOJSKOWA,
OPTIMA_URLOP_BEZPLATNY_111,
OPTIMA_URLOP_BEZPLATNY_112,
OPTIMA_URLOP_MACIERZYNSKI,
OPTIMA_URLOP_MACIERZYNSKI_DODATKOWY,
OPTIMA_URLOP_OJCOWSKI,
OPTIMA_URLOP_OKOLICZNOSCIOWY,
OPTIMA_URLOP_OPIEKUNCZY_ZASILEK,
OPTIMA_URLOP_OPIEKUNCZY_188_2DNI,
OPTIMA_URLOP_OPIEKUNCZY_188_2DNIGODZ,
OPTIMA_URLOP_REHABILITACYJNY,
OPTIMA_URLOP_REHABILITACYJNY_WYPADEK_PRZY_PRACY,
OPTIMA_URLOP_REHABILITACYJNY_WYPADEK_W_DRODZE,
OPTIMA_URLOP_RODZICIELSKI,
OPTIMA_URLOP_SZKOLENIOWY,
OPTIMA_URLOP_WYCHOWAWCZY_121,
OPTIMA_URLOP_WYCHOWAWCZY_122,
OPTIMA_URLOP_WYPOCZYNKOWY,
OPTIMA_URLOP_WYPOCZYNKOWY_PLAN,
OPTIMA_URLOP_WYPOCZYNKOWY_TYMCZASOWY,
OPTIMA_ZWOLNIENIE_CHOROBOWE,

Zgłoszenia pracowników

Pobieranie listy zgłoszeń pracowników

W celu pobrania listy delegacji pracownika należy przesłać żądanie (GET) na adres:
https://tna.comarch.com/api/v2/presences

Żądanie składa się z następujących parametrów:

NazwaTypDozwolone wartościDomyślna wartośćWymaganyOpis
fromDatedate2020-07-01 Tak 
tillDatedate2020-07-01 Tak 
typetextPresenceType Nie 
excludeTypetextPresenceType Nie 
statustextPresenceStatus Nie 
excludeStatustextPresenceStatus Nie 
sizeint 20Nie 
pageint 0Nie 

Przykładowe żądanie:

https://tna.comarch.com/api/v2/presences?fromDate=2020-01-01&tillDate=2020-12-31&size=10&page=1

Zwracane dane (strona obiektów):

Przykładowa odpowiedź:

 {
  "content":[
   {
    "subscription": {
     "userHash": "o29hhutr9c",
     "name": "Jan Kowalski",
     "email": "test@comarch.pl",
     "etat": {
      "position": "Kierownik",
      "etatNumerator": 1,
      "etatDenominator": 1,
      "fullTimeDailyNorm": 480,
      "type": "DEFAULT",
      "validFrom": "2020-06-25"
     }
    },
    "dates": [
    "2020-10-01"
     ],
    "type": "VACATION",
    "presenceStatus": "WAITING",
    "hash": "62mvsid33fgpr8ntr4ga1n87s9",
    "from": "2020-10-01",
    "to": "2020-10-01",
    "createDateTime": "2020-10-01T12:35:02.887"
     },
    {…}
   ],
  "totalElements": 9,
  "totalPages": 5,
  "last": false,
  "size": 2,
  "number": 0,
  "sort": [
   {
    "direction": "DESC",
    "property": "date"
    "ignoreCase": false,
    "nullHandling": "NATIVE",
    "ascending": false
   }
   {
    "direction": "ASC",
    "property": "nameAndLastName",
    "ignoreCase": false,
    "nullHandling": "NATIVE",
    "ascending": true
   }
  ],
  "numberOfElements": 2,
  "first": true
 }

Pobieranie listy zgłoszeń pracowników

W celu pobrania listy delegacji pracownika należy przesłać żądanie (GET) na adres:
https://tna.comarch.com/api/v2/presences/users/{userHash}

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościDomyślna wartośćWymaganyOpis
userHashtextPath  Tak 
fromDatedateURL2020-07-01 Tak 
tillDatedateURL2020-07-01 Tak 
typetextURLPresenceType Nie 
excludeTypetextURLPresenceType Nie 
statustextURLPresenceStatus Nie 
excludeStatustextURLPresenceStatus Nie 
sizeintURL 20Nie 
pageintURL 0Nie 

Przykładowe żądanie:

https://tna.comarch.com/api/v2/presences/users/o29hhutr9c?fromDate=2020-01-01&tillDate=2020-12-31&size=10&page=1

Zwracane dane (strona obiektów):

Przykładowa odpowiedź:

 {
  "content":[
   {
    "subscription": {
     "userHash": "o29hhutr9c",
     "name": "Jan Kowalski",
     "email": "test@comarch.pl",
     "etat": {
      "position": "Kierownik",
      "etatNumerator": 1,
      "etatDenominator": 1,
      "fullTimeDailyNorm": 480,
      "type": "DEFAULT",
      "validFrom": "2020-06-25"
     }
    },
    "dates": [
    "2020-10-01"
     ],
    "type": "VACATION",
    "presenceStatus": "WAITING",
    "hash": "62mvsid33fgpr8ntr4ga1n87s9",
    "from": "2020-10-01",
    "to": "2020-10-01",
    "createDateTime": "2020-10-01T12:35:02.887"
     },
    {…}
   ],
  "totalElements": 9,
  "totalPages": 5,
  "last": false,
  "size": 2,
  "number": 0,
  "sort": [
   {
    "direction": "DESC",
    "property": "date"
    "ignoreCase": false,
    "nullHandling": "NATIVE",
    "ascending": false
   }
   {
    "direction": "ASC",
    "property": "nameAndLastName",
    "ignoreCase": false,
    "nullHandling": "NATIVE",
    "ascending": true
   }
  ],
  "numberOfElements": 2,
  "first": true
 }

Pobieranie listy delegacji pracowników

W celu pobrania listy delegacji pracownika należy przesłać żądanie (GET) na adres:
https://tna.comarch.com/api/v2/delegations

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościDomyślna wartośćWymaganyOpis
fromDatedateURL2020-07-01 Tak 
tillDatedateURL2020-07-01 Tak 
statustextURLDelegationStatus Nie 
sizeintURL 20Nie 
pageintURL 0Nie 

Przykładowe żądanie:

https://tna.comarch.com/api/v2/delegations?fromDate=2020-01-01&tillDate=2020-12-31&size=10&page=1

Zwracane dane (strona obiektów):

Przykładowa odpowiedź:

 {
  "content":[
   {
    "hash": "trgi7g3gc2sbddkcj5fm56lorh",
    "subscription": {
     "userHash": "w49ww977e9",
     "name": "Jan Kowalski",
     "email": "test@comarch.pl",
     "etat": {
      "position": "Kierownik",
      "etatNumerator": 1,
      "etatDenominator": 1,
      "fullTimeDailyNorm": 480,
      "type": "DEFAULT",
      "validFrom": "2020-08-01"
     }
    },
    "reportingPerson": {
     "userHash": "w49ww977e9",
     "name": " Jan Kowalski"
    },
    "from": "2018-08-01",
    "to": "2018-08-01",
    "type": "DOMESTIC",
    "remark": "komentarz",
    "modeOfTransportation": "PRIVATE_CAR",
    "address": "Kraków",
    "createDateTime": "2017-08-07T10:16:00.514Z",
    "status": "NEW"
     },
    {…}
   ],
  "totalElements": 90,
  "last": false,
  "totalPages": 90,
  "size": 10,
  "number": 0,
  "sort": null,
  "numberOfElements": 1,
  "first": true
 }

Pobieranie listy delegacji pracowników

W celu pobrania listy delegacji pracownika należy przesłać żądanie (GET) na adres:
https://tna.comarch.com/api/v2/delegations/users/{userHash}

Żądanie składa się z następujących parametrów:

NazwaTypFormaDozwolone wartościDomyślna wartośćWymaganyOpis
userHashtextPath  Tak 
fromDatedateURL2020-07-01 Tak 
tillDatedateURL2020-07-01 Tak 
statustextURLDelegationStatus Nie 
sizeintURL 20Nie 
pageintURL 0Nie 

Przykładowe żądanie:

https://tna.comarch.com/api/v2/delegations/users/w49ww977e9?fromDate=2020-01-01&tillDate=2020-12-31&size=10&page=1

Zwracane dane (strona obiektów):

Przykładowa odpowiedź:

 {
  "content":[
   {
    "hash": "trgi7g3gc2sbddkcj5fm56lorh",
    "subscription": {
     "userHash": "w49ww977e9",
     "name": "Jan Kowalski",
     "email": "test@comarch.pl",
     "etat": {
      "position": "Kierownik",
      "etatNumerator": 1,
      "etatDenominator": 1,
      "fullTimeDailyNorm": 480,
      "type": "DEFAULT",
      "validFrom": "2020-08-01"
     }
    },
    "reportingPerson": {
     "userHash": "w49ww977e9",
     "name": " Jan Kowalski"
    },
    "from": "2018-08-01",
    "to": "2018-08-01",
    "type": "DOMESTIC",
    "remark": "komentarz",
    "modeOfTransportation": "PRIVATE_CAR",
    "address": "Kraków",
    "createDateTime": "2017-08-07T10:16:00.514Z",
    "status": "WAITING"
     },
    {…}
   ],
  "totalElements": 90,
  "last": false,
  "totalPages": 90,
  "size": 10,
  "number": 0,
  "sort": null,
  "numberOfElements": 1,
  "first": true
 }


Comarch SA
al. Jana Pawła II 39a
31-864 Kraków
kontakt@tna.comarch.com
Telefon: 12 681 43 00  wew. 3*
*w dni robocze 9:00 – 17:00

Wypróbuj aplikacje
Comarch TNA
na swoim smartfonie
Copyright Comarch SA 2024

Comarch SA
al. Jana Pawła II 39a
31-864 Kraków
kontakt@tna.comarch.com
Telefon: 12 681 43 00  wew. 3*
*w dni robocze 9:00 – 17:00

Wypróbuj aplikacje Comarch TNA na swoim smartfonie
Copyright Comarch SA 2024
crossmenuchevron-down