Permintaan
| Informasi dasar | |
|---|---|
| URL HTTP | https://api.dingtalk.io/topapi/v2/user/update |
| Metode HTTP | POST |
| Tipe 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 | be3Fxxxx | 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 | Ya | user123 | ID pengguna dari karyawan. |
| name | String | Tidak | Zhang San | Nama karyawan. Maksimal 80 karakter. |
| hide_mobile | Boolean | Tidak | false | Apakah menyembunyikan nomor telepon: - true: Sembunyikan. Setelah nomor telepon disembunyikan, nomor tersebut tidak ditampilkan di halaman Profil, tetapi Anda tetap dapat mengirim DING dan memulai panggilan bisnis DingTalk kepada karyawan ini. - false: Jangan sembunyikan. |
| telephone | String | Tidak | 010-86123456-2345 | Nomor ekstensi. Maksimal 50 karakter. Catatan Nomor ekstensi bersifat unik dan tidak boleh sama dalam Organisasi Anda. |
| job_number | String | Tidak | 4 | ID Karyawan. Maksimal 50 karakter. |
| manager_userid | String | Tidak | 0001 | ID pengguna dari atasan langsung. |
| title | String | Tidak | Technical Director | Jabatan. Maksimal 200 karakter. |
| String | Tidak | test@xxx.com | Email karyawan. Maksimal 50 karakter. Catatan Email karyawan bersifat unik dan tidak boleh sama dalam Organisasi Anda. | |
| org_email | String | Tidak | test@xxx.com | Email Perusahaan dari karyawan. Catatan Bidang ini hanya berlaku jika kondisi berikut terpenuhi: Email Perusahaan karyawan telah diaktifkan. |
| work_place | String | Tidak | Future Park | Lokasi Kerja. Maksimal 100 karakter. |
| remark | String | Tidak | Alias information | Alias. Maksimal 2000 karakter. |
| dept_id_list | String | Ya | ”2,3,4” | Daftar ID departemen tempat karyawan bernaung. |
| dept_order_list | DeptOrder[] | Tidak | Urutan sortir karyawan dalam departemen terkait. | |
| dept_id | Number | Tidak | 2 | ID departemen. |
| order | Number | Tidak | 1 | Urutan sortir karyawan dalam departemen. |
| dept_title_list | DeptTitle[] | Tidak | Jabatan karyawan dalam departemen terkait. | |
| 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 lanjutan. Maksimal 2000 karakter. Catatan - Maksimal 10 atribut lanjutan dapat ditampilkan di perangkat seluler. - Jika 10 bidang atribut lanjutan disetel untuk seorang karyawan, semua 10 bidang harus dikirim saat pembaruan, meskipun nilainya tidak berubah. Jika hanya 1 yang dikirim, 9 lainnya akan dikosongkan. - Sebelum menggunakan parameter ini, tambahkan atribut di DingTalk Admin Console > Pengaturan > Informasi Kontak. - Nilai bidang ini mendukung input tipe tautan, dan tautan mendukung penggantian otomatis wildcard variabel. Wildcard yang saat ini didukung adalah userid dan corpid. Contoh: [Alamat nomor meja](http://www.dingtalk.io?userid=#userid#&corpid=#corpid#). |
| ext_attrs_update_mode | Number | Tidak | 1 | Mode pembaruan untuk bidang Kustom dari atribut lanjutan: - 0: Mode timpa - 1: Mode tambah Default adalah Timpa. |
| senior_mode | Boolean | Tidak | false | Apakah mengaktifkan Mode Eksekutif. Default adalah false. - true: Aktifkan. Catatan - Saat diaktifkan, nomor telepon disembunyikan dari semua karyawan. - Karyawan biasa tidak dapat mengirim DING atau memulai panggilan bisnis DingTalk kepada pengguna ini. - Para eksekutif dapat saling mengirim DING dan memulai panggilan bisnis DingTalk. - false: Jangan aktifkan. |
| hired_date | Number | Tidak | 1597573616828 | Tanggal perekrutan, dalam bentuk UNIX timestamp dalam milidetik. |
| language | String | Tidak | zh_CN | Bahasa Kontak. Nilai: - zh_CN: Bahasa Mandarin (Default). - en_US: Bahasa Inggris. |
| force_update_fields | String | Tidak | manager_userid | Bidang yang dipaksa untuk diperbarui. Mendukung pengosongan bidang tertentu. Pisahkan beberapa bidang dengan koma. Bidang yang saat ini didukung: manager_userid, org_email. Catatan - Jika org_email disertakan dalam bidang yang dipaksa diperbarui dan parameter org_email kosong, ikatan antara karyawan dan Email Perusahaan akan dihapus, dan akun Email Perusahaan akan dibekukan atau dihapus. - Jika org_email disertakan dalam bidang yang dipaksa diperbarui dan karyawan sudah terikat dengan Email Perusahaan lain, ikatan dengan Email Perusahaan asli akan dihapus, akun Email Perusahaan asli akan dibekukan atau dihapus, dan karyawan akan diikat ke Email Perusahaan yang baru. - Jika org_email disertakan dalam bidang yang dipaksa diperbarui dan akun mailbox terkait adalah mailbox publik atau layanan, tipe mailbox akan dikonversi menjadi mailbox biasa, dan karyawan akan diikat ke Email Perusahaan. |
| org_email_type | String | Tidak | profession | Tipe Email Perusahaan untuk karyawan Akun Perusahaan. - profession: Edisi Standar - base: Edisi Dasar |
| loginId | String | Tidak | loginId123 | Nama masuk untuk Akun Perusahaan DingTalk. Hanya Akun Perusahaan DingTalk yang dapat memperbarui bidang ini. Akun Perusahaan Single Sign-On tidak didukung. Catatan Jangan sertakan informasi kontak seperti nomor telepon, alamat email, atau tautan agar pesan SMS tidak diblokir oleh operator. |
| init_password | String | Tidak | init_password220 | Kata sandi awal untuk Akun Perusahaan DingTalk. Minimal 8 karakter. Catatan - Tidak boleh terdiri seluruhnya dari huruf atau angka. - Hanya Akun Perusahaan DingTalk yang dapat memperbarui bidang ini. Akun Perusahaan Single Sign-On tidak didukung. - Jangan sertakan informasi kontak seperti nomor telepon, alamat email, atau tautan agar pesan SMS tidak diblokir oleh operator. |
| send_password_to_user | Boolean | Tidak | false | Apakah mengirim kredensial akun. Default adalah false. - false: Jangan kirim - true: Kirim Catatan - Ketika parameter ini bernilai true, parameter init_password bersifat Wajib; jika tidak, kredensial tidak akan dikirim. - Saat pengiriman, pesan SMS akan dikirim ke nomor telepon karyawan atau email akan dikirim ke mailbox pribadi karyawan. - Hanya Akun Perusahaan DingTalk yang mendukung pengaturan bidang ini. Akun Perusahaan Single Sign-On tidak didukung. |
| exclusive_mobile | String | Tidak | 150xxxxxxx | Nomor telepon dari Akun Perusahaan. |
| avatarMediaId | String | Tidak | @lALPDfmVUw19YdrNA-jNA-g | Saat memperbarui Akun Perusahaan untuk organisasi saat ini, Anda dapat menentukan MediaId Foto Profil. Hanya format jpg dan png yang didukung. Dapatkan melalui API Unggah media File. Catatan Mendukung Akun Perusahaan Kustom dan Akun Perusahaan Single Sign-On. |
| nickname | String | Tidak | Name | Nama dari Akun Perusahaan. Catatan Mendukung Akun Perusahaan Kustom dan Akun Perusahaan Single Sign-On. |
| dept_position_list | DeptPosition[] | Tidak | Informasi posisi dalam departemen. | |
| extension_i18n | Json | Tidak | {"hobby":{"zh_CN":"travel","en_US":"travel","aJP":"travel"}} | Nilai terinternasionalisasi dari atribut lanjutan. |
Contoh permintaan
curl -X POST "https://api.dingtalk.io/topapi/v2/user/update" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=9321cd22-5087-4456-969a-190ad398e925' \
-d 'userid=zhangsan' \
-d 'name=%E5%BC%A0%E4%B8%89' \
-d 'mobile=1851xxxx676' \
-d 'hide_mobile=false' \
-d 'telephone=010-86123456-2345' \
-d 'job_number=4' \
-d 'title=%E6%8A%80%E6%9C%AF%E6%80%BB%E7%9B%91' \
-d 'email=test%40xxx.com'
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/user/update");
OapiV2UserUpdateRequest req = new OapiV2UserUpdateRequest();
req.setUserid("user001");
req.setName("John dingtalk");
req.setHideMobile(true);
req.setTelephone("456");
req.setJobNumber("456");
req.setManagerUserid("001");
req.setTitle("title");
req.setEmail("xxx@xxx.com");
req.setOrgEmail("1111");
req.setWorkPlace("Beijing");
req.setRemark("Alias");
req.setDeptIdList("486882146,609916162");
List<OapiV2UserUpdateRequest.DeptOrder> deptOrderList = new ArrayList<OapiV2UserUpdateRequest.DeptOrder>();
OapiV2UserUpdateRequest.DeptOrder deptOrder1 = new OapiV2UserUpdateRequest.DeptOrder();
deptOrder1.setDeptId(486882146l);
deptOrder1.setOrder(1L);
OapiV2UserUpdateRequest.DeptOrder deptOrder2 = new OapiV2UserUpdateRequest.DeptOrder();
deptOrder2.setDeptId(609916162l);
deptOrder2.setOrder(1L);
deptOrderList.add(deptOrder1);
deptOrderList.add(deptOrder2);
req.setDeptOrderList(deptOrderList);
List<OapiV2UserUpdateRequest.DeptTitle> deptTitleList = new ArrayList<OapiV2UserUpdateRequest.DeptTitle>();
OapiV2UserUpdateRequest.DeptTitle deptTitle1 = new OapiV2UserUpdateRequest.DeptTitle();
deptTitle1.setDeptId(486882146l);
deptTitle1.setTitle("Senior Product Manager");
OapiV2UserUpdateRequest.DeptTitle deptTitle2 = new OapiV2UserUpdateRequest.DeptTitle();
deptTitle2.setDeptId(609916162l);
deptTitle2.setTitle("Senior Product Manager");
deptTitleList.add(deptTitle1);
deptTitleList.add(deptTitle2);
req.setDeptTitleList(deptTitleList);
req.setExtension("{\"Hobby\":\"Travel\",\"Age\":\"24\"}");
req.setSeniorMode(false);
req.setHiredDate(1650351000000l);
req.setForceUpdateFields("manager_userid");
req.setLanguage("zh_CN");
req.setOrgEmailType("profession");
req.setLoginId("test");
req.setExclusiveMobile("183xxxx");
req.setAvatarMediaId("@lADPDfYH3A-xxxx");
req.setNickname("Test");
OapiV2UserUpdateResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
# -*- coding: utf-8 -*-
import dingtalk.api
req=dingtalk.api.OapiV2UserUpdateRequest("https://api.dingtalk.io/topapi/v2/user/update")
req.userid="zhangsan"
req.name="John"
req.mobile="13800138000"
req.hide_mobile=false
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"
req.dept_id_list="2,3,4"
req.dept_order_list="[2,1]"
req.dept_title_list="[2,"Senior Product Manager"]"
req.senior_mode=false
req.hired_date=1597573616828
req.language="zh_CN"
req.init_password="Password123"
req.loginId="loginId123"
req.dept_position_list="[2,"Senior Product Manager",true,"Future park","100",{},{}]"
req.org_email_type="profession"
req.force_update_fields="manager_userid"
req.manager_userid="0001"
req.exclusive_mobile="+86-19812341234"
req.exclusive_mobile_verify_status="verified/notVerified"
req.nickname="Name"
req.avatarMediaId="@lALPDfmVUw19YdrNA-jNA-g"
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 resmi DingTalk","url":"www.dingtalk.io"}]"
req.gender="F"
req.limited=false
req.has_subordinate=false
req.dept_name="Department1-Department11-Department111"
req.flower_name="Nickname"
req.send_password_to_user=false
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 OapiV2UserUpdateRequest;
$req->setUserid("zhangsan");
$req->setName("John");
$req->setMobile("13800138000");
$req->setHideMobile("false");
$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");
$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->setLanguage("zh_CN");
$req->setInitPassword("Password123");
$req->setLoginId("loginId123");
$dept_position_list = new DeptPosition;
$req->setDeptPositionList(array($dept_position_list));
$req->setOrgEmailType("profession");
$req->setForceUpdateFields("manager_userid");
$req->setManagerUserid("0001");
$req->setExclusiveMobile("+86-19812341234");
$req->setExclusiveMobileVerifyStatus("verified/notVerified");
$req->setNickname("Name");
$req->setAvatarMediaId("@lALPDfmVUw19YdrNA-jNA-g");
$req->setExtAttrsUpdateMode("0");
$ext_attrs = new EmpExtAttr;
$req->setExtAttrs(array($ext_attrs));
$req->setGender("F");
$req->setLimited("false");
$req->setHasSubordinate("false");
$req->setDeptName("Department1-Department11-Department111");
$req->setFlowerName("Nickname");
$req->setSendPasswordToUser("false");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/v2/user/update");
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/user/update");
OapiV2UserUpdateRequest req = new OapiV2UserUpdateRequest();
req.Userid = "zhangsan";
req.Name = "John";
req.Mobile = "185xxxx676";
req.HideMobile = false;
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";
req.DeptIdList = "\"2,3,4\"";
OapiV2UserUpdateResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
Respons
Isi respons
| Nama | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| errcode | Number | 0 | Kode pengembalian. 0 menunjukkan Berhasil. |
| errmsg | String | User not found | Pesan error yang dikembalikan saat panggilan gagal. |
Contoh isi respons
{
"errcode":0,
"errmsg":"ok",
"request_id":"55o5i31j4cg8"
}