---
title: Časové záznamy
description: "#### Datová struktura Skyplanner Než se pustíme do časových záznamů, musíme probrat něco málo o struktuře dat v programu Skyplanner a o tom, jak fungují věci pod kapotou. To vše přijde na řadu později. Pokud jste integrovali údaje o zakázkách/pracovních…"
url: "https://skyplanner.ai/cs/docs/casove-zaznamy/"
updated: "2025-10-07"
category: Integrace
tags:
  - API
  - Integrace
---

# Časové záznamy

#### Datová struktura Skyplanner

Než se pustíme do časových záznamů, musíme probrat něco málo o struktuře dat v programu Skyplanner a o tom, jak fungují věci pod kapotou. To vše přijde na řadu později.

Pokud jste integrovali údaje o zakázkách/pracovních příkazech/pracovních místech do Skyplanneru, pravděpodobně jste použili alespoň tyto body API:

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

Data vložená do těchto koncových bodů jsou v uživatelském rozhraní Skyplanneru reprezentována 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 zpracování (phaser-jobs (zelená))

Po vložení objednávek do Skyplanneru **je** budete chtít **exportovat** (lze to provést prostřednictvím uživatelského rozhraní nebo koncového bodu /phaser-orders/export-endpoint) do modulu Plánování výroby:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-27-1024x596.png)
**Obr. 3.** Exportování prostřednictvím uživatelského rozhraní

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

Při exportu objednávek Skyplanner efektivně kopíruje data objednávek z jedné databázové tabulky do druhé. Pokud tedy něco změníte například prostřednictvím koncového bodu /phaser-orders, musíte data znovu exportovat, abyste je mohli aktualizovat v plánování výroby. To také znamená, že pro přístup k zakázkám, které vidíte v okně Plánování výroby, musíte použít jiné koncové body API!

"Změněné" koncové body jsou následující:

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

To je důležité vědět, protože při použití koncového bodu /timelogs pro záznam událostí z výroby atd. **musíte použít související entity, které se nacházejí v koncovém bodu Plánování výroby!**

Například k odeslání nového časového záznamu potřebujete **production_planning_job_id**(pro zopakování: production_planning_jobs jsou entity přístupné z koncového bodu /jobs):

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

Potřebné production_planning_job_id najdete buď v koncovém bodě /phaser-jobs:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-30.png)
**Obr. 6.** Požadavek na GET úlohy Phaser (červeně je uvedeno phaser_job_id, **NEPOUŽÍVEJTE V ČASOPISECH**)

Nebo z koncového bodu /job:

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

#### Vytváření časových záznamů pomocí rozhraní REST-API

Vytváření časových záznamů do Skyplanneru prostřednictvím rozhraní API používá stejná pravidla a systémy, které jsou v uživatelském rozhraní. Proto by mohlo být výhodné seznámit se s tím, jak systém funguje v uživatelském rozhraní, než se jej pokusíte použít prostřednictvím rozhraní API.

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

Skyplanner má čtyři typy událostí časového záznamu:

- shift_begin
- pozastaveno
- pokračování
- shift_end

Událost Shift_begin je odeslána při prvním spuštění úlohy. **Nikdy neposílejte více než jednu událost shift_begin pro každou úlohu!**

Paused-event pozastaví úlohu.

Pokračující událost obnoví pozastavenou práci.

Shift_end dokončí práci. **Nikdy neposílejte více než jednu událost shift_end pro každou úlohu!**

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

- person_id
  - Lze zjistit z koncového bodu /people
  - Není to totéž jako user_id!
- planned_workstation_id
  - Pracoviště, na kterém se práce provádí
  - Lze je nalézt v koncové položce /workstations-endpoint.
- date_time
  - Okamžik, kdy je událost provedena
  - Formát: 2024-01-01 10:30:11

Chcete-li určit, jaký časový záznam programu Skyplanner je vázán na časový záznam z jakéhokoli externího systému, který používáte, můžete použít pole **external_id**. Pomocí tohoto id pak můžete například zadávat požadavky GET, abyste našli konkrétní časový záznam ze Skyplanneru.

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

#### Zahájení pracovního poměru

Úlohy můžete spouštět odesláním požadavku POST takto na rozhraní API:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-33.png)
**Obr. 9.** Shift_begin timelog

Při nastavování dat POST pro časové záznamy nastavte **workshift_id**jako 0 a **timelog_finalized**jako **true.**

#### Pozastavení úlohy

Úlohy pozastavíte odesláním požadavku POST takto:

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

V časových záznamech typu paused můžete nastavit **částku**a **faulty_amount**. Všimněte si také **typu**timelog a **date_time**.

#### Pokračování v práci

Zde je uveden postup, jak pokračovat v pozastaveném časovém záznamu:

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

Všimněte si, že pokud se pokusíte pokračovat v úloze, která byla ukončena událostí shift_end, dojde k chybě.

#### Ukončení pracovního poměru

Zde je uveden způsob ukončení úlohy pomocí č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 zadat hodnoty **amount**a **faulty_amount**stejně jako v paused-events. Všimněte si, že pokud se pokusíte provést shift_end-event pro úlohu, která není spuštěna, zobrazí se chyba.

#### Aktualizace časových záznamů

Data časového záznamu můžete aktualizovat odesláním požadavku PUT na koncový bod /timelogs-endpoint, například takto:

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

Všimněte si, že pro provedení aktualizace musíte mít nastaveny údaje **beginTimelog**i **endTimelog**. Časové záznamy v programu Skyplanner jsou uloženy takto: každý "úplný" (časový záznam, který má začátek i konec (např. shift_begin/continued & paused/shift_end) časový záznam má samostatnou entitu pro začátek a konec.

Ty se párují podle hodnoty **begin_id**nalezené v endlogu. Ve výše uvedeném příkladu má beginTimelog hodnotu id 1, a proto má jeho endTimelog hodnotu **begin_id**1.

Hodnoty **person_id**a **endTimelog**musíte zadat také při každém požadavku na aktualizaci, i když je neměníte.

#### Alternativní způsoby tvorby časových záznamů

Zde je několik alternativních způsobů, jak se můžete přihlásit k úlohám pomocí rozhraní API.

##### Logfull

Pokud chcete odeslat počáteční i koncový časový záznam v jednom požadavku, můžete použít **/timelogs/log-full** -endpoint, například takto:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-38.png)
**Obr. 14.** Plná žádost protokolu

Všimněte si, jak jsou zde zasílány částky: první hodnota "amount" označuje **chybnou částku** a druhá **částku**. Tento požadavek vytváří entity beginlog a endlog v jediném požadavku.

##### Quicklog

"Rychlé přihlášení" k úloze ji dokončí v jediném požadavku, nastaví dokončené množství produktů tak, aby odpovídalo hodnotě nastavené v položce objednávky. Quicklogging se provádí pomocí **/timelogs/quick-log** -endpoint:

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

Všimněte si, že zde stačí zadat pouze **production_planning_job_id**, **planned_workstation_id**a **person_id**. Hodnoty času a částky se vyplní automaticky. Všimněte si také, že quicklogované úlohy jsou vždy ukončeny událostí shift_end-event, takže po quicklogu není možné žádné další logování!
