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

# Memperbarui departemen

> Panggil API ini untuk memperbarui informasi departemen tertentu di DingTalk, termasuk konfigurasi bidang seperti nama departemen, departemen induk, dan visibilitas kontak.

Panggil API ini untuk memperbarui informasi sebuah departemen.

## Permintaan

| **Informasi dasar**          |                                                                                                            |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------- |
| URL HTTP                     | [https://api.dingtalk.io/topapi/v2/department/update](https://api.dingtalk.io/topapi/v2/department/update) |
| Metode HTTP                  | POST                                                                                                       |
| Jenis aplikasi yang didukung | appType-Aplikasi internal                                                                                  |
| Izin yang diperlukan         | permission-qyapi\_manage\_addresslist-Izin pengelolaan data Kontak                                         |

### Parameter query

| Nama          | Tipe   | Wajib | Contoh   | Deskripsi                                                                                                                                                                           |
| ------------- | ------ | ----- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| access\_token | String | Ya    | bE74xxxx | Kredensial aplikasi yang digunakan untuk memanggil API ini. Peroleh melalui API untuk mendapatkan [access\_token dari aplikasi internal](/id/open/development/obtain-orgapp-token). |

### Isi permintaan

| Nama                         | Tipe    | Wajib | Contoh                      | Deskripsi                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ---------------------------- | ------- | ----- | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| dept\_id                     | Number  | Ya    | 100                         | ID departemen. Anda dapat memanggil API [Get department list](/id/open/development/user-management-acquires-the-list-departments) untuk memperoleh nilai dept\_id.                                                                                                                                                                                                                                                                                |
| parent\_id                   | Number  | Tidak | 2                           | ID departemen induk. ID departemen root adalah 1. Anda dapat memanggil API [Get department list](/id/open/development/user-management-acquires-the-list-departments) untuk memperoleh nilai parent\_id.                                                                                                                                                                                                                                           |
| hide\_dept                   | Boolean | Tidak | true                        | Apakah menyembunyikan departemen ini:   - **true**: sembunyikan departemen.  Setelah disembunyikan, departemen tidak akan muncul di kontak perusahaan. - **false**: tampilkan departemen.   Jika tidak ada nilai yang diberikan, pengaturan saat ini tetap tidak berubah.                                                                                                                                                                         |
| dept\_permits                | String  | Tidak | 123,456                     | Daftar departemen lain yang diizinkan untuk melihat departemen ini.  Nilai ini berlaku ketika **hide\_dept** disetel ke **true**.  **Catatan**  Total jumlah daftar ini ditambah daftar user\_permits tidak boleh melebihi 50.                                                                                                                                                                                                                    |
| user\_permits                | String  | Tidak | user123,manager222          | Daftar ID pengguna yang diizinkan untuk melihat departemen ini.  Nilai ini berlaku ketika **hide\_dept** disetel ke **true**.  **Catatan**  Total jumlah daftar ini ditambah daftar dept\_permits tidak boleh melebihi 50.                                                                                                                                                                                                                        |
| create\_dept\_group          | Boolean | Tidak | true                        | Apakah membuat obrolan organisasi yang terkait dengan departemen ini. Nilai default adalah false, yang berarti tidak ada obrolan yang dibuat.  Jika tidak ada nilai yang diberikan, pengaturan saat ini tetap tidak berubah.                                                                                                                                                                                                                      |
| order                        | Number  | Tidak | 10                          | Nilai urutan di dalam departemen induk. Nilai order yang lebih kecil menempati peringkat lebih tinggi.                                                                                                                                                                                                                                                                                                                                            |
| name                         | String  | Tidak | HR                          | Nama departemen. Panjangnya harus 1 hingga 64 karakter. Karakter '-', '，', dan ',' tidak diizinkan.                                                                                                                                                                                                                                                                                                                                               |
| source\_identifier           | String  | Tidak | HR Department               | Bidang pengidentifikasi departemen. Developer dapat menggunakan bidang ini untuk mengidentifikasi departemen secara unik dan memetakannya ke departemen di kontak DingTalk eksternal.  **Catatan**  Bidang ini tidak terlihat pada informasi departemen di konsol pengelolaan organisasi.                                                                                                                                                         |
| outer\_dept                  | Boolean | Tidak | true                        | Apakah membatasi anggota departemen ini dari melihat kontak:   - **true**: aktifkan pembatasan. Setelah diaktifkan, anggota departemen ini hanya dapat melihat kontak dalam cakupan yang ditentukan. - **false**: tanpa pembatasan.   Jika tidak ada nilai yang diberikan, pengaturan saat ini tetap tidak berubah.                                                                                                                               |
| outer\_permit\_users         | String  | Tidak | user123,manager123          | Daftar ID pengguna dalam kontak yang boleh dilihat oleh anggota departemen ini.  Parameter ini berlaku ketika **outer\_dept** disetel ke **true**.  **Catatan**  Total jumlah daftar ini ditambah daftar outer\_permit\_depts tidak boleh melebihi 50.                                                                                                                                                                                            |
| outer\_permit\_depts         | String  | Tidak | 123,456                     | Daftar ID departemen dalam kontak yang boleh dilihat oleh anggota departemen ini.  Parameter ini berlaku ketika **outer\_dept** disetel ke **true**.  **Catatan**  Total jumlah daftar ini ditambah daftar outer\_permit\_users tidak boleh melebihi 50.                                                                                                                                                                                          |
| outer\_dept\_only\_self      | Boolean | Tidak | true                        | Apakah anggota departemen ini hanya dapat melihat kontak departemennya sendiri dan sub-departemen:   - **true**: hanya dapat melihat kontak departemennya sendiri dan sub-departemen. - **false**: tidak dapat melihat semua kontak, dan hanya dapat melihat diri mereka sendiri dalam kontak.   Parameter ini berlaku ketika **outer\_dept** disetel ke **true**.  Jika tidak ada nilai yang diberikan, pengaturan saat ini tetap tidak berubah. |
| language                     | String  | Tidak | zh\_CN                      | Bahasa kontak:   - **zh\_CN**: Bahasa Tionghoa. - **en\_US**: Bahasa Inggris.                                                                                                                                                                                                                                                                                                                                                                     |
| auto\_add\_user              | Boolean | Tidak | false                       | Setelah obrolan departemen dibuat, apakah anggota baru yang bergabung dengan departemen otomatis ditambahkan ke obrolan:   - **true**: otomatis bergabung dengan obrolan. - **false**: tidak otomatis bergabung dengan obrolan.   Jika tidak ada nilai yang diberikan, pengaturan saat ini tetap tidak berubah.                                                                                                                                   |
| auto\_approve\_apply         | Boolean | Tidak | false                       | Apakah menyetujui secara otomatis permintaan untuk bergabung dengan departemen ini:   - **true:** permintaan untuk bergabung dengan departemen ini disetujui secara otomatis. - **false:** permintaan untuk bergabung dengan departemen ini harus disetujui oleh admin dengan izin yang relevan.                                                                                                                                                  |
| dept\_manager\_userid\_list  | String  | Tidak | manager220                  | Daftar ID pengguna dari para manajer departemen. Pisahkan beberapa ID pengguna dengan koma.  **Catatan**  Manajer departemen harus merupakan anggota departemen saat ini. Jika tidak, API mengembalikan error **userId does not exist**.                                                                                                                                                                                                          |
| group\_contain\_sub\_dept    | Boolean | Tidak | true                        | Apakah obrolan departemen menyertakan sub-departemen:   - **true**: sertakan. - **false**: jangan sertakan.   Jika tidak ada nilai yang diberikan, pengaturan saat ini tetap tidak berubah.                                                                                                                                                                                                                                                       |
| group\_contain\_outer\_dept  | Boolean | Tidak | true                        | Apakah obrolan departemen menyertakan departemen alih daya:   - **true**: sertakan. - **false**: jangan sertakan.   Jika tidak ada nilai yang diberikan, pengaturan saat ini tetap tidak berubah.  **Catatan**  Departemen alih daya hanya dapat melihat departemennya sendiri, dan tidak dapat melihat departemen lain atau orang lain.                                                                                                          |
| group\_contain\_hidden\_dept | Boolean | Tidak | true                        | Apakah obrolan departemen menyertakan departemen tersembunyi:   - **true**: sertakan. - **false**: jangan sertakan.   Jika tidak ada nilai yang diberikan, pengaturan saat ini tetap tidak berubah.                                                                                                                                                                                                                                               |
| org\_dept\_owner             | String  | Tidak | 100                         | ID pengguna dari pemilik obrolan organisasi.  **Catatan**  Pemilik grup harus merupakan anggota departemen saat ini.                                                                                                                                                                                                                                                                                                                              |
| force\_update\_fields        | String  | Tidak | dept\_manager\_userid\_list | Bidang yang akan diperbarui secara paksa. Ini mendukung pengosongan bidang yang ditentukan. Pisahkan beberapa bidang dengan koma. Bidang yang saat ini didukung adalah: `dept_manager_userid_list`.                                                                                                                                                                                                                                               |
| code                         | String  | Tidak | 10000                       | Kode departemen. Panjang maksimum adalah 30 karakter.  **Catatan**  Bidang ini hanya dapat disetel melalui API ini.                                                                                                                                                                                                                                                                                                                               |

### Contoh permintaan

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.dingtalk.io/topapi/v2/department/update" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=c6391xxxxb574' \
-d 'dept_id=100' \
-d 'parent_id=2' \
-d 'hide_dept=true' \
-d 'user_permits=100%2C200'
-d 'dept_permits=3%2C4%2C5' \
-d 'language=zh_CN' \
-d 'code=10000'
```

Java

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/department/update");
OapiV2DepartmentUpdateRequest req = new OapiV2DepartmentUpdateRequest();
req.setDeptId(100L);
req.setParentId(2L);
req.setOuterDept(true);
req.setHideDept(true);
req.setCreateDeptGroup(true);
req.setOrder(10L);
req.setName("HR");
req.setSourceIdentifier("HR Department");
req.setDeptPermits("123,456");
req.setUserPermits("user123,manager222");
req.setOuterPermitUsers("user100,user200");
req.setOuterPermitDepts("123,456");
req.setOuterDeptOnlySelf(true);
req.setLanguage("zh_CN");
req.setAutoAddUser(false);
req.setDeptManagerUseridList("manager200");
req.setGroupContainSubDept(true);
req.setGroupContainOuterDept(true);
req.setGroupContainHiddenDept(true);
req.setOrgDeptOwner("100");
OapiV2DepartmentUpdateResponse 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.OapiV2DepartmentUpdateRequest("https://api.dingtalk.io/topapi/v2/department/update")

req.dept_id=100
req.parent_id=2
req.hide_dept=true
req.user_permits="100,200"
req.dept_permits="3,4,5"
req.language="zh_CN"
req.code="10000"
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 OapiV2DepartmentUpdateRequest;
$req->setDeptId("100");
$req->setParentId("2");
$req->setHideDept("true");
$req->setDeptPermits("3,4,5");
$req->setUserPermits("100,200");
$req->setLanguage("zh_CN");
$req->setCode("10000");
```

C#

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/department/update");
OapiV2DepartmentUpdateRequest req = new OapiV2DepartmentUpdateRequest();
req.DeptId = 100L;
req.ParentId = 2L;
req.HideDept = true;
req.DeptPermits = "3,4,5";
req.UserPermits = "100,200";
req.Language = "zh_CN";
req.Code = "10000";
OapiV2DepartmentUpdateResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
```

## Respons

### Isi respons

| Nama        | Tipe   | Contoh       | Deskripsi                         |
| ----------- | ------ | ------------ | --------------------------------- |
| errcode     | Number | 0            | Kode pengembalian.                |
| errmsg      | String | ok           | Deskripsi dari kode pengembalian. |
| request\_id | String | 6iq4zcul5zjp | ID permintaan.                    |

### Contoh isi respons

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
 "errcode":0,
 "errmsg":"ok",
 "request_id": "6iq4zcul5zjp"
}
```

### Kode error

Jika terjadi error saat Anda memanggil API ini, lihat dokumentasi [Global error codes](/id/open/development/server-api-error-codes-1) untuk menemukan solusi berdasarkan pesan error.

| Kode error (errcode) | Pesan error (errmsg)                  | Solusi                                                                              |
| -------------------- | ------------------------------------- | ----------------------------------------------------------------------------------- |
| 43007                | Insufficient permissions              | Konfirmasikan apakah access\_token memiliki izin yang diperlukan untuk operasi ini. |
| 40009                | Invalid department ID                 | Konfirmasikan apakah dept\_id sudah benar.                                          |
| 60018                | The root department cannot be updated | Gunakan dept\_id yang berbeda.                                                      |
| 60003                | The department was not found          | Konfirmasikan apakah dept\_id sudah benar.                                          |
| 60001                | Invalid department name               | Konfirmasikan apakah nama departemen sudah benar.                                   |
| 40011                | Invalid order                         | Konfirmasikan apakah nilai order valid.                                             |
| 60004                | The parent department does not exist  | Konfirmasikan apakah parent\_id sudah benar.                                        |
| 60010                | A loop exists in the department IDs   | Atur ulang ID departemen.                                                           |
| 60109                | Invalid viewable ID list              | Verifikasi apakah daftar yang dapat dilihat valid.                                  |
| 40031                | Invalid userId list                   | Konfirmasikan apakah userId sudah benar.                                            |
| 40093                | Invalid organization chat owner       | Konfirmasikan apakah ID pengguna pemilik obrolan organisasi sudah benar.            |
| 60510                | Failed to set department permissions  | Verifikasi apakah parameter valid.                                                  |
| -1                   | System busy                           | Coba lagi nanti.                                                                    |
