Permintaan
| Informasi dasar | |
|---|---|
| URL HTTP | https://api.dingtalk.io/topapi/v2/user/create |
| Metode HTTP | POST |
| Jenis aplikasi yang didukung | appType-Aplikasi internal |
| Izin yang diperlukan | permission-qyapi_manage_addresslist-Izin pengelolaan data Kontak |
Parameter kueri
| Nama | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
| access_token | String | Ya | BE3xxxx | Kredensial aplikasi yang digunakan untuk memanggil API ini. Dapatkan melalui API untuk memperoleh access_token dari aplikasi internal. |
Isi permintaan
| Nama | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
| userid | String | Tidak | zhangsan | Identifier unik karyawan (tidak dapat diubah), dengan panjang 1 hingga 64 karakter. Catatan - Harus unik dalam Organisasi Anda. - Jika tidak ditentukan, userId akan dibuat secara otomatis. |
| exclusive_account | Boolean | Ya | true | Harus diatur ke true, yang menandakan bahwa Akun Perusahaan akan dibuat. Catatan Hanya berlaku untuk Akun Perusahaan. |
| exclusive_account_type | String | Ya | dingtalk | Harus diatur ke dingtalk, yang menandakan Akun Perusahaan bawaan DingTalk. Catatan Hanya berlaku untuk Akun Perusahaan bawaan DingTalk. |
| login_id | String | Ya | login_id3 | Nama login Akun Perusahaan bawaan DingTalk. Catatan Jangan sertakan informasi seperti nomor telepon atau tautan email agar pesan SMS pendaftaran tidak diblokir oleh operator. |
| init_password | String | Ya | init_password220 | Kata sandi awal Akun Perusahaan bawaan DingTalk. Kata sandi awal harus terdiri dari minimal 8 karakter. Catatan - Kata sandi tidak boleh seluruhnya berupa huruf atau angka. - Jangan sertakan informasi seperti nomor telepon, email, atau tautan agar pesan SMS pendaftaran tidak diblokir oleh operator. |
| send_password_to_user | Boolean | Tidak | false | Apakah akan mengirim kredensial akun. Nilai default: false. - false: Tidak dikirim. - true: Dikirim. Catatan - Saat dikirim, pesan SMS dikirim ke nomor telepon karyawan atau email dikirim ke alamat email pribadi. - Ketika parameter ini diatur ke true, parameter init_password wajib diisi; jika tidak, tidak ada pesan yang dikirim. |
| name | String | Ya | Zhang San | Nama karyawan, dengan panjang maksimal 80 karakter. |
| dept_id_list | String | Ya | ”2,3,4” | Daftar ID departemen tempat karyawan bernaung. Pisahkan beberapa ID departemen dengan koma (,). Maksimal 100 ID departemen dapat diteruskan per panggilan. |
| telephone | String | Tidak | 010-86123456-2345 | Nomor ekstensi, dengan panjang maksimal 50 karakter. Catatan Nomor ekstensi harus unik dalam Organisasi Anda. |
| job_number | String | Tidak | 4 | ID Karyawan, dengan panjang maksimal 50 karakter. |
| title | String | Tidak | Technical Director | Jabatan, dengan panjang maksimal 200 karakter. |
| String | Tidak | test@xxx.com | Email pribadi karyawan, dengan panjang maksimal 50 karakter. Catatan Email karyawan harus unik dalam Organisasi Anda. | |
| org_email | String | Tidak | test@xxx.com | Email Perusahaan karyawan, dengan panjang maksimal 100 karakter. Catatan Bidang ini hanya berfungsi ketika karyawan telah mengaktifkan Email Perusahaan. |
| org_email_type | String | Tidak | profession | Tipe Email Perusahaan karyawan: - profession: Edisi Standar. - base: Edisi Dasar. |
| work_place | String | Tidak | Future Park | Lokasi Kerja, dengan panjang maksimal 100 karakter. |
| remark | String | Tidak | Alias information | Alias, dengan panjang maksimal 2.000 karakter. |
| dept_order_list | Object[] | Tidak | Urutan sortir karyawan dalam setiap departemen. | |
| dept_id | Number | Tidak | 2 | ID departemen. |
| order | Number | Tidak | 1 | Urutan sortir karyawan dalam departemen. Nilai yang lebih besar menandakan posisi yang lebih tinggi. |
| dept_title_list | Object[] | Tidak | Jabatan karyawan dalam setiap departemen. | |
| dept_id | Number | Tidak | 2 | ID departemen. |
| title | String | Tidak | Senior Product Manager | Jabatan karyawan dalam departemen. |
| extension | String | Tidak | {"Hobby":"Travel","Age":"24"} | Atribut tambahan. Beberapa atribut dapat diatur, dengan panjang maksimal 2.000 karakter. Catatan - Maksimal 10 atribut tambahan dapat ditampilkan di perangkat seluler. - Sebelum menggunakan parameter ini, tambahkan atribut terlebih dahulu di konsol admin DingTalk, lalu panggil API untuk menetapkan nilai. - Nilai bidang ini mendukung tipe tautan. Tautan mendukung wildcard variabel yang diganti secara otomatis. Wildcard yang saat ini didukung adalah userid dan corpid. Contoh: {"Hobby":"[Hobby](http://www.dingtalk.io?userid=#userid#&corpid=#corpid#)"}. |
| senior_mode | Boolean | Tidak | false | Apakah akan mengaktifkan mode eksekutif. Nilai default: false. - true: Aktifkan. Catatan - Ketika diaktifkan, nomor telepon disembunyikan dari semua karyawan. - Karyawan biasa tidak dapat mengirim DING atau memulai panggilan bisnis DingTalk kepada eksekutif. - Sesama eksekutif dapat saling mengirim DING dan memulai panggilan bisnis DingTalk. - false: Jangan aktifkan. |
| hired_date | Number | Tidak | 1597573616828 | Tanggal perekrutan, dalam format Unix timestamp (dalam milidetik). |
| manager_userid | String | Tidak | 001 | userId atasan langsung. |
| exclusive_mobile | String | Tidak | +86-13412341234 | Nomor telepon Akun Perusahaan. Catatan Hanya berlaku untuk Akun Perusahaan. |
| avatarMediaId | String | Tidak | @lALPDfmVUw19YdrNA-jNA-g | Saat membuat Akun Perusahaan untuk Organisasi Anda, Anda dapat menentukan MediaId Foto Profil. Hanya format jpg dan png yang didukung. Dapatkan dengan memanggil API Unggah file media. Catatan Hanya berlaku untuk Akun Perusahaan. |
| nickname | String | Tidak | Name | Saat membuat Akun Perusahaan untuk Organisasi Anda, Anda dapat menentukan Nama. Catatan Hanya berlaku untuk Akun Perusahaan. |
Contoh permintaan
curl -X POST "https://api.dingtalk.io/topapi/v2/user/create" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=3e4fcfdc-0d84-4124-9600-9456f89a42ef' \
-d 'exclusive_account_type=dingtalk' \
-d 'login_id=login_id3' \
-d 'extension=%7B%5C%22%E7%88%B1%E5%A5%BD%5C%22%3A%5C%22%E6%97%85%E6%B8%B8%5C%22%2C%5C%22%E5%B9%B4%E9%BE%84%5C%22%3A%5C%2224%5C%22%7D' \
-d 'exclusive_account=true' \
-d 'manager_userid=001' \
-d 'remark=%E5%A4%87%E6%B3%A8%E5%A4%87%E6%B3%A8' \
-d 'telephone=010-86123456-2345' \
-d 'hired_date=1597573616828' \
-d 'title=%E6%8A%80%E6%9C%AF%E6%80%BB%E7%9B%91' \
-d 'org_email_type=profession' \
-d 'userid=zhangsan' \
-d 'avatarMediaId=%40lALPDfmVUw19YdrNA-jNA-g' \
-d 'dept_title_list=null' \
-d 'work_place=%E6%9C%AA%E6%9D%A5park' \
-d 'dept_order_list=null' \
-d 'senior_mode=false' \
-d 'org_email=test%40xxx.com' \
-d 'name=%E5%BC%A0%E4%B8%89' \
-d 'nickname=%E6%98%B5%E7%A7%B0' \
-d 'exclusive_mobile=%2B86-13412341234' \
-d 'dept_id_list=%5C%222%2C3%2C4%5C%22' \
-d 'job_number=4' \
-d 'init_password=init_password220' \
-d 'email=test%40xxx.com'
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/user/create");
OapiV2UserCreateRequest req = new OapiV2UserCreateRequest();
req.setUserid("123456789");
req.setExclusiveAccount(true);
req.setExclusiveAccountType("dingtalk");
req.setLoginId("xiaodingding");
req.setInitPassword("12345678dingding");
req.setName("Akun Perusahaan bawaan DingTalk");
req.setDeptIdList("486882146,609916162");
req.setTelephone("123");
req.setJobNumber("123");
req.setTitle("Technical Director");
req.setEmail("test@xxx.com");
req.setOrgEmail("ceshi2");
req.setOrgEmailType("base");
req.setWorkPlace("Beijing");
req.setRemark("Alias information");
OapiV2UserCreateRequest.DeptOrder deptOrder1 = new OapiV2UserCreateRequest.DeptOrder();
deptOrder1.setDeptId(486882146L);
deptOrder1.setOrder(2L);
OapiV2UserCreateRequest.DeptOrder deptOrder2 = new OapiV2UserCreateRequest.DeptOrder();
deptOrder2.setDeptId(609916162L);
deptOrder2.setOrder(1L);
ArrayList<OapiV2UserCreateRequest.DeptOrder> deptOrderList = new ArrayList<>();
deptOrderList.add(deptOrder1);
deptOrderList.add(deptOrder2);
req.setDeptOrderList(deptOrderList);
OapiV2UserCreateRequest.DeptTitle deptTitle1 = new OapiV2UserCreateRequest.DeptTitle();
deptTitle1.setTitle("Test");
deptTitle1.setDeptId(486882146L);
OapiV2UserCreateRequest.DeptTitle deptTitle2 = new OapiV2UserCreateRequest.DeptTitle();
deptTitle2.setTitle("Director");
deptTitle2.setDeptId(609916162L);
ArrayList<OapiV2UserCreateRequest.DeptTitle> deptTitleList = new ArrayList<>();
deptTitleList.add(deptTitle1);
deptTitleList.add(deptTitle2);
req.setDeptTitleList(deptTitleList);
req.setExtension("{\"Hobby\":\"Travel\",\"Age\":\"24\"}");
req.setSeniorMode(false);
req.setHiredDate(1650351000000l);
req.setManagerUserid("001");
req.setExclusiveMobile("150xxxx");
req.setAvatarMediaId("@lADPDfYH3A-xxxx");
req.setNickname("Name1");
OapiV2UserCreateResponse rsp = client.execute(req, accessToken);
System.out.println(rsp.getBody());
# -*- coding: utf-8 -*-
import dingtalk.api
req=dingtalk.api.OapiV2UserCreateRequest("https://api.dingtalk.io/topapi/v2/user/create")
req.userid="zhangsan"
req.name="John"
req.telephone="010-86123456-2345"
req.job_number="4"
req.title="Technical Director"
req.email="test@xxx.com"
req.org_email="test@xxx.com"
req.work_place="Future Park"
req.remark="Alias information"
req.dept_id_list=""2,3,4""
req.dept_order_list=""
req.dept_title_list=""
req.extension="{\"Hobby\":\"Travel\",\"Age\":\"24\"}"
req.senior_mode=false
req.hired_date=1597573616828
req.exclusive_account=false
req.exclusive_account_type="dingtalk"
req.login_id="login_id3"
req.init_password="init_password220"
req.org_email_type="profession"
req.manager_userid="001"
req.exclusive_mobile="+86-13412341234"
req.outer_exclusive_corpid="corpid"
req.outer_exclusive_userid="userid"
req.avatarMediaId="@lALPDfmVUw19YdrNA-jNA-g"
req.nickname="Name"
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 OapiV2UserCreateRequest;
$req->setUserid("zhangsan");
$req->setExclusiveAccount("true");
$req->setExclusiveAccountType("dingtalk");
$req->setLoginId("login_id3");
$req->setInitPassword("init_password220");
$req->setName("John");
$req->setDeptIdList("\"2,3,4\"");
$req->setTelephone("010-86123456-2345");
$req->setJobNumber("4");
$req->setTitle("Technical Director");
$req->setEmail("test@xxx.com");
$req->setOrgEmail("test@xxx.com");
$req->setWorkPlace("Future Park");
$req->setRemark("Alias information");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/v2/user/create");
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/user/create");
OapiV2UserCreateRequest req = new OapiV2UserCreateRequest();
req.Userid = "zhangsan";
req.Name = "John";
req.Mobile = "13800138000";
req.Telephone = "010-86123456-2345";
req.JobNumber = "4";
req.Title = "Technical Director";
req.Email = "test@xxx.com";
req.OrgEmail = "test@xxx.com";
req.WorkPlace = "Future Park";
req.Remark = "Alias information";
req.DeptIdList = "\"2,3,4\"";
req.ExclusiveAccount = true;
req.ExclusiveAccountType = "dingtalk";
req.LoginId = "login_id3";
req.InitPassword = "init_password220";
req.OrgEmailType = "profession";
req.ManagerUserid = "001";
req.AvatarMediaId = "@lALPDfmVUw19YdrNA-jNA-g";
OapiV2UserCreateResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
Respons
Isi respons
| Nama | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| errcode | Number | 0 | Kode error. 0 menandakan berhasil. |
| errmsg | String | ok | Pesan error. |
| result | Object | Hasil yang dikembalikan. | |
| userid | String | zhangsan | ID karyawan. |
| unionId | String | xxxx | ID unik karyawan. |
Contoh isi respons
{
"errcode":"0",
"result":{
"unionId":"xxxx",
"userid":"zhangsan"
},
"errmsg":"ok"
}