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

# Kueri lokasi secara batch

> Panggil API DingTalk ini untuk mengkueri daftar lokasi absen sebuah grup absensi secara batch dengan paginasi berdasarkan ID grup absensi.

Panggil API ini untuk mengkueri daftar lokasi grup absensi tertentu secara batch.

## Permintaan

| **Informasi dasar** | |
| - | - |
| URL HTTP | [https://api.dingtalk.io/topapi/attendance/group/positions/query](https://api.dingtalk.io/topapi/attendance/group/positions/query) |
| Metode HTTP | POST |
| Tipe aplikasi yang didukung | appType-Aplikasi internal |
| Izin | permission-qyapi\_attendance\_group\_read-Izin kueri grup absensi |

### Parameter kueri

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

### Isi permintaan

| Nama | Tipe | Wajib | Contoh | Deskripsi |
| - | - | - | - | - |
| cursor | String | Tidak | 0151Exxxx | Biarkan kosong pada permintaan pertama. Untuk permintaan berikutnya saat has\_more bernilai true, isi cursor dengan nilai position\_key terakhir dari hasil permintaan sebelumnya. |
| size | Number | Ya | 50 | Ukuran halaman. |
| op\_userid | String | Tidak | user01 | ID pengguna operator. |
| group\_key | String | Ya | CEDDFxxxx | ID grup absensi.  **Catatan**  Jika pengidentifikasi grup absensi Anda berupa group\_id, panggil API [Konversi groupId ke groupKey](https://help.dingtalk.io/id/open/development/groupid-to-groupkey.md) untuk mengonversi group\_id menjadi group\_key. |

### Contoh permintaan

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.dingtalk.io/topapi/attendance/group/positions/query" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=80645xxxx3164b3' \
-d 'cursor=0151E02xxxx7E876' \
-d 'group_key=0151ExxxxA1A917E876' \
-d 'op_userid=123456' \
-d 'size=50'
```

Java

```java theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/group/positions/query");
OapiAttendanceGroupPositionsQueryRequest req = new OapiAttendanceGroupPositionsQueryRequest();
req.setCursor("0151Exxxx");
req.setSize(50L);
req.setOpUserid("user01");
req.setGroupKey("CEDDFxxxx");
OapiAttendanceGroupPositionsQueryResponse 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.OapiAttendanceGroupPositionsQueryRequest("https://api.dingtalk.io/topapi/attendance/group/positions/query")

req.cursor="0151E0xxxx917E876"
req.size=50
req.op_userid="123456"
req.group_key="0151E0xxxxA917E876"
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 OapiAttendanceGroupPositionsQueryRequest;
$req->setCursor("0151E0xxxx17E876");
$req->setSize("50");
$req->setOpUserid("123456");
$req->setGroupKey("0151E0xxxx917E876");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/attendance/group/positions/query");
```

C#

```csharp theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/group/positions/query");
OapiAttendanceGroupPositionsQueryRequest req = new OapiAttendanceGroupPositionsQueryRequest();
req.Cursor = "0151E0xxxx917E876";
req.Size = 50L;
req.OpUserid = "123456";
req.GroupKey = "0151E02xxxx917E876";
OapiAttendanceGroupPositionsQueryResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
```

## Respons

### Isi respons

| Nama | Tipe | Contoh | Deskripsi |
| - | - | - | - |
| result | DingOpenResult | | Hasil yang dikembalikan. |
| result | Result | | Hasil kueri. |
| position\_list | Position\[] | | Daftar lokasi. |
| offset | Number | 100 | Toleransi jarak yang diizinkan untuk lokasi absen. |
| address | String | Kampus Xixi Alibaba Group | Deskripsi alamat. |
| latitude | String | 30,123 | Garis lintang (maksimal 6 angka desimal). |
| longitude | String | 120,123 | Garis bujur (maksimal 6 angka desimal). |
| position\_key | String | 9E459Fxxxx | Pengidentifikasi unik lokasi. |
| has\_more | Boolean | false | Menunjukkan apakah masih ada data lainnya.   - **true**: Ya - **false**: Tidak |
| errcode | Number | 0 | Kode pengembalian. |
| errmsg | String | ok | Deskripsi kode pengembalian. |
| success | Boolean | true | Menunjukkan apakah permintaan berhasil.   - **true**: Berhasil - **false**: Gagal |
| request\_id | String | rss38gia1egs | ID permintaan. |

### Contoh isi respons

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "result": {
    "errcode": 0,
    "errmsg":"ok",
    "result": {
      "has_more": false,
      "position_list": [
        {
          "offset":100,
          "address": "Kampus Xixi Alibaba Group",
          "latitude": "30.280232",
          "longitude": "120.171377",
          "position_key": "9E459Fxxxx"
        }            ]
    },
    "success": true
  },
  "request_id": "rss38gia1egs"
}
```

### Kode error

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


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