API Dokumentace

Integrujte Docházka.net s vašimi systémy pomocí našeho RESTful API

API v1 REST JSON

Úvod

Docházka.net API umožňuje programový přístup k vašim docházkovým datům.

Poznámka: API je dostupné pouze v plánech Business a Enterprise.

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živatele
  • date_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živatele
  • month (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

Důležité: API má nastavené limity pro ochranu před přetížením.

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

Potřebujete API přístup?

API je dostupné v plánech Business a Enterprise

Zobrazit plány