> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Hitung durasi cuti

> Hitung durasi cuti karyawan secara otomatis berdasarkan aturan penjadwalan shift di DingTalk dengan memanggil API ini menggunakan userid serta waktu mulai dan akhir cuti.

Panggil API ini untuk mendapatkan durasi cuti setiap karyawan yang dihitung secara otomatis berdasarkan aturan penjadwalan shift.

## Permintaan

| **Informasi dasar** | |
| - | - |
| URL HTTP | [https://api.dingtalk.io/topapi/attendance/getleaveapproveduration](https://api.dingtalk.io/topapi/attendance/getleaveapproveduration) |
| Metode HTTP | POST |
| Tipe aplikasi yang didukung | appType-Aplikasi internal　appType-Aplikasi perusahaan pihak ketiga |
| Izin yang diperlukan | permission-qyapi\_base-Izin dasar yang diperlukan untuk memanggil API organisasi |

### Parameter query

| Nama | Tipe | Wajib | Contoh | Deskripsi |
| - | - | - | - | - |
| access\_token | String | Ya | bE74xxxx | Kredensial aplikasi yang digunakan untuk memanggil API ini.   - Aplikasi internal: Dapatkan dengan memanggil [Mendapatkan access\_token aplikasi internal](https://help.dingtalk.io/id/open/development/obtain-orgapp-token). - Aplikasi perusahaan pihak ketiga: Dapatkan dengan memanggil API untuk mendapatkan access\_token perusahaan pihak ketiga. |

### Isi permintaan

| Nama | Tipe | Wajib | Contoh | Deskripsi |
| - | - | - | - | - |
| userid | String | Ya | user123 | ID pengguna karyawan di Organisasi Anda. Organisasi menggunakan bidang ini untuk mengidentifikasi pengguna secara unik. |
| from\_date | Date | Ya | 2016-03-09 11:11:11 | Waktu mulai cuti. |
| to\_date | Date | Ya | 2016-03-10 11:11:11 | Waktu akhir cuti. |

### Contoh permintaan

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.dingtalk.io/topapi/attendance/getleaveapproveduration" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=6777xxxx6f4eff' \
-d 'from_date=2016-03-09+11%3A11%3A11' \
-d 'to_date=2016-03-10+11%3A11%3A11' \
-d 'userid=zhangsan'
```

Java

```java theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/getleaveapproveduration");
OapiAttendanceGetleaveapprovedurationRequest req = new OapiAttendanceGetleaveapprovedurationRequest();
req.setUserid("user123");
req.setFromDate(StringUtils.parseDateTime("2016-03-09 11:11:11"));
req.setToDate(StringUtils.parseDateTime("2016-03-10 11:11:11"));
OapiAttendanceGetleaveapprovedurationResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
```

Python

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import dingtalk.api

req=dingtalk.api.OapiAttendanceGetleaveapprovedurationRequest("https://api.dingtalk.io/topapi/attendance/getleaveapproveduration")

req.userid="zhangsan"
req.from_date="2016-03-09 11:11:11"
req.to_date="2016-03-10 11:11:11"
try:
  resp= req.getResponse(access_token)
  print(resp)
except Exception,e:
  print(e)
```

PHP

```php theme={"theme":{"light":"github-light","dark":"github-dark"}}
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');

$c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_POST , DingTalkConstant::$FORMAT_JSON);
$req = new OapiAttendanceGetleaveapprovedurationRequest;
$req->setUserid("zhangsan");
$req->setFromDate("2016-03-09 11:11:11");
$req->setToDate("2016-03-10 11:11:11");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/attendance/getleaveapproveduration");
```

C#

```csharp theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/getleaveapproveduration");
OapiAttendanceGetleaveapprovedurationRequest req = new OapiAttendanceGetleaveapprovedurationRequest();
req.Userid = "zhangsan";
req.FromDate = DateTime.Parse("2016-03-09 11:11:11");
req.ToDate = DateTime.Parse("2016-03-10 11:11:11");
OapiAttendanceGetleaveapprovedurationResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
```

## Respons

### Isi respons

| Nama | Tipe | Contoh | Deskripsi |
| - | - | - | - |
| result | ApproveDurationForTopVo | | Hasil yang dikembalikan. |
| duration\_in\_minutes | Number | 0 | Durasi cuti, dalam menit. |
| errcode | Number | 0 | Kode pengembalian. |
| errmsg | String | ok | Deskripsi kode pengembalian. |
| request\_id | String | 3ynh2gp5ndke | ID permintaan. |

### Contoh isi respons

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "errcode": 0,
  "errmsg":"ok",
  "result": {
    "duration_in_minutes": 480
  },
  "request_id": "6porp1hqkb9k"
}
```

### Kode error

Jika panggilan ke API ini mengembalikan error, cari solusinya berdasarkan pesan error di dokumen [Kode error global](https://help.dingtalk.io/id/open/development/server-api-error-codes-1.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.