ERP przez API
Twój ERP lub program do fakturowania pobiera wpisy czasu przez REST API i zgłasza z powrotem, które wpisy są rozliczone. Synchronizacja przyrostowa zwraca tylko to, co zmieniło się od ostatniego wywołania; rozliczenie oznacza wpisy Twoim numerem faktury i je blokuje. Oba należą do Premium.
- Jako właściciel lub administrator utwórz w Ustawienia, API i urządzenia token z uprawnieniami
readibilling. Jest pokazywany tylko raz. - Przy pierwszym wywołaniu pobierz wszystkie wpisy bez kursora i zachowaj
meta.next_cursorz odpowiedzi. - Od tej pory zawsze pytaj z zapisanym kursorem. Dostajesz tylko zmienione wpisy, usunięte z ustawionym
deleted_at. Jeśli API odpowie 410, kursor jest starszy niż 90 dni: zacznij od nowa bez kursora i zastąp swoją kopię. - Po wystawieniu faktury utwórz rozliczenie, najpierw z
"dry_run": truena próbę. Wpisy zostaną wtedy rozliczone i zablokowane.
Pobierz wpisy czasu, najpierw bez kursora, potem z kursorem:
curl "https://api.horaka.com/v1/time-entries/changes?cursor=0" -H "Authorization: Bearer TWOJ_TOKEN"
curl "https://api.horaka.com/v1/time-entries/changes?cursor=CURSOR" -H "Authorization: Bearer TWOJ_TOKEN"
Klienci z identyfikatorami, a potem rozliczenie wszystkiego, co otwarte u jednego klienta, do końca miesiąca:
curl https://api.horaka.com/v1/clients -H "Authorization: Bearer TWOJ_TOKEN"
curl -X POST https://api.horaka.com/v1/billing-runs \
-H "Authorization: Bearer TWOJ_TOKEN" \
-H "Content-Type: application/json" \
-d '{"filter": {"client_id": 4, "until": "2026-10-31"}, "invoice_ref": "RE-2026-0042", "dry_run": true}'
Zamiast regularnie pytać, Horaka może też powiadamiać Twój ERP o każdej zmianie: dodaj webhook w Ustawienia, Webhooki. Każde pole, filtr i kod błędu jest opisany w dokumentacji API.