---
title: Catatan waktu
description: "#### Struktur data Skyplanner Sebelum kita masuk ke dalam catatan waktu, kita perlu membahas sedikit tentang struktur data di Skyplanner dan bagaimana segala sesuatunya bekerja di balik layar. Semua ini akan berperan nanti. Jika Anda mengintegrasikan data pesanan/perintah kerja/pekerjaan Anda…"
url: "https://skyplanner.ai/id/docs/catatan-waktu/"
updated: "2025-10-07"
category: Integrasi
tags:
  - API
  - Integrasi
---

# Catatan waktu

#### Struktur data Skyplanner

Sebelum kita masuk ke dalam catatan waktu, kita perlu membahas sedikit tentang struktur data di Skyplanner dan bagaimana segala sesuatunya bekerja di balik layar. Semua ini akan berperan nanti.

Jika Anda mengintegrasikan data pesanan/perintah kerja/pekerjaan Anda ke dalam Skyplanner, kemungkinan besar Anda menggunakan setidaknya API-endpoint ini:

- pesanan phaser
- urutan-baris phaser
- phaser-pekerjaan

Secara efektif, data yang dimasukkan ke dalam titik akhir ini direpresentasikan dalam UI Skyplanner seperti ini:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-25-1024x714.png)
**Gbr 1.** Pemesanan (pesanan bertahap)

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-26-1024x715.png)
**Gbr 2.** Item pesanan (baris pesanan bertahap (merah)), Langkah-langkah proses (pekerjaan bertahap (hijau))

Setelah memasukkan pesanan Anda ke Skyplanner, Anda harus **mengekspornya** (ini dapat dilakukan melalui UI atau /phaser-orders/export-endpoint) ke dalam modul Penjadwalan Produksi:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-27-1024x596.png)
**Gbr 3.** Mengekspor melalui UI

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-28-1024x597.png)
**Gbr 4.** Pesanan yang diekspor dalam Penjadwalan Produksi

Ketika mengekspor pesanan, Skyplanner secara efektif menyalin data pesanan dari satu tabel database ke tabel database lainnya. Jadi, jika anda mengubah sesuatu misalnya melalui /phaser-orders -endpoint, anda perlu mengekspor data lagi untuk memperbaruinya di Penjadwalan Produksi. Hal ini juga berarti bahwa untuk mengakses pesanan yang Anda lihat di jendela Penjadwalan Produksi, Anda harus menggunakan API-endpoint yang berbeda!

Titik akhir yang "diubah" adalah seperti ini:

- /phaser-pesanan → /pesanan
- /phaser-baris-pesanan → /baris-pesanan
- /phaser-jobs → /jobs

Hal ini penting untuk diketahui, karena ketika menggunakan /timelogs -endpoint untuk mencatat peristiwa produksi Anda, dll. **, Anda harus menggunakan entitas terkait yang ditemukan di Penjadwalan Produksi -endpoint!**

Sebagai contoh, Anda memerlukan **production_planning_job_id**(untuk mengulangi: production_planning_jobs adalah entitas yang diakses dari titik akhir /jobs) untuk POST timelog baru:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-29.png)
**Gbr 5.** Permintaan POST Timelog

Anda dapat menemukan production_planning_job_id yang Anda butuhkan dari titik akhir /phaser-jobs:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-30.png)
**Gambar 6.** Permintaan GET pekerjaan phaser (warna merah adalah phaser_job_id, **JANGAN GUNAKAN DALAM TIMELOG**)

Atau dari titik akhir /job:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-31.png)
**Gbr 7.** /job Dapatkan permintaan

#### Membuat catatan waktu menggunakan REST-API

Membuat catatan waktu ke Skyplanner melalui API menggunakan aturan dan sistem yang sama dengan yang ada di UI. Jadi, akan lebih baik jika Anda membiasakan diri dengan cara kerja sistem di UI sebelum mencoba menggunakannya melalui API.

##### Dasar-dasar catatan waktu

Skyplanner memiliki empat jenis peristiwa catatan waktu:

- shift_begin
- berhenti sejenak
- lanjutan
- shift_end

Shift_begin-event dikirim ketika pekerjaan dimulai untuk pertama kalinya. **Jangan pernah mengirim lebih dari satu peristiwa shift_begin untuk setiap pekerjaan!**

Acara yang dijeda akan menghentikan pekerjaan.

Acara lanjutan melanjutkan pekerjaan yang dijeda.

Shift_end menyelesaikan pekerjaan. **Jangan pernah mengirim lebih dari satu peristiwa shift_end untuk setiap pekerjaan!**

Data yang diperlukan untuk catatan waktu:

- person_id
  - Dapat ditemukan dari titik akhir /people
  - Tidak sama dengan user_id!
- rencana_stasiun_kerja_id
  - Stasiun kerja tempat pekerjaan sedang dilakukan
  - Dapat ditemukan dari titik akhir /workstations
- tanggal_waktu
  - Titik waktu acara dilakukan
  - Format: 2024-01-01 10:30:11

Untuk menentukan timelog Skyplanner apa yang terkait dengan timelog dari sistem eksternal apa pun yang Anda gunakan, Anda dapat menggunakan bidang **external_id**. Anda kemudian dapat membuat permintaan GET menggunakan id ini untuk menemukan timelog tertentu dari Skyplanner.

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-32-1024x438.png)
**Gbr 8.** External_id dalam catatan waktu

#### Memulai pekerjaan

Anda dapat memulai pekerjaan dengan mengirimkan permintaan POST seperti ini ke API:

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

Saat mengatur data POST untuk timelog, atur **workshift_id**sebagai 0 dan **timelog_finalized**sebagai **true**

#### Menjeda pekerjaan

Jeda pekerjaan dengan mengirimkan permintaan POST seperti ini:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-34.png)
**Gbr 10.** Catatan waktu yang dijeda

Pada timelog tipe jeda, Anda dapat mengatur **jumlah**dan **faulty_amount**. Perhatikan juga **tipe**timelog dan **date_time**.

#### Melanjutkan pekerjaan

Berikut ini adalah cara Anda melanjutkan catatan waktu yang dijeda:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-35.png)
**Gbr 11.** Catatan waktu lanjutan

Perhatikan bahwa jika Anda mencoba melanjutkan pekerjaan yang telah diakhiri oleh peristiwa shift_end, Anda akan mendapatkan kesalahan.

#### Mengakhiri pekerjaan

Berikut ini adalah cara Anda mengakhiri pekerjaan dengan catatan waktu shift_end:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-36.png)
**Gbr 12.** Catatan waktu shift_akhir

Dalam shift_end-events anda dapat memberikan nilai **amount**dan **faulty_amount**seperti pada paused-events. Perhatikan bahwa jika Anda mencoba melakukan shift_end-event pada pekerjaan yang tidak sedang berjalan, Anda akan mendapatkan kesalahan.

#### Memperbarui catatan waktu

Anda dapat memperbarui data log waktu dengan mengirimkan permintaan PUT ke titik akhir /timelogs, seperti ini:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-37.png)
**Gbr 13.** Mengedit catatan waktu

Perhatikan bahwa Anda harus memiliki set data **beginTimelog**dan **endTimelog**untuk melakukan pembaruan. Timelog di Skyplanner disimpan seperti ini: setiap timelog "penuh" (timelog yang memiliki awal dan akhir (contoh: shift_begin/continued & paused/shift_end) memiliki entitas terpisah untuk awal dan akhir.

Ini dipasangkan dengan nilai **begin_id**yang ditemukan di endlog. Pada contoh di atas, beginTimelog memiliki nilai id 1 dan dengan demikian endTimelog memiliki nilai **begin_id**1.

Anda juga harus memberikan nilai **person_id**dan **endTimelog**untuk setiap kali Anda melakukan permintaan pembaruan meskipun Anda tidak mengubahnya.

#### Cara-cara alternatif untuk melakukan pencatatan waktu

Berikut adalah beberapa cara alternatif untuk masuk ke pekerjaan Anda menggunakan API.

##### Logfull

Jika Anda ingin mengirim timelog awal dan akhir dalam satu permintaan, Anda dapat menggunakan titik **/timelogs/log-full** -endpoint, seperti ini:

![](https://skyplanner.ai/wp-content/uploads/2025/03/image-38.png)
**Gbr 14.** Permintaan logfull

Perhatikan bagaimana jumlah yang dikirim di sini: nilai "jumlah" pertama menunjukkan **jumlah yang salah** dan yang kedua **jumlah**. Permintaan ini membuat entitas beginlog dan endlog dalam satu permintaan tunggal.

##### Quicklog

"Quicklogging" ke pekerjaan menyelesaikannya dalam satu permintaan, menetapkan jumlah produk yang diselesaikan agar sesuai dengan nilai yang ditetapkan dalam item pesanan. Pencatatan cepat dilakukan dengan menggunakan perintah **/timelogs/quick-log** -endpoint:

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

Perhatikan bahwa di sini Anda hanya perlu memberikan **production_planning_job_id**, **planned_workstation_id**dan **person_id**. Nilai waktu dan jumlah akan terisi secara otomatis. Perhatikan juga bahwa pekerjaan yang dicatat dengan cepat selalu diselesaikan dengan shift_end-event, jadi tidak ada pencatatan lebih lanjut yang mungkin dilakukan setelah quicklog!
