Permintaan
| Informasi dasar | |
|---|---|
| URL HTTP | 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. |
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 -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'
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());
# -*- 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)
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");
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
{
"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 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. |