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

# Menambahkan lokasi secara massal

> Panggil API DingTalk ini untuk menambahkan lokasi absen ke grup absensi secara massal, hingga 100 lokasi per permintaan dengan ID grup dan daftar lokasi.

Panggil API ini untuk menambahkan lokasi ke grup absensi tertentu secara massal.

## Permintaan

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

### Parameter query

| Nama | Tipe | Wajib | Contoh | Deskripsi |
| - | - | - | - | - |
| access\_token | String | Ya | 4c9ebd2b1534xxxx | Kredensial aplikasi 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 |
| - | - | - | - | - |
| op\_userid | String | Tidak | user01 | ID pengguna operator. |
| group\_key | String | Ya | 03B1Exxxx | ID grup absensi.  **Catatan**  Jika pengenal grup absensi Anda berupa group\_id, panggil API [Mengonversi groupId ke groupKey](https://help.dingtalk.io/id/open/development/groupid-to-groupkey.md) untuk mengonversi group\_id menjadi group\_key. |
| position\_list | Object\[] | Ya | | Daftar posisi. Tambahkan hingga 100 lokasi per permintaan. |
| address | String | Ya | Alibaba Group Xixi Beiyuan | Deskripsi alamat. |
| foreign\_id | String | Ya | 0151E23B1 | positionId yang ditentukan oleh pihak bisnis. |
| longitude | String | Ya | 120.123 | Garis bujur (maksimal 6 angka desimal). |
| latitude | String | Ya | 30.123 | Garis lintang (maksimal 6 angka desimal). |
| offset | Number | Tidak | 100 | Batas toleransi jarak lokasi absen, dalam meter. |

### Contoh permintaan

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.dingtalk.io/topapi/attendance/group/positions/add" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=23adcxxxx46c5226' \
-d 'group_key=0151E02xxxx917E876' \
-d 'op_userid=123456' \
-d 'position_list=null'
```

Java

```java theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/group/positions/add");
OapiAttendanceGroupPositionsAddRequest req = new OapiAttendanceGroupPositionsAddRequest();
req.setOpUserid("user01");
req.setGroupKey("03B1Exxxx");
List<Position> list = new ArrayList<Position>();
Position position = new Position();
list.add(position);
position.setAddress("Alibaba Group Xixi Beiyuan");
position.setForeignId("0151E23B1");
position.setLongitude("120.123");
position.setLatitude("30.123");
position.setOffset(100);
req.setPositionList(list);
OapiAttendanceGroupPositionsAddResponse 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.OapiAttendanceGroupPositionsAddRequest("https://api.dingtalk.io/topapi/attendance/group/positions/add")

req.op_userid="123456"
req.group_key="0151E02xxxx1A917E876"
req.position_list=""
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 OapiAttendanceGroupPositionsAddRequest;
$req->setOpUserid("123456");
$req->setGroupKey("0151E02xxxx7E876");
$position_list = new Position;
$position_list->address="Alibaba Group Xixi Beiyuan";
$position_list->foreign_id="0151E022xxxx917E876";
$position_list->longitude="120.123";
$position_list->latitude="30.123";
$position_list->offset="100";
$req->setPositionList(array($position_list));
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/attendance/group/positions/add");
```

C#

```csharp theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/attendance/group/positions/add");
OapiAttendanceGroupPositionsAddRequest req = new OapiAttendanceGroupPositionsAddRequest();
req.OpUserid = "123456";
req.GroupKey = "0151E02xxxx17E876";
List<OapiAttendanceGroupPositionsAddRequest.PositionDomain> list2 = new List<OapiAttendanceGroupPositionsAddRequest.PositionDomain>();
OapiAttendanceGroupPositionsAddRequest.PositionDomain obj3 = new OapiAttendanceGroupPositionsAddRequest.PositionDomain();
list2.Add(obj3);
obj3.Address = "Alibaba Group Xixi Beiyuan";
obj3.ForeignId = "0151E0xxxx917E876";
obj3.Longitude = "120.123";
obj3.Latitude = "30.123";
obj3.Offset = 100L;
req.PositionList_ = list2;
OapiAttendanceGroupPositionsAddResponse 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 query. |
| error\_info\_list | ErrorInfo\[] | | Daftar error. |
| failure\_list | Position\[] | | Daftar item yang gagal. |
| foreign\_id | String | 0151E23B1xxxx | positionId yang ditentukan oleh pihak bisnis. |
| address | String | Alibaba Group Xixi Beiyuan | Deskripsi alamat. |
| latitude | String | 120.123 | Garis bujur (maksimal 6 angka desimal). |
| longitude | String | 30.123 | Garis lintang (maksimal 6 angka desimal). |
| position\_key | String | | Kunci lokasi. Kosong jika operasi gagal. |
| msg | String | kesalahan bisnis | Pesan error. |
| code | String | 1000 | Kode error. |
| success\_list | Position\[] | | Daftar item yang berhasil. |
| foreign\_id | String | 0151E23B1 | positionId yang ditentukan oleh pihak bisnis. |
| address | String | Alibaba Group Xixi Beiyuan | Deskripsi alamat. |
| latitude | String | 120.123 | Garis bujur (maksimal 6 angka desimal). |
| longitude | String | 30.123 | Garis lintang (maksimal 6 angka desimal). |
| position\_key | String | 9E459D1xxxx | Pengenal unik posisi. |
| 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 | rndx5wfzebph | ID permintaan. |

### Contoh isi respons

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "result": {
    "errcode": 0,
    "errmsg" "ok",
    "result": {
      "success_list": [
        {
          "address": "Alibaba Group Xixi Beiyuan",
          "foreign_id": "0151E23B1",
          "latitude": "30.123",
          "longitude": "120.123",
          "position_key": "9E459D1xxxx"
        }
      ]
    },
    "success": true
  },
  "request_id": "rndx5wfzebph"
}
```

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