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

# Membuat departemen

> Panggil API ini untuk membuat departemen baru di Kontak perusahaan DingTalk — tentukan departemen induk dan detail departemen dalam permintaan, lalu terima ID departemen baru pada respons.

Panggil API ini untuk membuat departemen baru.

## Permintaan

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

### Parameter kueri

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

### Isi permintaan

| Nama                    | Tipe    | Wajib | Contoh                  | Deskripsi                                                                                                                                                                                                                                                                                                                                                                   |
| ----------------------- | ------- | ----- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| name                    | String  | Ya    | Departemen Pengembangan | Nama departemen. Panjangnya harus 1 hingga 64 karakter. Karakter "-" dan "," tidak diperbolehkan.                                                                                                                                                                                                                                                                           |
| parent\_id              | Number  | Ya    | 10                      | ID departemen induk. ID departemen root adalah 1.                                                                                                                                                                                                                                                                                                                           |
| hide\_dept              | Boolean | Tidak | true                    | Apakah departemen ini disembunyikan:   - **true**: Sembunyikan departemen. Setelah disembunyikan, departemen ini tidak ditampilkan di kontak perusahaan. - **false (Default)**: Tampilkan departemen.                                                                                                                                                                       |
| dept\_permits           | String  | Tidak | "123,456"               | Daftar departemen lain yang diizinkan untuk melihat departemen ini. Jumlah totalnya tidak boleh melebihi 50. Nilai ini berlaku ketika **hide\_dept** disetel ke **true**.                                                                                                                                                                                                   |
| user\_permits           | String  | Tidak | "user123,manager222"    | Daftar userId pengguna yang diizinkan untuk melihat departemen ini. Jumlah totalnya tidak boleh melebihi 50. Nilai ini berlaku ketika **hide\_dept** disetel ke **true**.                                                                                                                                                                                                   |
| outer\_dept             | Boolean | Tidak | true                    | Apakah anggota departemen ini dibatasi untuk melihat kontak:   - **true**: Aktifkan pembatasan. Setelah diaktifkan, anggota departemen ini hanya dapat melihat kontak dalam cakupan yang ditentukan. - **false (Default)**: Tanpa pembatasan.                                                                                                                               |
| outer\_dept\_only\_self | Boolean | Tidak | false                   | Apakah anggota departemen ini hanya dapat melihat kontak departemennya sendiri dan departemen bawahannya:   - **true**: Hanya dapat melihat kontak departemennya sendiri dan departemen bawahannya. - **false**: Tidak dapat melihat kontak apa pun, dan hanya dapat melihat dirinya sendiri di kontak.   Parameter ini berlaku ketika **outer\_dept** disetel ke **true**. |
| outer\_permit\_users    | String  | Tidak | "manager123,user123"    | Daftar userId pengguna kontak yang boleh dilihat oleh anggota departemen ini. Jumlah totalnya tidak boleh melebihi 50. Parameter ini berlaku ketika **outer\_dept** disetel ke **true**.                                                                                                                                                                                    |
| outer\_permit\_depts    | String  | Tidak | "456,123"               | Daftar ID departemen kontak yang boleh dilihat oleh anggota departemen ini. Jumlah totalnya tidak boleh melebihi 50. Parameter ini berlaku ketika **outer\_dept** disetel ke **true**.                                                                                                                                                                                      |
| create\_dept\_group     | Boolean | Tidak | true                    | Apakah membuat grup perusahaan yang terkait dengan departemen ini. Nilai default-nya adalah **false**, yang berarti tidak ada grup yang dibuat.                                                                                                                                                                                                                             |
| auto\_approve\_apply    | Boolean | Tidak | false                   | Apakah permintaan untuk bergabung dengan departemen ini diterima secara default:   - **true:** Permintaan untuk bergabung dengan departemen ini diterima secara default. - **false:** Permintaan untuk bergabung dengan departemen ini harus disetujui oleh admin dengan izin yang diperlukan.                                                                              |
| order                   | Number  | Tidak | 10                      | Nilai urutan dalam departemen induk. Nilai order yang lebih kecil menempatkan departemen lebih tinggi dalam urutan.                                                                                                                                                                                                                                                         |
| source\_identifier      | String  | Tidak | Departemen HR           | Bidang pengidentifikasi departemen. Developer dapat menggunakan bidang ini untuk mengidentifikasi departemen secara unik dan memetakannya ke departemen dalam daftar kontak eksternal di luar DingTalk.                                                                                                                                                                     |

### Contoh permintaan

```curl theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl -X POST "https://api.dingtalk.io/topapi/v2/department/create" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=d5ca5xxxxa8' \
-d 'parent_id=10' \
-d 'outer_dept=true' \
-d 'hide_dept=true' \
-d 'create_dept_group=true' \
-d 'order=10' \
-d 'name=HR' \
-d 'source_identifier=HR%20Department' \
-d 'dept_permits=3%2C4%2C5' \
-d 'user_permits=100%2C200' \
-d 'outer_permit_users=500%2C600' \
-d 'outer_permit_depts=6%2C7%2C8' \
-d 'outer_dept_only_self=true'
```

Java

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/department/create");
OapiV2DepartmentCreateRequest req = new OapiV2DepartmentCreateRequest();
req.setParentId(10L);
req.setOuterDept(true);
req.setHideDept(true);
req.setCreateDeptGroup(true);
req.setOrder(10L);
req.setName("HR");
req.setSourceIdentifier("HR Department");
req.setDeptPermits("3,4,5");
req.setUserPermits("100,200");
req.setOuterPermitUsers("500,600");
req.setOuterPermitDepts("6,7,8");
req.setOuterDeptOnlySelf(true);
OapiV2DepartmentCreateResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
```

Python

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# -*- coding: utf-8 -*-
import dingtalk.api

req=dingtalk.api.OapiV2DepartmentCreateRequest("https://api.dingtalk.io/topapi/v2/department/create")

req.parent_id=10
req.outer_dept=true
req.hide_dept=true
req.create_dept_group=true
req.order=10
req.name="HR"
req.source_identifier="HR Department"
req.dept_permits="3,4,5"
req.user_permits="100,200"
req.outer_permit_users="500,600"
req.outer_permit_depts="6,7,8"
req.outer_dept_only_self=true
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 OapiV2DepartmentCreateRequest;
$req->setName("HR");
$req->setParentId("10");
$req->setHideDept("true");
$req->setDeptPermits("3,4,5");
$req->setUserPermits("100,200");
$req->setOuterPermitUsers("500,600");
$req->setOuterPermitDepts("6,7,8");
$req->setOuterDeptOnlySelf("true");
$req->setOuterDept("true");
$req->setCreateDeptGroup("true");
$req->setOrder("10");
$req->setSourceIdentifier("HR Department");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/v2/department/create");
```

C#

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/department/create");
OapiV2DepartmentCreateRequest req = new OapiV2DepartmentCreateRequest();
req.ParentId = 10L;
req.OuterDept = true;
req.HideDept = true;
req.CreateDeptGroup = true;
req.Order = 10L;
req.Name = "HR";
req.SourceIdentifier = "HR Department";
req.DeptPermits = "3,4,5";
req.UserPermits = "100,200";
req.OuterPermitUsers = "500,600";
req.OuterPermitDepts = "6,7,8";
req.OuterDeptOnlySelf = true;
OapiV2DepartmentCreateResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
```

## Respons

### Isi respons

| Nama        | Tipe               | Contoh       | Deskripsi                    |
| ----------- | ------------------ | ------------ | ---------------------------- |
| request\_id | String             | 6iq4zcul5zjp | ID permintaan.               |
| errcode     | Number             | 0            | Kode pengembalian.           |
| errmsg      | String             | ok           | Deskripsi kode pengembalian. |
| result      | DeptCreateResponse |              | Hasil pemanggilan.           |
| dept\_id    | Number             | 100          | ID departemen.               |

### Contoh isi respons

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

### Kode error

Jika terjadi error saat Anda memanggil API ini, cari solusinya di dokumen [Kode error global](/id/open/development/server-api-error-codes-1) berdasarkan pesan error.

| Kode error (errcode) | Pesan error (errmsg)             | Solusi                                                                   |
| -------------------- | -------------------------------- | ------------------------------------------------------------------------ |
| 40035                | Invalid parameter                | Pastikan parameter diisi sesuai dengan yang diwajibkan dokumen di atas.  |
| 43007                | Authorization required           | Pastikan access\_token memiliki izin yang diperlukan untuk tindakan ini. |
| 60004                | Parent department does not exist | Periksa apakah parent\_id sudah benar.                                   |
| 600109               | Invalid visible ID list          | Periksa apakah daftar yang terlihat memenuhi persyaratan.                |
| -1                   | System busy                      | Coba lagi nanti.                                                         |
