API Dokumentace
Integrujte Docházka.net s vašimi systémy pomocí našeho RESTful API
Úvod
Docházka.net API umožňuje programový přístup k vašim docházkovým datům.
Base URL
https://api.dochazka.net/v1
Formát dat
API komunikuje výhradně ve formátu JSON. Všechny požadavky musí obsahovat hlavičku:
Content-Type: application/json
Autentizace
API používá autentizaci pomocí API klíčů. Klíč získáte v nastavení vašeho účtu.
Použití API klíče
API klíč předávejte v hlavičce každého požadavku:
Authorization: Bearer YOUR_API_KEY
Příklad požadavku
curl -X GET https://api.dochazka.net/v1/users \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json"
Endpointy
Uživatelé
GET /users
- Seznam uživatelů
Vrací seznam všech aktivních uživatelů ve vašem tenantu.
Parametry:
page
(optional) - Číslo stránky (default: 1)per_page
(optional) - Počet záznamů na stránku (default: 50, max: 100)
Odpověď:
{
"users": [
{
"id": 123,
"firstname": "Jan",
"lastname": "Novák",
"email": "jan.novak@firma.cz",
"username": "jnovak",
"is_active": true,
"is_admin": false,
"created_at": "2025-01-01T10:00:00Z"
}
],
"total": 25,
"page": 1,
"per_page": 50
}
GET /users/{id}
- Detail uživatele
Vrací detail konkrétního uživatele.
Odpověď:
{
"id": 123,
"firstname": "Jan",
"lastname": "Novák",
"email": "jan.novak@firma.cz",
"username": "jnovak",
"email_caption": "Jan Novák",
"is_active": true,
"is_admin": false,
"work_hours_per_day": 8,
"created_at": "2025-01-01T10:00:00Z",
"last_login": "2025-01-08T08:30:00Z"
}
POST /users
- Vytvoření uživatele
Vytvoří nového uživatele.
Tělo požadavku:
{
"firstname": "Jan",
"lastname": "Novák",
"email": "jan.novak@firma.cz",
"username": "jnovak",
"password": "bezpecneHeslo123",
"email_caption": "Jan Novák",
"is_admin": false
}
Docházka
GET /attendance
- Seznam záznamů
Vrací seznam docházkových záznamů.
Parametry:
user_id
(optional) - ID uživateledate_from
(optional) - Datum od (YYYY-MM-DD)date_to
(optional) - Datum do (YYYY-MM-DD)type
(optional) - Typ záznamu (arrival/departure)
Odpověď:
{
"records": [
{
"id": 456,
"user_id": 123,
"timestamp": "2025-01-08T08:00:00Z",
"type": "arrival",
"note": "Včasný příchod",
"is_manual": false
}
],
"total": 100
}
POST /attendance
- Přidání záznamu
Vytvoří nový docházkový záznam.
Tělo požadavku:
{
"user_id": 123,
"timestamp": "2025-01-08T08:00:00Z",
"type": "arrival",
"note": "Příchod z API"
}
Směny
GET /shifts
- Seznam směn
Vrací vypočítané směny na základě docházkových záznamů.
Parametry:
user_id
(optional) - ID uživatelemonth
(optional) - Měsíc (1-12)year
(optional) - Rok
Odpověď:
{
"shifts": [
{
"id": 789,
"user_id": 123,
"date": "2025-01-08",
"arrival_time": "2025-01-08T08:00:00Z",
"departure_time": "2025-01-08T16:30:00Z",
"hours_worked": 8.5,
"is_complete": true
}
],
"summary": {
"total_hours": 170,
"total_days": 20,
"average_hours_per_day": 8.5
}
}
Chybové kódy
Kód | Význam | Popis |
---|---|---|
200 |
OK | Požadavek byl úspěšně zpracován |
201 |
Created | Záznam byl úspěšně vytvořen |
400 |
Bad Request | Neplatný požadavek (chybné parametry) |
401 |
Unauthorized | Chybí nebo je neplatný API klíč |
403 |
Forbidden | Nedostatečná oprávnění |
404 |
Not Found | Záznam nenalezen |
429 |
Too Many Requests | Překročen limit požadavků |
500 |
Server Error | Interní chyba serveru |
Formát chybové odpovědi
{
"error": {
"code": 400,
"message": "Invalid request parameters",
"details": {
"field": "date_from",
"error": "Invalid date format"
}
}
}
Limity
Rate limiting
- Business plán: 1000 požadavků za hodinu
- Enterprise plán: 10000 požadavků za hodinu
Aktuální stav limitů je vrácen v hlavičkách odpovědi:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 950
X-RateLimit-Reset: 1641024000
Další omezení
- Maximální velikost požadavku: 10 MB
- Maximální počet záznamů na stránku: 100
- Timeout požadavku: 30 sekund