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:
Możliwości dotyczące zarządzania czasem pracy pracownika:
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:
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:
Nazwa | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|
Content-Type | application/x-www-form-urlencoded | Tak | |
Authorization | Basic [client_id:client_secret] | Tak | Wartość nagłówka Authorization musi być zakodowana w Base64 np. Basic U2ltcGxlQ2xpZW50SWQ6c2VjcmV0 |
Zapytanie składa się z następujących parametrów:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
grant_type | text | param | client_credentials | Tak | Metoda 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"
}
API Comarch TNA umożliwia wykonanie następujących operacji związanych z zarządzaniem czasem pracy pracowników:
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:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
userSubscriptionHash | text | URL | Tak | Identyfikator 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:
Nazwa | Typ | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|
presence | bool | Tak | true - 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:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
userSubscriptionHash | text | URL | Tak | Identyfikator subskrypcji użytkownika do usunięcia. Zwracany na liście pracowników | |
from | date | URL GET | Data ISO-8601 | Nie | Data minimalna do pobrania wejść/wyjść od początku wskazanego dnia |
till | date | URL GET | Data ISO-8601 | Nie | Data 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:
Nazwa | Typ | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|
timestamp | long | Tak | Czas aktywności użytkownika w formie EPOCH TIME | |
direction | text | IN, OUT | Tak | Informacja o rodzaju aktywności - wejście/wyjście |
entry.description | text | Tak | Nazwa bramki | |
entry.building.description | text | Tak | Nazwa 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"
}
}
}
]
API Comarch TNA umożliwia wykonanie następujących operacji związanych z zarządzaniem 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/v1/users
Przykładowe żądanie:
https://tna.comarch.com/api/v1/users
Zwracane dane (lista obiektów):
Nazwa | Typ | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|
userHash | text | Tak | Identyfikator subskrypcji użytkownika | |
nameAndLastname | text | Tak | Imię i nazwisko | |
lang | text | pl, de, fr, en, es | Tak | Język |
state | text | ACTIVE, INACTIVE | Tak | Stan subskrypcji |
userSubscriptionTimestamp | int | Tak | Czas włączenia subskrypcji w formie EPOCH TIME | |
text | Tak | Adres e-mail | ||
userType | text | user, employee, company | Tak | Typ 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:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
text | BODY | Tak | Adres e-mail logowania | ||
nameAndLastname | text | BODY | Nie | Imię i nazwisko. Jeśli nie podane użyta zostanie część pola email przed znakiem "@" | |
language | text | BODY | pl, de, fr, en, es | Tak | Ję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:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
userHash | text | URL | Tak | Identyfikator subskrypcji użytkownika do edycji. Zwracany na liście pracowników | |
name | text | BODY | Tak | Imię 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:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
userHash | text | URL | Tak | Identyfikator 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:
Nazwa | Typ | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|
userHash | text | Tak | Identyfikator subskrypcji użytkownika | |
nameAndLastname | text | Tak | Imię i nazwisko | |
lang | text | Tak | Język | |
state | text | ACTIVE, INACTIVE | Tak | Stan subskrypcji |
userSubscriptionTimestamp | int | Tak | Czas włączenia subskrypcji w formie EPOCH TIME | |
text | Tak | Adres e-mail | ||
userType | text | user, employee, company | Tak | Typ |
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"
}
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"
}
}
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):
Nazwa | Typ | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|
userHash | text | Tak | Identyfikator subskrypcji użytkownika | |
nameAndLastname | text | Tak | Imię i nazwisko | |
lang | text | pl, de, fr, en, es | Tak | Język |
state | text | ACTIVE, INACTIVE | Tak | Stan subskrypcji |
userSubscriptionTimestamp | int | Tak | Czas włączenia subskrypcji w formie EPOCH TIME | |
text | Tak | Adres e-mail | ||
userType | text | user, employee, company | Tak | Typ 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:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
text | BODY | Tak | Adres e-mail logowania | ||
nameAndLastname | text | BODY | Nie | Imię i nazwisko. Jeśli nie podane użyta zostanie część pola email przed znakiem "@" | |
language | text | BODY | pl, de, fr, en, es | Tak | Język komunikacji z użytkownikiem |
settings.timeType | TimeType | BODY | GROSS, NET, GROSS_NET, NONE | Tak | Ustawienia 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:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
userHash | text | URL | Tak | Identyfikator subskrypcji użytkownika do edycji. Zwracany na liście pracowników | |
name | text | BODY | Tak | Imię 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:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
userHash | text | URL | Tak | Identyfikator 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:
Nazwa | Typ | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|
userHash | text | Tak | Identyfikator subskrypcji użytkownika | |
nameAndLastname | text | Tak | Imię i nazwisko | |
lang | text | Tak | Język | |
state | text | ACTIVE, INACTIVE | Tak | Stan subskrypcji |
userSubscriptionTimestamp | int | Tak | Czas włączenia subskrypcji w formie EPOCH TIME | |
text | Tak | Adres e-mail | ||
userType | text | user, employee, company | Tak | Typ |
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:
Nazwa | Typ | Forma | Dozwolone wartości | Wymagany | Opis |
---|---|---|---|---|---|
from | date | URL GET | Data ISO-8601 | Nie | Data minimalna do pobrania wejść/wyjść od początku wskazanego dnia |
till | date | URL GET | Data ISO-8601 | Nie | Data maksymalna do pobrania wejść/wyjść do końca wskazanego dnia |
page | long | param | Nie | Numer strony | |
page | long | param | Nie | Numer strony | |
size | long | param | Nie | Rozmiar 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:
Nazwa | Typ | Dozwolone wartości | Opis | |
---|---|---|---|---|
value | array | Tak | Tablica obiektów z wejściami/wyjściami pracowników | |
userHash | text | Tak | Identyfikator pracownika | |
scans | array | Tak | Tablica wejść/wyjść pracownika | |
timestamp | long | Tak | Czas aktywności użytkownika w formie EPOCH TIME | |
direction | text | IN, OUT | Tak | Informacja o rodzaju aktywności - wejście/wyjście |
entry.description | text | Tak | Nazwa bramki | |
entry.building.description | text | Tak | Nazwa lokalizacji | |
page.totalElements | long | Tak | Liczba wszystkich elementów | |
page.totalPages | long | Tak | Liczba stron | |
page.size | long | Tak | Rozmiar strony | |
page.number | long | Tak | Numer strony | |
page.first | boolean | Tak | Czy pierwsza strona | |
page.last | boolean | Tak | Czy ostatnia strona | |
page.numberOfElements | long | Tak | Liczba 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:
Nazwa | Typ | Forma | Dozwolone wartości | Domyślna wartość | Wymagany | Opis |
---|---|---|---|---|---|---|
userHash | text | Path | Tak | |||
fromDate | date | URL | 2020-07-01 | Tak | ||
tillDate | date | URL | 2020-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:
Nazwa | Typ | Forma | Dozwolone wartości | Domyślna wartość | Wymagany | Opis |
---|---|---|---|---|---|---|
userHash | text | Path | Tak | |||
fromDate | date | URL | 2020-07-01 | Tak | ||
tillDate | date | URL | 2020-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:
Nazwa | Typ | Forma | Dozwolone wartości | Domyślna wartość | Wymagany | Opis |
---|---|---|---|---|---|---|
date | date | Path | 2020-01-01 | Tak | ||
size | int | URL | 20 | Nie | ||
page | int | URL | 0 | Nie | ||
search | text | URL | ||||
includeArchival | bool | URL | true, false | false | nie | Dołą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:
Nazwa | Typ | Forma | Dozwolone wartości | Domyślna wartość | Wymagany | Opis |
---|---|---|---|---|---|---|
date | date | Path | 2020-01-01 | Tak | ||
size | int | URL | 20 | Nie | ||
page | int | URL | 0 | Nie | ||
search | text | URL | ||||
includeArchival | bool | URL | true, false | false | nie | Dołą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:
ACCEPTED | Zaakceptowany |
WAITING | Nowy/oczekujący |
ACCEPTED_AUTOMATICALLY | Zaakceptowany automatycznie |
ACCEPTED_CORRECTED | Zaakceptowany poprawiony |
REJECTED | Odrzucony |
CANCELED | Anulowany |
REMOVED | Usunięty |
api/v2/delegations
type:
DOMESTIC | Krajowa |
FOREIGN | Zagraniczna |
Status:
NEW | Nowa |
REJECTED | Odrzucona |
ACCEPTED | Zaakceptowana |
FOR_SETTLEMENT | Do rozliczenia |
SETTLED | Rozliczona |
CANCELED | Anulowana |
modeOfTransportation:
PRIVATE_CAR | Samochód prywatny |
COMPANY_CAR | Samochód służbowy |
PLANE | Samolot |
TRAIN | Pociąg |
BUS | Autobus |
TAXI | Taksówka |
PUBLIC_TRANSPORT | Transport publiczny |
OTHER | Inne |
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, |
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:
Nazwa | Typ | Dozwolone wartości | Domyślna wartość | Wymagany | Opis |
---|---|---|---|---|---|
fromDate | date | 2020-07-01 | Tak | ||
tillDate | date | 2020-07-01 | Tak | ||
type | text | PresenceType | Nie | ||
excludeType | text | PresenceType | Nie | ||
status | text | PresenceStatus | Nie | ||
excludeStatus | text | PresenceStatus | Nie | ||
size | int | 20 | Nie | ||
page | int | 0 | Nie |
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:
Nazwa | Typ | Forma | Dozwolone wartości | Domyślna wartość | Wymagany | Opis |
---|---|---|---|---|---|---|
userHash | text | Path | Tak | |||
fromDate | date | URL | 2020-07-01 | Tak | ||
tillDate | date | URL | 2020-07-01 | Tak | ||
type | text | URL | PresenceType | Nie | ||
excludeType | text | URL | PresenceType | Nie | ||
status | text | URL | PresenceStatus | Nie | ||
excludeStatus | text | URL | PresenceStatus | Nie | ||
size | int | URL | 20 | Nie | ||
page | int | URL | 0 | Nie |
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:
Nazwa | Typ | Forma | Dozwolone wartości | Domyślna wartość | Wymagany | Opis |
---|---|---|---|---|---|---|
fromDate | date | URL | 2020-07-01 | Tak | ||
tillDate | date | URL | 2020-07-01 | Tak | ||
status | text | URL | DelegationStatus | Nie | ||
size | int | URL | 20 | Nie | ||
page | int | URL | 0 | Nie |
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:
Nazwa | Typ | Forma | Dozwolone wartości | Domyślna wartość | Wymagany | Opis |
---|---|---|---|---|---|---|
userHash | text | Path | Tak | |||
fromDate | date | URL | 2020-07-01 | Tak | ||
tillDate | date | URL | 2020-07-01 | Tak | ||
status | text | URL | DelegationStatus | Nie | ||
size | int | URL | 20 | Nie | ||
page | int | URL | 0 | Nie |
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
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