---
title: Časové záznamy
description: "#### Dátová štruktúra Skyplanner Skôr ako sa začneme venovať časovým záznamom, musíme si povedať niečo o štruktúre údajov v programe Skyplanner a o tom, ako fungujú pod kapotou. Toto všetko sa bude hodiť neskôr. Ak ste integrovali svoje údaje o…"
url: "https://skyplanner.ai/sk/docs/casove-zaznamy/"
updated: "2025-10-07"
category: Integrácie
tags:
  - API
  - Integrácia
---

# Časové záznamy

#### Dátová štruktúra Skyplanner

Skôr ako sa začneme venovať časovým záznamom, musíme si povedať niečo o štruktúre údajov v programe Skyplanner a o tom, ako fungujú pod kapotou. Toto všetko sa bude hodiť neskôr.

Ak ste integrovali svoje údaje o objednávkach/pracovných príkazoch/pracovných miestach do programu Skyplanner, pravdepodobne ste použili aspoň tieto body API:

- phaser-orders
- phaser-order-rows
- phaser-jobs

Údaje vložené do týchto koncových bodov sú v používateľskom rozhraní Skyplanneru reprezentované takto:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-25-1024x714.png)
**Obr. 1.** Objednávka (phaser-orders)

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-26-1024x715.png)
**Obr. 2.** Položky objednávky (phaser-order-rows (červená)), Kroky procesu (phaser-jobs (zelená))

Po vložení objednávok do programu Skyplanner **ich** budete chcieť **exportovať** (môžete to urobiť prostredníctvom používateľského rozhrania alebo koncového bodu /phaser-orders/export-endpoint) do modulu Plánovanie výroby:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-27-1024x596.png)
**Obr. 3.** Exportovanie prostredníctvom používateľského rozhrania

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-28-1024x597.png)
**Obr. 4.** Exportovaná objednávka v plánovaní výroby

Pri exporte objednávok Skyplanner účinne kopíruje údaje o objednávkach z jednej tabuľky databázy do druhej. Ak teda niečo zmeníte napríklad prostredníctvom koncového bodu /phaser-orders, musíte údaje znovu exportovať, aby ste ich aktualizovali v plánovaní výroby. To tiež znamená, že na prístup k objednávkam, ktoré vidíte v okne Plánovanie výroby, musíte použiť rôzne API-endpointy!

"Zmenené" koncové body vyzerajú takto:

- /phaser-orders → /orders
- /phaser-order-rows → /order-rows
- /phaser-jobs → /jobs

Toto je dôležité vedieť, pretože pri používaní koncového bodu /timelogs na zaznamenávanie udalostí vo výrobe atď. **musíte používať súvisiace entity, ktoré sa nachádzajú v koncovom bode Plánovanie výroby!**

Na POSTovanie nového časového záznamu potrebujete napríklad **production_planning_job_id**(zopakujme: production_planning_jobs sú entity, ku ktorým sa pristupuje z koncového bodu /jobs):

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-29.png)
**Obr. 5.** Požiadavka POST na časový záznam

Potrebné production_planning_job_id nájdete buď v koncovom bode /phaser-jobs:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-30.png)
**Obr. 6.** Požiadavka GET na úlohu Phaser (červenou farbou je phaser_job_id, **NEPOUŽÍVAJTE ju v časových záznamoch**)

Alebo z koncového bodu /job:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-31.png)
**Obr. 7.** /job GET požiadavka

#### Vytváranie časových záznamov pomocou REST-API

Vytváranie časových záznamov do programu Skyplanner prostredníctvom rozhrania API využíva rovnaké pravidlá a systémy, ktoré sú v používateľskom rozhraní. Preto by mohlo byť prospešné oboznámiť sa s tým, ako systém funguje v používateľskom rozhraní, skôr ako sa ho pokúsite používať prostredníctvom API.

##### Základy časového záznamu

Skyplanner má štyri typy udalostí časového záznamu:

- shift_begin
- pozastavené
- pokračovanie
- shift_end

Udalosť Shift_begin sa odošle pri prvom spustení úlohy. **Nikdy neposielajte viac ako jednu udalosť shift_begin pre každú úlohu!**

Udalosť Paused pozastaví úlohu.

Pokračovanie udalosti pokračuje v pozastavenej práci.

Shift_end dokončí prácu. **Nikdy neposielajte viac ako jednu udalosť shift_end pre každú úlohu!**

Požadované údaje pre časové záznamy:

- person_id
  - Možno ho nájsť v koncovom bode /people
  - Nie je to isté ako user_id!
- planned_workstation_id
  - Pracovisko, na ktorom sa práca vykonáva
  - Možno ho nájsť v koncovom bode /workstations-endpoint
- date_time
  - Bod, v ktorom sa udalosť uskutoční
  - Formát: 2024-01-01 10:30:11

Ak chcete určiť, aký časový záznam programu Skyplanner je viazaný na časový záznam z akéhokoľvek externého systému, ktorý používate, môžete použiť pole **external_id**. Pomocou tohto id potom môžete napríklad zadávať požiadavky GET, aby ste našli konkrétny časový záznam z programu Skyplanner.

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-32-1024x438.png)
**Obr. 8.** External_id v časových záznamoch

#### Začatie práce

Úlohy môžete spustiť odoslaním POST-požiadavky takto do API:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-33.png)
**Obr. 9.** Shift_begin časový záznam

Pri nastavovaní údajov POST pre časové záznamy nastavte **workshift_id**ako 0 a **timelog_finalized**ako **true**

#### Pozastavenie úlohy

Úlohy pozastavíte odoslaním tejto požiadavky POST:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-34.png)
**Obr. 10.** Pozastavený časový záznam

V časových záznamoch typu paused môžete nastaviť **sumu**a **chybnú sumu**. Všimnite si tiež **typ**časového záznamu a **dátum_času**.

#### Pokračovanie v práci

Tu je uvedený postup pokračovania pozastaveného časového záznamu:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-35.png)
**Obr. 11.** Pokračovanie časového záznamu

Upozorňujeme, že ak sa pokúsite pokračovať v úlohe, ktorá bola ukončená udalosťou shift_end, zobrazí sa chyba.

#### Ukončenie pracovného pomeru

Tu je uvedený spôsob ukončenia úlohy pomocou časového záznamu shift_end:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-36.png)
**Obr. 12.** Shift_end timelog

V shift_end-events môžete zadať hodnoty **amount**a **faulty_amount**rovnako ako v paused-events. Upozorňujeme, že ak sa pokúsite vykonať shift_end-event pre úlohu, ktorá nie je spustená, zobrazí sa chyba.

#### Aktualizácia časových záznamov

Údaje časového záznamu môžete aktualizovať zaslaním požiadavky PUT na koncový bod /timelogs-endpoint, napríklad takto:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-37.png)
**Obr. 13.** Úprava časových záznamov

Všimnite si, že na vykonanie aktualizácie musíte mať nastavené údaje **beginTimelog**aj **endTimelog**. Časové záznamy v programe Skyplanner sú uložené takto: každý "úplný" (časový záznam, ktorý má začiatok aj koniec (napr. shift_begin/continued & paused/shift_end) časový záznam má samostatnú entitu pre začiatok a koniec.

Tieto sú spárované podľa hodnoty **begin_id**, ktorá sa nachádza v endlogu. Vo vyššie uvedenom príklade má beginTimelog hodnotu id 1, a preto má jeho endTimelog hodnotu **begin_id**1.

Hodnoty **person_id**a **endTimelog**musíte uviesť aj pri každej požiadavke na aktualizáciu, aj keď ich nemeníte.

#### Alternatívne spôsoby tvorby časových záznamov

Tu je niekoľko alternatívnych spôsobov, ako sa môžete prihlásiť do svojich úloh pomocou rozhrania API.

##### Logfull

Ak chcete poslať začiatok aj koniec časového záznamu v jednej požiadavke, môžete použiť **/timelogs/log-full** -endpoint, napríklad takto:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-38.png)
**Obr. 14.** Úplná žiadosť o prihlásenie

Všimnite si, ako sa tu posielajú sumy: prvá hodnota "suma" označuje **chybnú sumu** a druhá **sumu**. Táto požiadavka vytvára entity beginlog a endlog v jednej požiadavke.

##### Quicklog

"Rýchle prihlásenie" k úlohe ju dokončí v jednej požiadavke, nastaví dokončené množstvo výrobkov tak, aby zodpovedalo hodnote nastavenej v položke objednávky. Quicklogging sa vykonáva pomocou **/timelogs/quick-log** -endpoint:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-39.png)
**Obr. 15.** Quicklogging

Všimnite si, že tu stačí zadať len **production_planning_job_id**, **planned_workstation_id**a **person_id**. Hodnoty času a sumy sa vyplnia automaticky. Taktiež si uvedomte, že quicklogované úlohy sú vždy ukončené udalosťou shift_end-event, takže po quicklogovaní nie je možné žiadne ďalšie logovanie!
