リクエスト
| 基本情報 | |
|---|---|
| HTTP URL | https://api.dingtalk.io/topapi/v2/department/create |
| HTTP Method | POST |
| サポートされるアプリタイプ | appType-社内アプリ |
| 必要な権限 | permission-qyapi_manage_addresslist-連絡先データ管理権限 |
クエリパラメータ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| access_token | String | はい | bE74xxxx | このインターフェースを呼び出すためのアプリ認証情報。社内アプリの access_token を取得するインターフェースから取得します。 |
リクエストボディ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| name | String | はい | 開発部門 | 部門名。長さは 1〜64 文字に制限され、文字「-」、「,」、「,」を含めることはできません。 |
| parent_id | Number | はい | 10 | 親部門 ID。ルート部門 ID は 1 です。 |
| hide_dept | Boolean | いいえ | true | この部門を非表示にするかどうか: - true:部門を非表示にします。非表示にすると、この部門は企業の連絡先に表示されなくなります - false(デフォルト):部門を表示します |
| dept_permits | String | いいえ | ”123,456” | この部門を閲覧できる他の部門リストを指定します。合計 50 を超えることはできません。hide_dept が true の場合に有効です。 |
| user_permits | String | いいえ | ”user123,manager222” | この部門を閲覧できるメンバーの userId リストを指定します。合計 50 を超えることはできません。hide_dept が true の場合に有効です。 |
| outer_dept | Boolean | いいえ | true | この部門のメンバーの連絡先閲覧を制限するかどうか: - true:制限をオンにします。オンにすると、この部門のメンバーは指定された範囲内の連絡先のみ表示できます - false(デフォルト):制限しません |
| outer_dept_only_self | Boolean | いいえ | false | この部門のメンバーが所属部門および下位部門の連絡先のみ表示できるかどうか: - true:所属部門および下位部門の連絡先のみ表示できます - false:すべての連絡先を表示できず、連絡先では自分のみ表示できます outer_dept が true の場合に有効です。 |
| outer_permit_users | String | いいえ | ”manager123,user123” | この部門のメンバーが閲覧できる連絡先ユーザーの userId リストを指定します。合計 50 を超えることはできません。outer_dept が true の場合に有効です。 |
| outer_permit_depts | String | いいえ | ”456,123” | この部門のメンバーが閲覧できる連絡先部門 ID リストを指定します。合計 50 を超えることはできません。outer_dept が true の場合に有効です。 |
| create_dept_group | Boolean | いいえ | true | この部門に関連する企業グループを作成するかどうか。デフォルトは false で作成しません。 |
| auto_approve_apply | Boolean | いいえ | false | この部門への参加申請をデフォルトで承認するかどうか: - true: この部門への参加申請をデフォルトで承認します - false: この部門への参加申請には権限を持つ管理者の承認が必要です |
| order | Number | いいえ | 10 | 親部門内での並び替え値。order 値が小さいほど上位に並びます。 |
| source_identifier | String | いいえ | HR 部門 | 部門識別フィールド。開発者はこのフィールドを使用して部門を一意に識別し、DingTalk 外部連絡先内の部門とマッピングできます。 |
リクエスト例
curl -X POST "https://api.dingtalk.io/topapi/v2/department/create" \
-H 'Content-Type:application/x-www-form-urlencoded;charset=utf-8' \
-d 'access_token=d5ca5xxxxa8' \
-d 'parent_id=10' \
-d 'outer_dept=true' \
-d 'hide_dept=true' \
-d 'create_dept_group=true' \
-d 'order=10' \
-d 'name=HR' \
-d 'source_identifier=HR%E9%83%A8%E9%96%80' \
-d 'dept_permits=3%2C4%2C5' \
-d 'user_permits=100%2C200' \
-d 'outer_permit_users=500%2C600' \
-d 'outer_permit_depts=6%2C7%2C8' \
-d 'outer_dept_only_self=true'
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/department/create");
OapiV2DepartmentCreateRequest req = new OapiV2DepartmentCreateRequest();
req.setParentId(10L);
req.setOuterDept(true);
req.setHideDept(true);
req.setCreateDeptGroup(true);
req.setOrder(10L);
req.setName("HR");
req.setSourceIdentifier("HR部門");
req.setDeptPermits("3,4,5");
req.setUserPermits("100,200");
req.setOuterPermitUsers("500,600");
req.setOuterPermitDepts("6,7,8");
req.setOuterDeptOnlySelf(true);
OapiV2DepartmentCreateResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());
# -*- coding: utf-8 -*-
import dingtalk.api
req=dingtalk.api.OapiV2DepartmentCreateRequest("https://api.dingtalk.io/topapi/v2/department/create")
req.parent_id=10
req.outer_dept=true
req.hide_dept=true
req.create_dept_group=true
req.order=10
req.name="HR"
req.source_identifier="HR部門"
req.dept_permits="3,4,5"
req.user_permits="100,200"
req.outer_permit_users="500,600"
req.outer_permit_depts="6,7,8"
req.outer_dept_only_self=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 OapiV2DepartmentCreateRequest;
$req->setName("HR");
$req->setParentId("10");
$req->setHideDept("true");
$req->setDeptPermits("3,4,5");
$req->setUserPermits("100,200");
$req->setOuterPermitUsers("500,600");
$req->setOuterPermitDepts("6,7,8");
$req->setOuterDeptOnlySelf("true");
$req->setOuterDept("true");
$req->setCreateDeptGroup("true");
$req->setOrder("10");
$req->setSourceIdentifier("HR部門");
$resp = $c->execute($req, $access_token, "https://api.dingtalk.io/topapi/v2/department/create");
IDingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/department/create");
OapiV2DepartmentCreateRequest req = new OapiV2DepartmentCreateRequest();
req.ParentId = 10L;
req.OuterDept = true;
req.HideDept = true;
req.CreateDeptGroup = true;
req.Order = 10L;
req.Name = "HR";
req.SourceIdentifier = "HR部門";
req.DeptPermits = "3,4,5";
req.UserPermits = "100,200";
req.OuterPermitUsers = "500,600";
req.OuterPermitDepts = "6,7,8";
req.OuterDeptOnlySelf = true;
OapiV2DepartmentCreateResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
レスポンス
レスポンスボディ
| 名前 | タイプ | 例 | 説明 |
|---|---|---|---|
| request_id | String | 6iq4zcul5zjp | リクエスト ID。 |
| errcode | Number | 0 | リターンコード。 |
| errmsg | String | ok | リターンコードの説明。 |
| result | DeptCreateResponse | 呼び出し結果。 | |
| dept_id | Number | 100 | 部門 ID。 |
レスポンスボディ例
{
"errcode": 0,
"errmsg":"ok",
"result": {
"dept_id": 41xxxx76
},
"request_id": "6iq4zcul5zjp"
}
エラーコード
このインターフェースの呼び出しでエラーが発生した場合、エラーメッセージに基づいて グローバルエラーコード ドキュメントから解決策を検索できます。| エラーコード(errcode) | エラーコードの説明(errmsg) | 解決策 |
|---|---|---|
| 40035 | パラメータが不正です | 上記ドキュメントの要件に従ってパラメータが入力されているか確認してください |
| 43007 | 権限付与が必要です | access_token がこの操作を実行する権限を持っているか確認してください |
| 60004 | 親部門が存在しません | parent_id が正しいか確認してください |
| 600109 | 不正な表示可能 ID リスト | 表示可能リストが要件に合致しているか確認してください |
| -1 | システムビジー | 後でもう一度お試しください |