SSO 企業アカウントの作成
リクエスト
| 基本情報 | |
|---|---|
| HTTP URL | https://api.dingtalk.io/topapi/v2/user/create |
| HTTP Method | POST |
| サポートされるアプリタイプ | appType-社内アプリ |
| 必要な権限 | permission-qyapi_manage_addresslist-連絡先データ管理権限 |
クエリパラメータ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| access_token | String | はい | BE3xxxx | 本 API を呼び出すためのアプリ認証情報。社内アプリの access_token を取得する API から取得します。 |
リクエストボディ
| 名前 | タイプ | 必須 | 例 | 説明 |
|---|---|---|---|---|
| userid | String | いいえ | zhangsan | 社員の一意識別子 ID(変更不可)。長さは 1~64 文字。 説明 - 社内で一意である必要があります。 - 指定しない場合、自動的に userid が生成されます。 |
| exclusive_account | Boolean | はい | true | 必ず true を指定します。企業アカウントを作成することを意味します。 説明 企業アカウントのみ適用されます。 |
| exclusive_account_type | String | いいえ | sso | 必ず sso を指定します。SSO 企業アカウントであることを意味します。 説明 SSO 企業アカウントのみ適用されます。 |
| name | String | はい | 山田太郎 | 社員名。最大 80 文字。 |
| dept_id_list | String | はい | ”2,3,4” | 所属部門 ID のリスト。複数の部門 ID は 半角カンマ で区切ります。1 回の呼び出しにつき最大 100 個の部門 ID を指定できます。 |
| telephone | String | いいえ | 010-86123456-2345 | 内線番号。最大 50 文字。 説明 内線番号は一意であり、社内で重複できません。 |
| job_number | String | いいえ | 4 | 社員番号。最大 50 文字。 |
| title | String | いいえ | 技術ディレクター | 職位。最大 200 文字。 |
| String | いいえ | test@xxx.com | 社員の個人メール。最大 50 文字。 説明 社員メールは一意であり、社内で重複できません。 | |
| org_email | String | いいえ | test@xxx.com | 社員のエンタープライズメール。最大 100 文字。 説明 以下の条件を満たす場合にのみこのフィールドが有効になります:社員がエンタープライズメールを有効化済み。 |
| org_email_type | String | いいえ | profession | 社員のエンタープライズメールタイプ: - profession: 標準版。 - base: ベーシック版。 |
| work_place | String | いいえ | 未来 park | 勤務地。最大 100 文字。 |
| remark | String | いいえ | 表示名情報 | 表示名。最大 2000 文字。 |
| dept_order_list | Object[] | いいえ | 社員の対応する部門内での並び替え。 | |
| dept_id | Number | いいえ | 2 | 部門 ID。 |
| order | Number | いいえ | 1 | 社員の部門内での並び順。数値が大きいほど上位に表示されます。 |
| dept_title_list | Object[] | いいえ | 社員の対応する部門内での職位。 | |
| dept_id | Number | いいえ | 2 | 部門 ID。 |
| title | String | いいえ | シニアプロダクトマネージャー | 社員の部門内での職位。 |
| extension | Object | いいえ | {"趣味":"旅行","年齢":"24"} | 拡張属性。複数の属性を設定でき、最大 2000 文字。説明 - モバイル端末では最大 10 個の拡張属性しか表示されません。 - 本パラメータを使用する前に、まず DingTalk 管理バックエンド で属性を追加し、その後 API を呼び出して値を設定する必要があります。例:連絡先 > 社内連絡先設定 > 連絡先情報 ページで、カスタムフィールド追加 ボタンをクリックします。 - 本フィールドの値はリンクタイプの入力に対応しており、リンクは変数ワイルドカードによる自動置換にも対応しています。現在対応しているワイルドカードは userid、corpid です。例:{"趣味":"[趣味](http://www.dingtalk.io?userid=#userid#&corpid=#corpid#)"}。 |
| senior_mode | Boolean | いいえ | false | 役員モードをオンにするかどうか。デフォルトは false。 - true:オン。 説明 - オンにすると、電話番号がすべての社員に非表示になります。 - 一般社員は対象者に DING の送信や DingTalk ビジネス通話を発信できなくなります。 - 役員同士では DING の送信や DingTalk ビジネス通話の発信が可能です。 - false:オフ。 |
| hired_date | Number | いいえ | 1597573616828 | 入社日時。Unix タイムスタンプ、単位はミリ秒。 |
| manager_userid | String | いいえ | 001 | 直属上司の userId。 |
| exclusive_mobile | String | いいえ | +86-13412341234 | 企業アカウントの電話番号。 説明 企業アカウントのみ適用されます。 |
| avatarMediaId | String | いいえ | @lALPDfmVUw19YdrNA-jNA-g | 本組織の企業アカウントを作成する際にプロフィール写真の MediaId を指定できます。jpg/png のみサポートします。 メディアファイルのアップロード API を呼び出して取得できます。 説明 企業アカウントのみ適用されます。 |
| nickname | String | いいえ | 名前 | 本組織の企業アカウントを作成する際に名前を指定できます。 説明 企業アカウントのみ適用されます。 |
リクエスト例
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=871c1df6-bcd5-4acb-b2e9-815b7246d85c' \
-d 'userid=zhangsan'
-d 'exclusive_account=true' \
-d 'name=山田太郎' \
-d 'dept_id_list=2,3,4'
DingTalkClient client = new DefaultDingTalkClient("https://api.dingtalk.io/topapi/v2/user/create");
OapiV2UserCreateRequest req = new OapiV2UserCreateRequest();
req.setUserid("12345678");
req.setName("sso企業アカウント");
req.setHideMobile(true);
req.setTelephone("123");
req.setJobNumber("123");
req.setTitle("技術ディレクター");
req.setEmail("test@xxx.com");
req.setOrgEmail("ceshi1");
req.setWorkPlace("東京");
req.setRemark("備考情報");
req.setDeptIdList("486882146,609916162");
OapiV2UserCreateRequest.DeptOrder deptOrder1 = new OapiV2UserCreateRequest.DeptOrder();
deptOrder1.setDeptId(486882146L);
deptOrder1.setOrder(2L);
OapiV2UserCreateRequest.DeptOrder deptOrder2 = new OapiV2UserCreateRequest.DeptOrder();
deptOrder2.setDeptId(609916162L);
deptOrder2.setOrder(1L);
ArrayList<OapiV2UserCreateRequest.DeptOrder> deptOrderList = new ArrayList<>();
deptOrderList.add(deptOrder1);
deptOrderList.add(deptOrder2);
req.setDeptOrderList(deptOrderList);
OapiV2UserCreateRequest.DeptTitle deptTitle1 = new OapiV2UserCreateRequest.DeptTitle();
deptTitle1.setTitle("テストポジション");
deptTitle1.setDeptId(486882146L);
OapiV2UserCreateRequest.DeptTitle deptTitle2 = new OapiV2UserCreateRequest.DeptTitle();
deptTitle2.setTitle("テスト責任者");
deptTitle2.setDeptId(609916162L);
ArrayList<OapiV2UserCreateRequest.DeptTitle> deptTitleList = new ArrayList<>();
deptTitleList.add(deptTitle1);
deptTitleList.add(deptTitle2);
req.setDeptTitleList(deptTitleList);
req.setExtension("{\"趣味\":\"旅行\",\"年齢\":\"24\"}");
req.setSeniorMode(false);
req.setHiredDate(1650351000000L);
req.setManagerUserid("001");
req.setOrgEmailType("base");
req.setExclusiveAccount(true);
req.setExclusiveAccountType("sso");
req.setExclusiveMobile("150xxxx");
req.setAvatarMediaId("@lADPDfYH3A-xxx");
req.setNickname("ディンディン1");
OapiV2UserCreateResponse rsp = client.execute(req, "");
System.out.println(rsp.getBody());
import dingtalk.api
req=dingtalk.api.OapiV2UserCreateRequest("https://api.dingtalk.io/topapi/v2/user/create")
req.userid="zhangsan"
req.name="山田太郎"
req.dept_id_list="2,3,4"
req.exclusive_account=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("山田太郎");
$req->setDeptIdList("\"2,3,4\"");
$req->setExclusiveAccount("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.Userid = "zhangsan";
req.Name = "山田太郎";
req.ExclusiveAccount = true;
OapiV2UserCreateResponse rsp = client.Execute(req, access_token);
Console.WriteLine(rsp.Body);
レスポンス
レスポンスボディ
| 名前 | タイプ | 例 | 説明 |
|---|---|---|---|
| errcode | Number | 0 | エラーコード。0 は成功を表します。 |
| errmsg | String | ok | エラーメッセージ。 |
| result | Object | 戻り値。 | |
| userid | String | zhangsan | 社員 ID。 |
| unionId | String | xxxx | 社員一意 ID。 |
レスポンスボディ例
{
"errcode":"0",
"result":{
"unionId":"xxxx",
"userid":"zhangsan"
},
"errmsg":"ok"
}