> ## 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.

# Dapatkan grup absensi pengguna

> Panggil API DingTalk ini untuk mengambil grup absensi karyawan berdasarkan ID pengguna, termasuk nama grup, ID, tipe absensi, dan detail shift.

Panggil API ini untuk mendapatkan informasi grup absensi karyawan, termasuk nama grup absensi dan tipe absensi. Dalam satu organisasi, seorang karyawan hanya dapat menjadi anggota satu grup absensi.

## Permintaan

| **Informasi dasar** | |
| - | - |
| URL HTTP | [https://api.dingtalk.io/topapi/attendance/getusergroup](https://api.dingtalk.io/topapi/attendance/getusergroup) |
| Metode HTTP | POST |
| Tipe aplikasi yang didukung | appType-Aplikasi internal　appType-Aplikasi perusahaan pihak ketiga |
| Persyaratan izin | 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.   - Untuk Aplikasi internal, dapatkan dengan memanggil API [Dapatkan access\_token Aplikasi internal](https://help.dingtalk.io/id/open/development/obtain-orgapp-token). - Untuk Aplikasi perusahaan pihak ketiga, dapatkan dengan memanggil API Dapatkan access\_token Aplikasi perusahaan pihak ketiga. |

### Isi permintaan

| Nama | Tipe | Wajib | Contoh | Deskripsi |
| - | - | - | - | - |
| userid | String | Ya | user123 | ID pengguna karyawan di organisasi Anda. |

### Contoh permintaan

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.dingtalk.io/topapi/attendance/getusergroup" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=04cd6xxxx91f77' \
-d 'userid=zhangsan'
```

Java

```java theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/getusergroup");
OapiAttendanceGetusergroupRequest req = new OapiAttendanceGetusergroupRequest();
req.setUserid("user123");
OapiAttendanceGetusergroupResponse 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.OapiAttendanceGetusergroupRequest("https://api.dingtalk.io/topapi/attendance/getusergroup")

req.userid="zhangsan"
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 OapiAttendanceGetusergroupRequest;
$req->setUserid("zhangsan");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/attendance/getusergroup");
```

C#

```csharp theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/getusergroup");
OapiAttendanceGetusergroupRequest req = new OapiAttendanceGetusergroupRequest();
req.Userid = "zhangsan";
OapiAttendanceGetusergroupResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
```

## Respons

### Isi respons

| Nama | Tipe | Contoh | Deskripsi |
| - | - | - | - |
| result | AtGroupFullForTopVo | | Hasil query. |
| name | String | Absensi | Nama grup absensi. |
| group\_id | Number | 685935028 | ID grup absensi.  **Catatan**  Jika Anda menggunakan pengenal grup absensi lama **group\_key**, panggil API [Konversi groupKey ke groupId](https://help.dingtalk.io/id/open/development/convert-groupkey-to-groupid.md) untuk mengonversi **group\_key** menjadi **group\_id**. |
| type | String | TURN | Tipe absensi:   - **FIXED**: Penjadwalan shift tetap - **TURN**: Penjadwalan shift bergilir - **NONE**: Tanpa shift |
| classes | AtClassVo\[] | | Daftar shift dalam grup absensi. |
| class\_id | Number | 678215070 | ID shift. |
| name | String | Shift A | Nama shift. |
| sections | AtSectionVo\[] | | Daftar sesi masuk dan pulang kerja dalam shift. |
| times | AtTimeVo\[] | | Daftar detail masuk dan pulang kerja dalam shift. |
| check\_time | Date | 1970-01-01 19:00:00 | Waktu absen. |
| check\_type | String | OnDuty | Tipe absen:   - **OnDuty**: Masuk kerja - **OffDuty**: Pulang kerja |
| across | Number | 0 | Jumlah hari yang dilintasi oleh waktu absen. |
| begin\_min | Number | 30 | Batas paling awal absen sebelum waktu terjadwal, dalam menit. |
| end\_min | Number | 0 | Batas paling lambat absen setelah waktu terjadwal, dalam menit. |
| setting | ClassSettingVo | | Konfigurasi shift. |
| rest\_begin\_time | AtTimeVo | | Pengaturan waktu mulai istirahat. |
| across | Number | 0 | Rentang waktu.   - **0**: Tidak melintasi hari - **1**: Melintasi hari |
| begin\_min | Number | 0 | Waktu mulai. |
| end\_min | Number | 0 | Waktu selesai. |
| check\_time | Date | 1970-01-01 19:00:00 | Waktu mulai istirahat. |
| check\_type | String | OnDuty | Tipe pengaturan:   - **OnDuty**: Mulai istirahat - **OffDuty**: Selesai istirahat |
| rest\_end\_time | AtTimeVo | | Pengaturan waktu selesai istirahat. |
| across | Number | 0 | Rentang waktu. |
| begin\_min | Number | 0 | Waktu mulai. |
| end\_min | Number | 0 | Waktu selesai. |
| check\_time | Date | 1970-01-01 20:00:00 | Waktu selesai istirahat. |
| check\_type | String | OffDuty | Tipe absen:   - **OnDuty**: Mulai istirahat - **OffDuty**: Selesai istirahat |
| errcode | Number | 0 | Kode respons. |
| errmsg | String | ok | Deskripsi kode respons. |
| request\_id | String | f8zybbfze3e8 | ID permintaan. |

### Contoh isi respons

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "errcode": 0,
  "result": {
    "classes": [
      {
        "class_id": 677995086,
        "name": "A",
        "sections": [
          {
            "times": [
              {
                "across": 0,
                "check_time": "1970-01-01 09:30:00",
                "check_type": "OnDuty"
              },
              {
                "across": 0,
                "check_time": "1970-01-01 18:30:00",
                "check_type": "OffDuty"
              }
            ]
          }
        ],
        "setting": {}
      },
      {
        "class_id": 678215070,
        "name": "B",
        "sections": [
          {
            "times": [
              {
                "across": 0,
                "check_time": "1970-01-01 19:00:00",
                "check_type": "OnDuty"
              },
              {
                "across": 1,
                "check_time": "1970-01-01 05:00:00",
                "check_type": "OffDuty"
              }
            ]
          }
        ],
        "setting": {}
      }
    ],
    "group_id": 685935028,
    "name": "Absensi",
    "type": "FIXED"
  },
  "request_id": "f8zybbfze3e8"
}
```

### Kode kesalahan

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


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