Permintaan
| Informasi dasar | |
|---|---|
| URL HTTP | https://api.dingtalk.io/topapi/attendance/vacation/type/list |
| Metode HTTP | POST |
| Tipe aplikasi yang didukung | appType-Aplikasi internal appType-Aplikasi perusahaan pihak ketiga |
| Izin yang diperlukan | permission-qyapi_holiday_readonly-Izin baca cuti DingTalk |
Parameter kueri
| Nama | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
| access_token | String | Ya | bE74xxxx | Kredensial aplikasi untuk memanggil API ini. - Untuk Aplikasi internal, dapatkan dengan memanggil API Mendapatkan access_token Aplikasi internal. - Untuk Aplikasi perusahaan pihak ketiga, dapatkan dengan memanggil API untuk mendapatkan access_token organisasi pihak ketiga. |
Isi permintaan
| Nama | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
| op_userid | String | Ya | user01 | ID pengguna Admin di organisasi Anda yang memiliki izin aplikasi untuk Aplikasi Persetujuan OA. |
| vacation_source | String | Tidak | all | Sumber cuti. Nilai yang valid: - “all”: Mengembalikan semua jenis cuti. - "": Hanya mengembalikan jenis cuti yang dibuat melalui API penambahan aturan cuti. |
Contoh permintaan
curl -X POST "https://api.dingtalk.io/topapi/attendance/vacation/type/list" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=43aexxxxd897cd9' \
-d 'op_userid=03085665764167' \
-d 'vacation_source=all'
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/vacation/type/list");
OapiAttendanceVacationTypeListRequest req = new OapiAttendanceVacationTypeListRequest();
req.setOpUserid("user01");
req.setVacationSource("all");
OapiAttendanceVacationTypeListResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
import dingtalk.api
req=dingtalk.api.OapiAttendanceVacationTypeListRequest("https://api.dingtalk.io/topapi/attendance/vacation/type/list")
req.op_userid="03085665764167"
req.vacation_source="all"
try:
resp= req.getResponse(access_token)
print(resp)
except Exception,e:
print(e)
include "TopSdk.php";
date_default_timezone_set('Asia/Shanghai');
$c = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI, DingTalkConstant::$METHOD_POST , DingTalkConstant::$FORMAT_JSON);
$req = new OapiAttendanceVacationTypeListRequest;
$req->setOpUserid("03085665764167");
$req->setVacationSource("all");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/attendance/vacation/type/list");
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/vacation/type/list");
OapiAttendanceVacationTypeListRequest req = new OapiAttendanceVacationTypeListRequest();
req.OpUserid = "03085665764167";
req.VacationSource = "all";
OapiAttendanceVacationTypeListResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
Respons
Isi respons
| Nama | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| request_id | String | 3k4z2hq8pv2x | ID permintaan. |
| errcode | Number | 0 | Kode pengembalian. |
| errmsg | String | ok | Deskripsi kode pengembalian. |
| success | Boolean | true | Menunjukkan apakah permintaan berhasil. - true: Ya - false: Tidak |
| result | Result[] | Hasil yang dikembalikan. | |
| leave_code | String | 037477sdfsxxxx | Pengenal unik aturan cuti. |
| leave_name | String | Cuti tahunan | Nama cuti. |
| leave_view_unit | String | day | Satuan cuti. - day: Hari - halfDay: Setengah hari - hour: Jam |
| leave_certificate | LeaveCertificateVo | Bukti cuti. | |
| leave_certificate.unit | String | hour | Satuan bukti cuti. - hour: Jam - day: Hari |
| leave_certificate.duration | Number | 1 | Batas durasi cuti yang mewajibkan bukti cuti jika terlampaui. |
| leave_certificate.enable | Boolean | false | Menunjukkan apakah bukti cuti diaktifkan. - true: Aktif - false: Nonaktif |
| leave_certificate.prompt_information | String | Informasi cuti | Teks prompt yang ditampilkan pada pengajuan cuti. |
| submit_time_rule | SubmitTimeRuleVo | Aturan pengajuan berbatas waktu. | |
| submit_time_rule.time_value | Number | 18 | Nilai batas. - Jika timeUnit bernilai day, rentang yang valid adalah 0 hingga 30 hari. - Jika timeUnit bernilai hour, rentang yang valid adalah 0 hingga 24 jam. |
| submit_time_rule.time_unit | String | hour | Satuan waktu. - day: Hari - hour: Jam |
| submit_time_rule.time_type | String | before | Tipe batas. - before: Diajukan sebelumnya - after: Diajukan susulan |
| submit_time_rule.enable_time_limit | Boolean | false | Menunjukkan apakah pengajuan berbatas waktu diaktifkan. - true: Aktif - false: Nonaktif |
| biz_type | String | general_leave | Jenis cuti. - general_leave: Cuti reguler - lieu_leave: Lembur yang dikonversi menjadi cuti pengganti |
| natural_day_leave | String | true | Menunjukkan apakah durasi cuti dihitung berdasarkan hari kalender. - true: Hitung durasi cuti berdasarkan hari kalender. - false: Jangan hitung durasi cuti berdasarkan hari kalender. Catatan Jika nilainya false, durasi cuti dihitung berdasarkan penjadwalan shift pengguna selama periode cuti saat pengguna mengirimkan pengajuan cuti. |
| validity_type | String | absolute_time | Tipe masa berlaku. - absolute_time: Waktu absolut - relative_time: Waktu relatif |
| validity_value | String | 12-31 | Tanggal perpanjangan. - Jika validity_type bernilai absolute_time, nilai ini tidak kosong dan menggunakan format “yy-mm”. - Jika validity_type bernilai relative_time, nilai ini berupa integer yang lebih besar dari 1. |
| hours_in_per_day | Number | 1000 | Jam kerja per hari, dalam satuan 1/100 jam. Contoh: 1 hari = 10 jam = 1000. |
| source | String | inner | Sumber cuti. - external: Cuti kustom yang dibuat melalui Open API - inner: Cuti yang dibuat di Admin Console OA |
Contoh isi respons
{
"errcode": 0,
"errmsg":"ok",
"result": [
{
"biz_type": "general_leave",
"hours_in_per_day": 1000,
"leave_code": "037477sdfsxxxx",
"leave_name": "Cuti tahunan",
"leave_view_unit": "day",
"leave_certificate": {
"unit": "hour",
"duration": "1",
"enable": false,
"prompt_information": "Informasi cuti"
},
"submit_time_rule": {
"time_value": 18,
"time_unit": "day",
"time_type": "before",
"enable_time_limit": false
},
"validity_type": "absolute_time",
"natural_day_leave": "true",
"validity_value": "12-31",
"source": "external"
}
],
"success": true,
"request_id": "3k4z2hq8pv2x"
}