リクエスト
| 基本情報 | |
|---|---|
| HTTP URL | https://api.dingtalk.io/topapi/v2/department/update |
| HTTP Method | POST |
| サポートされるアプリタイプ | appType-社内アプリ |
| 必要な権限 | permission-qyapi_manage_addresslist-連絡先データ管理権限 |
クエリパラメータ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| access_token | String | はい | bE74xxxx | 本 API を呼び出すためのアプリ認証情報。社内アプリの access_token を取得する API から取得します。 |
リクエストボディ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| dept_id | Number | はい | 100 | 部門 ID。部門リストの取得 API から dept_id パラメータの値を取得できます。 |
| parent_id | Number | いいえ | 2 | 親部門 ID。ルート部門 ID は 1 です。部門リストの取得 API から parent_id パラメータの値を取得できます。 |
| hide_dept | Boolean | いいえ | true | 本部門を非表示にするかどうか: - true:部門を非表示にする 非表示にすると、本部門は企業の連絡先に表示されません。 - false:部門を表示する 値を指定しない場合は、変更されません。 |
| dept_permits | String | いいえ | 123,456 | 本部門を閲覧可能な他部門のリストを指定します。 hide_dept が true の場合に有効になります。 説明 本パラメータのリスト総数と user_permits のリスト総数の合計は 50 を超えてはなりません。 |
| user_permits | String | いいえ | user123,manager222 | 本部門を閲覧可能なユーザーの userid リストを指定します。 hide_dept が true の場合に有効になります。 説明 本パラメータのリスト総数と dept_permits のリスト総数の合計は 50 を超えてはなりません。 |
| create_dept_group | Boolean | いいえ | true | 本部門に関連する企業グループを作成するかどうか。デフォルトは false(作成しない)です。 値を指定しない場合は、変更されません。 |
| order | Number | いいえ | 10 | 親部門内での並び替え値。order の値が小さいほど前に表示されます。 |
| name | String | いいえ | HR | 部門名。長さは 1~64 文字に制限されており、文字「-」「,」「,」を含めることはできません。 |
| source_identifier | String | いいえ | HR部門 | 部門識別フィールド。開発者は本フィールドを使用して部門を一意に識別し、DingTalk 外部の連絡先内の部門とマッピングできます。 説明 本フィールドは企業管理者バックエンドの部門情報には表示されません。 |
| outer_dept | Boolean | いいえ | true | 本部門ユーザーが連絡先を閲覧することを制限するかどうか: - true:制限をオンにする。オンにすると、本部門のユーザーは指定範囲内の連絡先のみを閲覧できます - false:制限しない 値を指定しない場合は、変更されません。 |
| outer_permit_users | String | いいえ | user123,manager123 | 本部門ユーザーが閲覧可能な連絡先ユーザーの userid リストを指定します。 outer_dept が true の場合、本パラメータが有効になります。 説明 本パラメータのリスト総数と outer_permit_depts のリスト総数の合計は 50 を超えてはなりません。 |
| outer_permit_depts | String | いいえ | 123,456 | 本部門ユーザーが閲覧可能な連絡先部門 ID リストを指定します。 outer_dept が true の場合、本パラメータが有効になります。 説明 本パラメータのリスト総数と outer_permit_users のリスト総数の合計は 50 を超えてはなりません。 |
| outer_dept_only_self | Boolean | いいえ | true | 本部門ユーザーが所属部門および下位部門の連絡先のみを閲覧できるかどうか: - true:所属部門および下位部門の連絡先のみ閲覧可能 - false:すべての連絡先を閲覧不可。連絡先では自分のみを閲覧可能 outer_dept が true の場合、本パラメータが有効になります。 値を指定しない場合は、変更されません。 |
| language | String | いいえ | zh_CN | 連絡先の言語: - zh_CN:中国語 - en_US:英語 |
| auto_add_user | Boolean | いいえ | false | 部門グループが既に作成された後、新メンバーが部門に加入した際に自動的にグループに参加するかどうか: - true:自動的にグループに参加 - false:自動的にグループに参加しない 値を指定しない場合は、変更されません。 |
| auto_approve_apply | Boolean | いいえ | false | 本部門への加入申請をデフォルトで承認するかどうか: - true: 本部門への加入申請がデフォルトで承認されます - false: 本部門への加入申請には権限を持つ管理者の承認が必要です |
| dept_manager_userid_list | String | いいえ | manager220 | 部門責任者の userId リスト。複数の userid は半角カンマで区切ります。 説明 部門責任者は現在の部門内に所属している必要があり、そうでない場合、API は 存在しない userId というエラーを返します。 |
| group_contain_sub_dept | Boolean | いいえ | true | 部門グループに子部門を含めるかどうか: - true:含める - false:含めない 値を指定しない場合は、変更されません。 |
| group_contain_outer_dept | Boolean | いいえ | true | 部門グループに外部委託部門を含めるかどうか: - true:含める - false:含めない 値を指定しない場合は、変更されません。 説明 外部委託部門は自部門のみが閲覧でき、他部門や他者を閲覧できない部門です。 |
| group_contain_hidden_dept | Boolean | いいえ | true | 部門グループに非表示部門を含めるかどうか: - true:含める - false:含めない 値を指定しない場合は、変更されません。 |
| org_dept_owner | String | いいえ | 100 | 企業グループのグループ作成者の userId。 説明 グループ作成者は現在の部門内に所属している必要があります |
| force_update_fields | String | いいえ | dept_manager_userid_list | 強制的に更新するフィールド。指定されたフィールドのクリアをサポートし、複数のフィールドは半角カンマで区切ります。現在サポートされているフィールド:dept_manager_userid_list。 |
| code | String | いいえ | 10000 | 部門コード。最大 30 文字です。 説明 本フィールドは本 API でのみ設定可能です。 |
リクエスト例
curl -X POST "https://api.dingtalk.io/topapi/v2/department/update" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=c6391xxxxb574' \
-d 'dept_id=100' \
-d 'parent_id=2' \
-d 'hide_dept=true' \
-d 'user_permits=100%2C200'
-d 'dept_permits=3%2C4%2C5' \
-d 'language=zh_CN' \
-d 'code=10000'
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/department/update");
OapiV2DepartmentUpdateRequest req = new OapiV2DepartmentUpdateRequest();
req.setDeptId(100L);
req.setParentId(2L);
req.setOuterDept(true);
req.setHideDept(true);
req.setCreateDeptGroup(true);
req.setOrder(10L);
req.setName("HR");
req.setSourceIdentifier("HR部門");
req.setDeptPermits("123,456");
req.setUserPermits("user123,manager222");
req.setOuterPermitUsers("user100,user200");
req.setOuterPermitDepts("123,456");
req.setOuterDeptOnlySelf(true);
req.setLanguage("zh_CN");
req.setAutoAddUser(false);
req.setDeptManagerUseridList("manager200");
req.setGroupContainSubDept(true);
req.setGroupContainOuterDept(true);
req.setGroupContainHiddenDept(true);
req.setOrgDeptOwner("100");
OapiV2DepartmentUpdateResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
import dingtalk.api
req=dingtalk.api.OapiV2DepartmentUpdateRequest("https://api.dingtalk.io/topapi/v2/department/update")
req.dept_id=100
req.parent_id=2
req.hide_dept=true
req.user_permits="100,200"
req.dept_permits="3,4,5"
req.language="zh_CN"
req.code="10000"
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 OapiV2DepartmentUpdateRequest;
$req->setDeptId("100");
$req->setParentId("2");
$req->setHideDept("true");
$req->setDeptPermits("3,4,5");
$req->setUserPermits("100,200");
$req->setLanguage("zh_CN");
$req->setCode("10000");
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/department/update");
OapiV2DepartmentUpdateRequest req = new OapiV2DepartmentUpdateRequest();
req.DeptId = 100L;
req.ParentId = 2L;
req.HideDept = true;
req.DeptPermits = "3,4,5";
req.UserPermits = "100,200";
req.Language = "zh_CN";
req.Code = "10000";
OapiV2DepartmentUpdateResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
レスポンス
レスポンスボディ
| 名前 | タイプ | 例 | 説明 |
|---|---|---|---|
| errcode | Number | 0 | リターンコード。 |
| errmsg | String | ok | リターンコードの説明。 |
| request_id | String | 6iq4zcul5zjp | リクエスト ID。 |
レスポンスボディの例
{
"errcode":0,
"errmsg":"ok",
"request_id": "6iq4zcul5zjp"
}
エラーコード
本 API の呼び出しでエラーが発生した場合は、エラーメッセージをもとに グローバルエラーコード ドキュメントで解決策を検索できます。| エラーコード(errcode) | エラーコードの説明(errmsg) | 解決策 |
|---|---|---|
| 43007 | 権限不足 | access_token に操作権限があるかご確認ください |
| 40009 | 無効な部門 id | dept_id が正しいかご確認ください |
| 60018 | ルート部門は更新できません | dept_id を変更してください |
| 60003 | 該当部門が見つかりません | dept_id が正しいかご確認ください |
| 60001 | 無効な部門名 | 部門名が正しいかご確認ください |
| 40011 | 無効な並び順 | order が有効かご確認ください |
| 60004 | 親部門が存在しません | parent_id が正しいかご確認ください |
| 60010 | 部門 id に循環参照があります | 部門 id を再設定してください |
| 60109 | 無効な閲覧可能 id リスト | 閲覧可能リストが有効かご確認ください |
| 40031 | 無効な userId リスト | userId が正しいかご確認ください |
| 40093 | 無効な企業グループのグループ作成者 | 企業グループのグループ作成者の userid が正しいかご確認ください |
| 60510 | 部門権限の設定に失敗しました | パラメータが有効かご確認ください |
| -1 | システムビジー | 後で再試行してください |