Deskripsi panggilan API
- Untuk absensi shift tetap, informasi penjadwalan shift hanya tersedia untuk 15 hari ke depan.
- API ini hanya tersedia untuk organisasi dengan jumlah anggota kurang dari 10.000.
Permintaan
| Informasi dasar | |
|---|---|
| URL HTTP | https://api.dingtalk.io/topapi/attendance/listschedule |
| 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 kueri
| Nama | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
| access_token | String | Ya | bE74xxxx | Kredensial aplikasi yang digunakan untuk memanggil API ini. - Untuk Aplikasi internal, dapatkan dengan memanggil Mendapatkan access_token aplikasi internal. - Untuk Aplikasi perusahaan pihak ketiga, dapatkan dengan memanggil Mendapatkan access_token organisasi pihak ketiga. |
Isi permintaan
| Nama | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
| workDate | Date | Ya | 2020-09-06 | Tanggal penjadwalan shift. Hanya tahun, bulan, dan hari yang digunakan. |
| offset | Number | Tidak | 0 | Offset paginasi, dimulai dari 0. Hanya berlaku jika diatur bersama parameter size. |
| size | Number | Tidak | 200 | Ukuran halaman. Nilai maksimum: 200. |
Contoh permintaan
curl -X POST "https://api.dingtalk.io/topapi/attendance/listschedule" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=b9305xxxxea83' \
-d 'offset=0' \
-d 'size=200' \
-d 'workDate=2016-03-09+11%3A11%3A11'
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/listschedule");
OapiAttendanceListscheduleRequest req = new OapiAttendanceListscheduleRequest();
req.setWorkDate(StringUtils.parseDateTime("2016-03-09 11:11:11"));
req.setOffset(0L);
req.setSize(200L);
OapiAttendanceListscheduleResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
import dingtalk.api
req=dingtalk.api.OapiAttendanceListscheduleRequest("https://api.dingtalk.io/topapi/attendance/listschedule")
req.workDate="2016-03-09 11:11:11"
req.offset=0
req.size=200
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 OapiAttendanceListscheduleRequest;
$req->setWorkDate("2016-03-09 11:11:11");
$req->setOffset("0");
$req->setSize("200");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/attendance/listschedule");
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/listschedule");
OapiAttendanceListscheduleRequest req = new OapiAttendanceListscheduleRequest();
req.WorkDate = DateTime.Parse("2016-03-09 11:11:11");
req.Offset = 0L;
req.Size = 200L;
OapiAttendanceListscheduleResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
Respons
Isi respons
| Nama | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| result | AtScheduleListForTopVo | Hasil kueri. | |
| schedules | AtScheduleForTopVo[] | Daftar jadwal. | |
| plan_id | Number | 157062792171 | ID penjadwalan shift. |
| check_type | String | OnDuty | Tipe absen: - Onduty: Absen masuk - OffDuty: Absen pulang |
| approve_id | Number | 1 | ID persetujuan. Catatan Parameter ini tidak dikembalikan jika tidak ada formulir persetujuan. |
| userid | String | user01 | ID pengguna dari pengguna absensi. |
| class_id | Number | 677995086 | ID shift absensi. |
| class_setting_id | Number | 599315627 | ID konfigurasi shift. Catatan Parameter ini tidak dikembalikan jika konfigurasi global digunakan. |
| plan_check_time | Date | 2020-11-11 09:30:00 | Waktu absen. |
| group_id | Number | 685935028 | ID grup absensi. |
| changed_check_time | Date | 2020-09-06 15:36:04 | Waktu absen yang telah disesuaikan. |
| has_more | Boolean | false | Menunjukkan apakah terdapat halaman berikutnya. - true: Ya - false: Tidak |
| errmsg | String | ok | Deskripsi kode pengembalian. |
| errcode | Number | 0 | Kode pengembalian. |
| request_id | String | 6ha75i2o99fj | ID permintaan. |
Contoh isi respons
{
"errcode": 0,
"errmsg":"ok",
"result": {
"has_more": false,
"schedules": [
{
"check_type": "OnDuty",
"class_id": 677995086,
"class_setting_id": 599315627,
"group_id": 685935028,
"plan_check_time": "2020-11-11 09:30:00",
"plan_id": 157062792171,
"userid": "user01"
},
{
"check_type": "OffDuty",
"class_id": 677995086,
"class_setting_id": 599315627,
"group_id": 685935028,
"plan_check_time": "2020-11-11 18:30:00",
"plan_id": 157062792172,
"userid": "user01"
}
]
},
"request_id": "6ha75i2o99fj"
}