Deskripsi panggilan API
Menambahkan Akun Perusahaan dari organisasi lain ke dalam organisasi Anda hanya tersedia bagi organisasi yang telah membeli dan mengaktifkan fitur ini. Perhatikan hal berikut saat memanggil API ini untuk menambahkan Akun Perusahaan dari organisasi lain ke dalam organisasi Anda:- API ini tidak mendukung penambahan akun non-Akun Perusahaan dari organisasi lain.
- Organisasi lain harus memanggil API Otorisasi Akun Perusahaan untuk bergabung ke beberapa organisasi untuk mengotorisasi Akun Perusahaan mereka bergabung ke organisasi Anda. Setelah otorisasi selesai, organisasi lain telah mengizinkan organisasi Anda untuk menambahkan Akun Perusahaan mereka ke dalam organisasi Anda.
- Setelah panggilan API ini berhasil, Akun Perusahaan dari organisasi lain langsung ditambahkan ke dalam organisasi Anda. Tidak diperlukan konfirmasi tambahan dari Akun Perusahaan. (Setelah otorisasi pada langkah 2 selesai, organisasi lain dianggap telah menerima, dan tidak diperlukan penerimaan tambahan di tingkat akun.)
Permintaan
| Informasi dasar | |
|---|---|
| URL HTTP | https://api.dingtalk.io/topapi/v2/user/create |
| Metode HTTP | POST |
| Tipe aplikasi yang didukung | appType-Aplikasi internal |
| Izin yang wajib | permission-qyapi_manage_addresslist-Izin pengelolaan data Kontak |
Parameter query
| Nama | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
| access_token | String | Ya | BE3xxxx | Kredensial aplikasi yang digunakan untuk memanggil API ini. Peroleh melalui API untuk mendapatkan access_token dari Aplikasi internal. |
Isi permintaan
| Nama | Tipe | Wajib | Contoh | Deskripsi |
|---|---|---|---|---|
| userid | String | Tidak | zhangsan | Pengidentifikasi unik Karyawan (tidak dapat diubah). Panjang: 1–64 karakter. Catatan - Harus unik di dalam Organisasi Anda. - Jika tidak diisi, ID pengguna akan dibuat secara otomatis. |
| outer_exclusive_corpid | String | Ya | ding12345 | ID organisasi tempat Akun Perusahaan yang akan ditambahkan berada. |
| outer_exclusive_userid | String | Ya | user01 | ID pengguna tempat Akun Perusahaan yang akan ditambahkan berada. |
| name | String | Ya | Budi Santoso | Nama Karyawan. Panjang maksimum: 80 karakter. |
| dept_id_list | String | Ya | ”2,3,4” | Daftar ID Departemen tempat Karyawan berada. Pisahkan beberapa ID Departemen dengan tanda koma bahasa Inggris ,. Maksimal 100 ID Departemen dapat dikirim per panggilan. |
| telephone | String | Tidak | 010-86123456-2345 | Nomor ekstensi. Panjang maksimum: 50 karakter. Catatan Nomor ekstensi bersifat unik dan tidak boleh berulang di dalam Organisasi Anda. |
| job_number | String | Tidak | 4 | ID Karyawan. Panjang maksimum: 50 karakter. |
| title | String | Tidak | Direktur Teknis | Jabatan. Panjang maksimum: 200 karakter. |
| String | Tidak | test@xxx.com | Email pribadi Karyawan. Panjang maksimum: 50 karakter. Catatan Email Karyawan bersifat unik dan tidak boleh berulang di dalam Organisasi Anda. | |
| org_email | String | Tidak | test@xxx.com | Email Perusahaan Karyawan. Panjang maksimum: 100 karakter. Catatan Bidang ini hanya berlaku 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. Panjang maksimum: 100 karakter. |
| remark | String | Tidak | Informasi alias | Alias. Panjang maksimum: 2000 karakter. |
| dept_order_list | Object[] | Tidak | Urutan Karyawan di dalam setiap Departemen. | |
| dept_id | Number | Tidak | 2 | ID Departemen. |
| order | Number | Tidak | 1 | Urutan Karyawan di dalam Departemen. Nilai yang lebih besar berarti posisi yang lebih tinggi dalam urutan. |
| dept_title_list | Object[] | Tidak | Jabatan Karyawan di dalam setiap Departemen. | |
| dept_id | Number | Tidak | 2 | ID Departemen. |
| title | String | Tidak | Manajer Produk Senior | Jabatan Karyawan di dalam Departemen. |
| extension | String | Tidak | {"hobby":"travel","age":"24"} | Atribut ekstensi. Beberapa atribut dapat diatur. Panjang maksimum: 2000 karakter. Catatan - Maksimal 10 atribut ekstensi dapat ditampilkan di perangkat seluler. - Sebelum menggunakan parameter ini, tambahkan atribut di DingTalk Admin Console, lalu panggil API untuk menetapkan nilai. - Bidang ini mendukung nilai tipe Tautan. Tautan juga mendukung wildcard variabel untuk penggantian otomatis. Wildcard yang saat ini didukung adalah userid dan corpid. Sebagai contoh: {"hobby":"[hobby](http://www.dingtalk.io?userid=#userid#&corpid=#corpid#)"}. |
| senior_mode | Boolean | Tidak | false | Apakah mengaktifkan mode eksekutif. Default: false. - true: Aktifkan. Catatan - Setelah diaktifkan, nomor telepon disembunyikan dari semua Karyawan. - Karyawan biasa tidak dapat mengirim DING atau memulai panggilan bisnis DingTalk dengan pengguna ini. - Para eksekutif dapat saling mengirim DING dan memulai panggilan bisnis DingTalk satu sama lain. - false: Nonaktifkan. |
| hired_date | Number | Tidak | 1597573616828 | Tanggal masuk kerja. Unix timestamp, dalam milidetik. |
| manager_userid | String | Tidak | 001 | ID pengguna dari atasan langsung. |
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=YOUR_ACCESS_TOKEN' \
-d 'outer_exclusive_corpid=ding12345' \
-d 'outer_exclusive_userid=user01' \
-d 'name=Budi Santoso' \
-d 'dept_id_list=2,3,4' \
-d 'userid=zhangsan' \
-d 'telephone=010-86123456-2345' \
-d 'job_number=4' \
-d 'title=Direktur Teknis' \
-d 'email=test@xxx.com' \
-d 'work_place=Future Park' \
-d 'remark=Informasi alias'
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/user/create");
OapiV2UserCreateRequest req = new OapiV2UserCreateRequest();
req.setUserid("zhangsan");
req.setName("Budi Santoso");
req.setMobile("13800138000");
req.setHideMobile(false);
req.setTelephone("010-86123456-2345");
req.setJobNumber("4");
req.setTitle("Direktur Teknis");
req.setEmail("test@xxx.com");
req.setOrgEmail("test@xxx.com");
req.setWorkPlace("Future Park");
req.setRemark("Catatan");
req.setDeptIdList("2,3,4");
List<DeptOrder> list2 = new ArrayList<DeptOrder>();
DeptOrder obj3 = new DeptOrder();
list2.add(obj3);
req.setDeptOrderList(list2);
List<DeptTitle> list5 = new ArrayList<DeptTitle>();
DeptTitle obj6 = new DeptTitle();
list5.add(obj6);
req.setDeptTitleList(list5);
req.setSeniorMode(false);
req.setHiredDate(1597573616828L);
req.setLoginEmail("test@xxx.com");
req.setExclusiveAccount(false);
req.setExclusiveAccountType("dingtalk");
req.setLoginId("login_id3");
req.setInitPassword("init_password220");
List<DeptPosition> list8 = new ArrayList<DeptPosition>();
DeptPosition obj9 = new DeptPosition();
list8.add(obj9);
req.setDeptPositionList(list8);
req.setOrgEmailType("profession");
req.setManagerUserid("001");
req.setExclusiveMobile("+86-13412341234");
req.setExclusiveMobileVerifyStatus("verified/notVerified");
req.setOuterExclusiveCorpid("corpid");
req.setOuterExclusiveUserid("userid");
req.setAvatarMediaId("@lALPDfmVUw19YdrNA-jNA-g");
req.setNickname("Nama");
req.setExtAttrsUpdateMode(0L);
List<EmpExtAttr> list11 = new ArrayList<EmpExtAttr>();
EmpExtAttr obj12 = new EmpExtAttr();
list11.add(obj12);
req.setExtAttrs(list11);
req.setGender("F/M/none");
req.setLimited(false);
req.setHasSubordinate(false);
req.setDeptName("Departemen1-Departemen11-Departemen111");
req.setFlowerName("Alias");
req.setSendPasswordToUser(false);
req.setCheckUserProtect(true);
OapiV2UserCreateResponse rsp = client.execute(req, "");
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="Budi Santoso"
req.mobile="13800138000"
req.hide_mobile=false
req.telephone="010-86123456-2345"
req.job_number="4"
req.title="Direktur Teknis"
req.email="test@xxx.com"
req.org_email="test@xxx.com"
req.work_place="Future Park"
req.remark="Catatan"
req.dept_id_list="2,3,4"
req.dept_order_list="[2,1]"
req.dept_title_list="[2,"Manajer Produk Senior"]"
req.senior_mode=false
req.hired_date=1597573616828
req.login_email="test@xxx.com"
req.exclusive_account=false
req.exclusive_account_type="dingtalk"
req.login_id="login_id3"
req.init_password="init_password220"
req.dept_position_list="[true,"Future Park","Manajer Produk Senior",2,"100"]"
req.org_email_type="profession"
req.manager_userid="001"
req.exclusive_mobile="+86-13412341234"
req.exclusive_mobile_verify_status="verified/notVerified"
req.outer_exclusive_corpid="corpid"
req.outer_exclusive_userid="userid"
req.avatarMediaId="@lALPDfmVUw19YdrNA-jNA-g"
req.nickname="Nama"
req.ext_attrs_update_mode=0
req.ext_attrs="["emp:xxx",{"images":["https://img.alicdn.com/imgextra/i2/O1CN01IVwD5w1mqnRxmUBng_!!6000000005006-2-tps-64-64.png"],"text":"Klik untuk mengunjungi situs web resmi DingTalk","url":"www.dingtalk.io"}]"
req.gender="F/M/none"
req.limited=false
req.has_subordinate=false
req.dept_name="Departemen1-Departemen11-Departemen111"
req.flower_name="Alias"
req.send_password_to_user=false
req.check_user_protect=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 OapiV2UserCreateRequest;
$req->setUserid("zhangsan");
$req->setName("Budi Santoso");
$req->setMobile("13800138000");
$req->setHideMobile("false");
$req->setTelephone("010-86123456-2345");
$req->setJobNumber("4");
$req->setTitle("Direktur Teknis");
$req->setEmail("test@xxx.com");
$req->setOrgEmail("test@xxx.com");
$req->setWorkPlace("Future Park");
$req->setRemark("Catatan");
$req->setDeptIdList("2,3,4");
$dept_order_list = new DeptOrder;
$req->setDeptOrderList(array($dept_order_list));
$dept_title_list = new DeptTitle;
$req->setDeptTitleList(array($dept_title_list));
$req->setSeniorMode("false");
$req->setHiredDate("1597573616828");
$req->setLoginEmail("test@xxx.com");
$req->setExclusiveAccount("false");
$req->setExclusiveAccountType("dingtalk");
$req->setLoginId("login_id3");
$req->setInitPassword("init_password220");
$dept_position_list = new DeptPosition;
$req->setDeptPositionList(array($dept_position_list));
$req->setOrgEmailType("profession");
$req->setManagerUserid("001");
$req->setExclusiveMobile("+86-13412341234");
$req->setExclusiveMobileVerifyStatus("verified/notVerified");
$req->setOuterExclusiveCorpid("corpid");
$req->setOuterExclusiveUserid("userid");
$req->setAvatarMediaId("@lALPDfmVUw19YdrNA-jNA-g");
$req->setNickname("Nama");
$req->setExtAttrsUpdateMode("0");
$ext_attrs = new EmpExtAttr;
$req->setExtAttrs(array($ext_attrs));
$req->setGender("F/M/none");
$req->setLimited("false");
$req->setHasSubordinate("false");
$req->setDeptName("Departemen1-Departemen11-Departemen111");
$req->setFlowerName("Alias");
$req->setSendPasswordToUser("false");
$req->setCheckUserProtect("true");
$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.OuterExclusiveCorpid = "ding12345";
req.OuterExclusiveUserid = "user01";
req.Name = "Budi Santoso";
req.DeptIdList = "2,3,4";
req.Userid = "zhangsan";
req.Telephone = "010-86123456-2345";
req.JobNumber = "4";
req.Title = "Direktur Teknis";
req.Email = "test@xxx.com";
req.OrgEmail = "test@xxx.com";
req.OrgEmailType = "profession";
req.WorkPlace = "Future Park";
req.Remark = "Informasi alias";
List<OapiV2UserCreateRequest.DeptOrderDomain> deptOrderList = new List<OapiV2UserCreateRequest.DeptOrderDomain>();
OapiV2UserCreateRequest.DeptOrderDomain orderObj = new OapiV2UserCreateRequest.DeptOrderDomain();
orderObj.DeptId = 2L;
orderObj.Order = 1L;
deptOrderList.Add(orderObj);
req.DeptOrderList_ = deptOrderList;
List<OapiV2UserCreateRequest.DeptTitleDomain> deptTitleList = new List<OapiV2UserCreateRequest.DeptTitleDomain>();
OapiV2UserCreateRequest.DeptTitleDomain titleObj = new OapiV2UserCreateRequest.DeptTitleDomain();
titleObj.DeptId = 2L;
titleObj.Title = "Manajer Produk Senior";
deptTitleList.Add(titleObj);
req.DeptTitleList_ = deptTitleList;
req.Extension = "{\"hobby\":\"travel\",\"age\":\"24\"}";
req.SeniorMode = false;
req.HiredDate = 1597573616828L;
req.ManagerUserid = "001";
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 pengguna Karyawan. |
| unionId | String | xxxx | unionId Karyawan. |
Contoh isi respons
{
"errcode":"0",
"result":{
"unionId":"xxxx",
"userid":"zhangsan"
},
"errmsg":"ok"
}