Endpointy — Czas pracy (Workinfo)
| Metoda |
Ścieżka |
Opis |
| GET |
/organize/workinfos.json |
Lista wpisów czasu pracy |
| GET |
/organize/workinfos/:id.json |
Pojedynczy wpis |
| POST |
/organize/workinfos.json |
Utworzenie wpisu |
| PATCH |
/organize/workinfos/:id.json |
Aktualizacja wpisu |
| DELETE |
/organize/workinfos/:id.json |
Usunięcie wpisu |
| POST |
/organize/workinfos/start.json |
Start stopera |
| POST |
/organize/workinfos/stop.json |
Stop stopera |
Autoryzacja: Authorization: Bearer TOKEN (uprawnienie: organize)
Pola wpisu
| Pole |
Typ |
Wymagane |
Opis |
content |
string |
warunkowo |
Opis pracy (wymagany jeśli brak task_id) |
date |
string |
tak |
Data YYYY-MM-DD |
time_from |
string |
tak |
Czas rozpoczęcia (ISO 8601 lub HH:MM) |
time_to |
string |
warunkowo |
Czas zakończenia |
hours |
number |
nie |
Czas w godzinach (alternatywa dla time_to) |
task_id |
integer |
nie |
ID zadania |
team_id |
integer |
nie |
ID zespołu |
project_id |
integer |
nie |
ID projektu |
client_id |
integer |
nie |
ID klienta (CRM) |
user_id |
integer |
nie |
ID użytkownika (domyślnie bieżący) |
kind |
string |
nie |
Typ: start, stop, pause
|
tags |
array |
nie |
Tagi kategoryzujące |
Tworzenie wpisu
POST /organize/workinfos.json
Authorization: Bearer TOKEN
{
"workinfo": {
"content": "Implementacja nowego modułu",
"date": "2026-03-05",
"time_from": "09:00",
"time_to": "11:30",
"task_id": 100,
"team_id": 1
}
}
Start/Stop stopera
POST /organize/workinfos/start.json
{"task_id": 100}
POST /organize/workinfos/stop.json
Filtrowanie listy
GET /organize/workinfos.json?user_id=5&date=2026-03-05
| Parametr |
Opis |
user_id |
ID użytkownika (lub user=me) |
date |
Data YYYY-MM-DD |
task_id |
ID zadania |
Endpointy — Raporty czasu pracy
| Metoda |
Ścieżka |
Opis |
| GET |
/organize/workinfo_reports.json |
Lista raportów |
| GET |
/organize/workinfo_reports/:id.json |
Pojedynczy raport |
| POST |
/organize/workinfo_reports.json |
Utworzenie raportu |
| PATCH |
/organize/workinfo_reports/:id.json |
Aktualizacja raportu |
| DELETE |
/organize/workinfo_reports/:id.json |
Usunięcie raportu |
| POST |
/organize/workinfo_reports/:id/approve.json |
Zatwierdzenie raportu |
| POST |
/organize/workinfo_reports/:id/unapprove.json |
Cofnięcie zatwierdzenia |
| GET |
/organize/workinfo_reports/:id/export.pdf |
Eksport PDF |
| GET |
/organize/workinfo_reports/:id/export.csv |
Eksport CSV |
Pola raportu
| Pole |
Typ |
Wymagane |
Opis |
date_from |
string |
tak |
Początek okresu YYYY-MM-DD |
date_to |
string |
tak |
Koniec okresu YYYY-MM-DD |
user_id |
integer |
tak |
ID użytkownika |
team_id |
integer |
nie |
ID zespołu |
corrected_hours |
number |
nie |
Korekta godzin |
corrected_hours_note |
string |
warunkowo |
Uzasadnienie korekty (wymagane jeśli corrected_hours ≠ 0) |
Tworzenie raportu
POST /organize/workinfo_reports.json
Authorization: Bearer TOKEN
{
"workinfo_report": {
"date_from": "2026-03-01",
"date_to": "2026-03-31",
"user_id": 5
}
}
Błędy (422)
{"date_from": ["nie może być puste"]}