リクエスト
| ベーシック情報 | |
|---|---|
| HTTP URL | https://api.dingtalk.io/topapi/v2/user/update |
| HTTP Method | POST |
| サポートされるアプリタイプ | appType-社内アプリ |
| 必要な権限 | permission-qyapi_manage_addresslist-連絡先データ管理権限 |
クエリパラメータ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| access_token | String | 必須 | be3Fxxxx | このインターフェースを呼び出すためのアプリ認証情報。社内アプリの access_token を取得するインターフェースで取得します。 |
リクエストボディ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| userid | String | 必須 | user123 | 社員の userId。 |
| name | String | 任意 | 山田太郎 | 社員名。最大 80 文字。 |
| hide_mobile | Boolean | 任意 | false | 電話番号を非表示にするかどうか: - true:非表示 電話番号を非表示にすると、プロフィールページでは番号が非表示となりますが、DING の送信や DingTalk ビジネス電話の発信は引き続き可能です。 - false:非表示にしない |
| telephone | String | 任意 | 010-86123456-2345 | 内線番号。最大 50 文字。 説明 内線番号は一意であり、社内で重複できません。 |
| job_number | String | 任意 | 4 | 社員番号。最大 50 文字。 |
| manager_userid | String | 任意 | 0001 | 直属の上司の userId。 |
| title | String | 任意 | 技術ディレクター | 職位。最大 200 文字。 |
| String | 任意 | test@xxx.com | 社員のメール。最大 50 文字。 説明 社員のメールは一意であり、社内で重複できません。 | |
| org_email | String | 任意 | test@xxx.com | 社員のエンタープライズメール。 説明 以下の条件を満たす場合のみこのフィールドが有効になります:社員のエンタープライズメールが開通済みであること。 |
| work_place | String | 任意 | 未来パーク | 勤務地。最大 100 文字。 |
| remark | String | 任意 | 表示名情報 | 表示名。最大 2000 文字。 |
| dept_id_list | String | 必須 | ”2,3,4” | 所属部門 ID リスト。 |
| dept_order_list | DeptOrder[] | 任意 | 対応する部門内での社員の並び替え。 | |
| dept_id | Number | 任意 | 2 | 部門 ID。 |
| order | Number | 任意 | 1 | 部門内での社員の並び替え。 |
| dept_title_list | DeptTitle[] | 任意 | 対応する部門内での社員の職位。 | |
| dept_id | Number | 任意 | 2 | 部門 ID。 |
| title | String | 任意 | シニアプロダクトマネージャー | 部門内での社員の職位。 |
| extension | String | 任意 | {"趣味":"旅行","年齢":"24"} | 拡張属性。最大 2000 文字。説明 - モバイル端末では最大 10 個の拡張属性のみ表示できます。 - 社員に 10 個の拡張属性フィールドが設定されている場合、更新時には拡張属性フィールドの値が変更されていなくても、10 個すべての拡張属性フィールドを渡す必要があります。1 個のみを渡すと、残りの 9 個のフィールドはすべて消去されます。 - このパラメータを使用する前に、まず DingTalk 管理バックエンド > 設定 > 連絡先情報 で該当属性を追加する必要があります。 - このフィールドの値はリンクタイプの入力をサポートし、リンクは変数ワイルドカードによる自動置換をサポートします。現在サポートされているワイルドカードは userid、corpid です。例:[座席住所](http://www.dingtalk.io?userid=#userid#&corpid=#corpid#)。 |
| ext_attrs_update_mode | Number | 任意 | 1 | 拡張属性カスタムフィールドの更新モード: - 0:上書き方式 - 1:追加方式 デフォルトは上書きです。 |
| senior_mode | Boolean | 任意 | false | 役員モードをオンにするかどうか。デフォルト値は false。 - true:オン。 説明 - オンにすると、電話番号がすべての社員に対して非表示になります。 - 一般社員は DING の送信や DingTalk ビジネス電話の発信ができません。 - 役員同士は DING の送信や DingTalk ビジネス電話の発信が可能です。 - false:オフ。 |
| hired_date | Number | 任意 | 1597573616828 | 入社日。UNIX タイムスタンプ、単位はミリ秒。 |
| language | String | 任意 | zh_CN | 連絡先の言語。設定値: - zh_CN:中国語(デフォルト)。 - en_US:英語。 |
| force_update_fields | String | 任意 | manager_userid | 強制更新フィールド。指定したフィールドのクリアをサポートし、複数フィールドはカンマで区切ります。現在サポートされているフィールド:manager_userid、org_email。 説明 - 強制更新フィールドに org_email が含まれており、リクエスト内の org_email フィールドが空の場合、社員とエンタープライズメールの紐付けが解除され、エンタープライズメールアカウントが凍結または削除されます。 - 強制更新フィールドに org_email が含まれており、社員が既に他のエンタープライズメールに紐付けられている場合、社員と元のエンタープライズメールの紐付けが解除され、元のエンタープライズメールアカウントが凍結または削除され、社員と新しいエンタープライズメールの紐付けが確立されます。 - 強制更新フィールドに org_email が含まれており、対応するメールアカウントが公共メールまたはサービスメールの場合、メールタイプが通常のメールに変換され、社員とエンタープライズメールの紐付けが確立されます。 |
| org_email_type | String | 任意 | profession | 企業アカウント社員のエンタープライズメールタイプ。 - profession: 標準版 - base: ベーシック版 |
| loginId | String | 任意 | loginId123 | DingTalk 企業アカウントのログイン名。DingTalk 企業アカウントのみこのフィールドの更新をサポートし、シングルサインオン企業アカウントは現在サポートされていません。 説明 キャリアによる SMS フィルタリングを避けるため、電話番号、メール、リンクなどの連絡先情報を含めないことを推奨します。 |
| init_password | String | 任意 | init_password220 | DingTalk 企業アカウントの初期パスワード。初期パスワードは最低 8 文字です。 説明 - 全文字をアルファベットまたは数値にすることはできません。 - DingTalk 企業アカウントのみこのフィールドの更新をサポートし、シングルサインオン企業アカウントは現在サポートされていません。 - キャリアによる SMS フィルタリングを避けるため、電話番号、メール、リンクなどの連絡先情報を含めないことを推奨します. |
| send_password_to_user | Boolean | 任意 | false | アカウントとパスワードを送信するか。デフォルト値は false: - false:送信しない - true:送信する 説明 - このパラメータが true の場合、init_password パラメータは必須です。そうでない場合は送信されません。 - 送信時は、社員の電話番号で SMS を送信するか、個人メールで電子メールを送信します。 - DingTalk 企業アカウントのみこのフィールドの設定をサポートし、シングルサインオン企業アカウントは現在サポートされていません。 |
| exclusive_mobile | String | 任意 | 150xxxxxxx | 企業アカウントの電話番号。 |
| avatarMediaId | String | 任意 | @lALPDfmVUw19YdrNA-jNA-g | 当組織の企業アカウントを更新する際にプロフィール写真の MediaId を指定可能。jpg/png 形式のみサポート。メディアファイルアップロードインターフェースを呼び出して取得できます。 説明 自社構築企業アカウントとシングルサインオン企業アカウントをサポート |
| nickname | String | 任意 | 名前 | 企業アカウントの名前。 説明 自社構築企業アカウントとシングルサインオン企業アカウントをサポート |
| dept_position_list | DeptPosition[] | 任意 | 部門内の在職情報。 | |
| extension_i18n | Json | 任意 | {"趣味":{"zh_CN":"旅游","en_US":"travel","aJP":"旅行"}} | 拡張属性の国際化値。 |
リクエスト例
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("山田太郎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("東京");
req.setRemark("表示名");
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("シニアプロダクトマネージャー");
OapiV2UserUpdateRequest.DeptTitle deptTitle2 = new OapiV2UserUpdateRequest.DeptTitle();
deptTitle2.setDeptId(609916162l);
deptTitle2.setTitle("シニアプロダクトマネージャー");
deptTitleList.add(deptTitle1);
deptTitleList.add(deptTitle2);
req.setDeptTitleList(deptTitleList);
req.setExtension("{\"趣味\":\"旅行\",\"年齢\":\"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("テスト");
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="山田太郎"
req.mobile="13800138000"
req.hide_mobile=false
req.telephone="010-86123456-2345"
req.job_number="4"
req.title="技術ディレクター"
req.email="test@xxx.com"
req.org_email="test@xxx.com"
req.work_place="未来パーク"
req.remark="表示名情報"
req.dept_id_list="2,3,4"
req.dept_order_list="[2,1]"
req.dept_title_list="[2,"シニアプロダクトマネージャー"]"
req.senior_mode=false
req.hired_date=1597573616828
req.language="zh_CN"
req.init_password="Password123"
req.loginId="loginId123"
req.dept_position_list="[2,"シニアプロダクトマネージャー",true,"未来パーク","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="名前"
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":"DingTalk公式サイトへ","url":"www.dingtalk.io"}]"
req.gender="F"
req.limited=false
req.has_subordinate=false
req.dept_name="部門1-部門11-部門111"
req.flower_name="ニックネーム"
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("山田太郎");
$req->setMobile("13800138000");
$req->setHideMobile("false");
$req->setTelephone("010-86123456-2345");
$req->setJobNumber("4");
$req->setTitle("技術ディレクター");
$req->setEmail("test@xxx.com");
$req->setOrgEmail("test@xxx.com");
$req->setWorkPlace("未来パーク");
$req->setRemark("表示名情報");
$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("名前");
$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("部門1-部門11-部門111");
$req->setFlowerName("ニックネーム");
$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 = "山田太郎";
req.Mobile = "185xxxx676";
req.HideMobile = false;
req.Telephone = "010-86123456-2345";
req.JobNumber = "4";
req.Title = "技術ディレクター";
req.Email = "test@xxx.com";
req.OrgEmail = "test@xxx.com";
req.WorkPlace = "未来パーク";
req.Remark = "表示名情報";
req.DeptIdList = "\"2,3,4\"";
OapiV2UserUpdateResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
レスポンス
レスポンスボディ
| 名前 | タイプ | 例 | 説明 |
|---|---|---|---|
| errcode | Number | 0 | 戻りコード。0 は成功を表します。 |
| errmsg | String | 該当ユーザーが見つかりません | 呼び出しに失敗した場合に返されるエラーメッセージ。 |
レスポンスボディ例
{
"errcode":0,
"errmsg":"ok",
"request_id":"55o5i31j4cg8"
}