ユーザーインポートAPI(CSV)
ファイルアップロード API でアップロードした CSV ファイルをユーザー情報として差分で取り込むための API です。インポートするCSVファイルについては、ユーザー情報 CSV をご参照ください。
HTTP メソッド
POST
URI
https://{sub-domain}.cybozu.com/v1/csv/user.json
リクエストヘッダ
ヘッダ | 値と説明 |
X-Cybozu-Authorization | 「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Authorization | Basic認証を利用している場合、文字列「Basic 」と「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Content-Type | 「application/json」を指定します。 ※指定しない場合は JSON が解釈できないため、実行時エラーとなります。 |
// Sample X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
リクエストボディ
パラメータ値 | 指定する値 | 必須 | 説明 |
fileKey | 文字列 | 必須 | ファイルアップロード API でアップロードした際にレスポンスで取得した「fileKey」を指定します。 |
variableCustomItemLength | 真偽値 | 省略可 | trueの場合、カスタマイズ項目値に過不足があってもインポートが成功します。 CSV内のカスタマイズ項目の列が足りない場合、 CSVに含まれるカスタマイズ項目値は順番通りインポートされます。列が足りずに値が指定されていない項目は、元のデータを維持します。 CSV内のカスタマイズ項目の列が多すぎる場合、超過した列の値を無視してインポートします。 このパラメータが指定されていない場合はfalseになります。 |
レスポンス
インポート処理の結果が確認できる「id」を返します。処理内容の確認は、結果確認 API をご確認ください。
アクセス権
cybozu.com共通管理者のみ実行できます。
注意事項
- ログイン名が CSV に記述されていないユーザーへの更新/削除処理は行われません。
-
ユーザーの入力環境ごとの文字仕様のばらつきによる事故を防止するため、一律にユニコード正規化をして保存します。そのため、当APIで旧漢字を扱うことはできません。例)旧漢字の「神」をcsvでインポートすると、「神」に変換されてインポートされます。
ユーザーインポート API(JSON)
ユーザーの登録
JSON形式で指定したユーザー情報を登録します。
HTTP メソッド
POST
URI
https://(サブドメイン名).cybozu.com/v1/users.json
リクエストヘッダ
ヘッダ | 値と説明 |
X-Cybozu-Authorization | 「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Authorization | Basic認証を利用している場合、文字列「Basic 」と「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Content-Type | 「application/json」を指定します。 ※指定しない場合は JSON が解釈できないため、実行時エラーとなります。 |
// Sample X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
リクエストボディ
users配列に次のプロパティから構成されるオブジェクトを指定します。users配列には一度に最大100件指定できます。
パラメータ値 | 指定する値 | 必須 | 説明 |
---|---|---|---|
code | 文字列 | 必須 |
ログイン名 128文字以下 |
valid | 真偽値 | 使用可能ユーザーかどうか、デフォルトはtrue | |
password | 文字列 | 必須 |
パスワード 64文字以下 |
name | 文字列 | 必須 |
ユーザー名 128文字以下 |
surName | 文字列 |
姓 64文字以下 |
|
givenName | 文字列 |
名 64文字以下 |
|
surNameReading | 文字列 |
姓のよみ 64文字以下 |
|
givenNameReading | 文字列 |
名のよみ 64文字以下 |
|
localName | 文字列 |
ローカル名 128文字以下 |
|
localNameLocale | 文字列 |
ローカル名のロケール 128文字以下 |
|
timezone | 文字列 |
ユーザーのタイムゾーン 256文字以下 |
|
locale | 文字列 |
ユーザーのロケール 利用可能なvalueは次のとおりです。
auto や未指定の場合は、「Webブラウザの設定に従う」で設定した値となります。 |
|
description | 文字列 |
ユーザーの説明 1000文字以下 |
|
phone | 文字列 |
電話番号 100文字以下 |
|
mobilePhone | 文字列 |
携帯電話番号 100文字以下 |
|
extensionNumber | 文字列 |
内線番号 100文字以下 |
|
文字列 |
メールアドレス 256文字以下 |
||
callto | 文字列 |
Skype名 スカイプ名の制約に従う |
|
url | 文字列 |
URL 256文字以下 |
|
employeeNumber | 文字列 |
従業員番号 100文字以下 |
|
birthDate | 日付 |
誕生日 「YYYY-MM-DD」形式の日付、または空文字のみ |
|
joinDate | 日付 |
入社日 「YYYY-MM-DD」形式の日付、または空文字のみ |
|
sortOrder | 数値 |
表示優先度 0 〜 99999999 |
|
customItemValues | customItemValue配列 | カスタマイズ項目の項目コードと値のペアの一覧 |
リクエストボディの例
レスポンス
成功の場合、以下のレスポンスが返ります。
{}
アクセス権
cybozu.com共通管理者のみ実行できます。
制限事項
- CSVによるユーザー読み込み、ユーザーの登録と処理が重なるとき、書き込まれた順番に登録されるものとします。
- 本APIではロックなどをしないため、本API/CSV読み込み/通常画面からのユーザーの操作を並行して行うことは推奨しません。
ユーザーの更新
JSON形式で指定したユーザー情報を更新します。
HTTP メソッド
PUT
URI
https://(サブドメイン名).cybozu.com/v1/users.json
リクエストヘッダ
ヘッダ | 値と説明 |
X-Cybozu-Authorization | 「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Authorization | Basic認証を利用している場合、文字列「Basic 」と「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Content-Type | 「application/json」を指定します。 ※指定しない場合は JSON が解釈できないため、実行時エラーとなります。 |
// Sample X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
リクエストボディ
users配列に次のプロパティから構成されるオブジェクトを指定します。users配列には一度に最大100件指定できます。
パラメータ値 | 指定する値 | 必須 | 説明 |
---|---|---|---|
code | 文字列 | 必須 |
ログイン名 128文字以下 |
valid | 真偽値 | 使用可能ユーザーかどうか | |
password | 文字列 |
パスワード 64文字以下 |
|
name | 文字列 |
ユーザー名 128文字以下 |
|
surName | 文字列 |
姓 64文字以下 |
|
givenName | 文字列 |
名 64文字以下 |
|
surNameReading | 文字列 |
姓のよみ 64文字以下 |
|
givenNameReading | 文字列 |
名のよみ 64文字以下 |
|
localName | 文字列 |
ローカル名 128文字以下 |
|
localNameLocale | 文字列 |
ローカル名のロケール 128文字以下 |
|
timezone | 文字列 |
ユーザーのタイムゾーン 256文字以下 |
|
locale | 文字列 |
ユーザーのロケール 256文字以下 |
|
description | 文字列 |
ユーザーの説明 1000文字以下 |
|
phone | 文字列 |
電話番号 100文字以下 |
|
mobilePhone | 文字列 |
携帯電話番号 100文字以下 |
|
extensionNumber | 文字列 |
内線番号 100文字以下 |
|
文字列 |
メールアドレス 256文字以下 |
||
callto | 文字列 |
Skype名 スカイプ名の制約に従う |
|
url | 文字列 |
URL 256文字以下 |
|
employeeNumber | 文字列 |
従業員番号 100文字以下 |
|
birthDate | 日付 |
誕生日 「YYYY-MM-DD」形式の日付、または空文字のみ |
|
joinDate | 日付 |
入社日 「YYYY-MM-DD」形式の日付、または空文字のみ |
|
primaryOrganization | 数値 |
優先する組織のID 1 〜 Long型の最大値 |
|
sortOrder | 数値 |
表示優先度 0 〜 99999999 |
|
customItemValues | customItemValue配列 | カスタマイズ項目の項目コードと値のペアの一覧 |
リクエストボディの例
レスポンス
成功の場合、以下のレスポンスが返ります。
{}
アクセス権
cybozu.com共通管理者のみ実行できます。
制限事項
- CSVによるユーザー読み込み、ユーザーの登録と処理が重なるとき、書き込まれた順番に登録されるものとします。
- 本APIではロックなどをしないため、本API/CSV読み込み/通常画面からのユーザーの操作を並行して行うことは推奨しません。
ユーザーの削除
JSON形式で指定したユーザーを削除します。
HTTP メソッド
DELETE
URI
https://(サブドメイン名).cybozu.com/v1/users.json
リクエストヘッダ
ヘッダ | 値と説明 |
X-Cybozu-Authorization | 「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Authorization | Basic認証を利用している場合、文字列「Basic 」と「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Content-Type | 「application/json」を指定します。 ※指定しない場合は JSON が解釈できないため、実行時エラーとなります。 |
// Sample X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
リクエストボディ
パラメータ値 | 指定する値 | 必須 | 説明 |
---|---|---|---|
codes | 配列(文字列) | 必須 |
削除したいユーザーのcode一覧 最大100 |
リクエストボディの例
レスポンス
成功の場合、以下のレスポンスが返ります。
{}
アクセス権
cybozu.com共通管理者のみ実行できます。
制限事項
- CSVによるユーザー読み込み、ユーザーの登録と処理が重なるとき、書き込まれた順番に登録されるものとします。
- 本APIではロックなどをしないため、本API/CSV読み込み/通常画面からのユーザーの操作を並行して行うことは推奨しません。
ログイン名の更新
JSON形式で指定したユーザーのログイン名を更新します。
HTTP メソッド
PUT
URI
https://(サブドメイン名).cybozu.com/v1/users/codes.json
リクエストヘッダ
ヘッダ | 値と説明 |
X-Cybozu-Authorization | 「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Authorization | Basic認証を利用している場合、文字列「Basic 」と「ログイン名:パスワード」をBASE64エンコードしたものを値に指定します。 |
Content-Type | 「application/json」を指定します。 ※指定しない場合は JSON が解釈できないため、実行時エラーとなります。 |
// Sample X-Cybozu-Authorization: QWRtaW5pc3RyYXRvcjpjeWJvenU= Authorization: Basic QWRtaW5pc3RyYXRvcjpjeWJvenU= Content-Type: application/json
リクエストボディ
codes配列に次のプロパティから構成されるオブジェクトを指定します。codes配列には一度に最大100件指定できます。
パラメータ値 | 指定する値 | 必須 | 説明 |
---|---|---|---|
currentCode | 文字列 | 必須 |
ログイン名 128文字以下 |
newCode | 文字列 | 必須 |
ログイン名 128文字以下 |
リクエストボディの例
レスポンス
成功の場合、以下のレスポンスが返ります。
{}
アクセス権
cybozu.com共通管理者のみ実行できます。
制限事項
- CSVによるユーザー読み込み、ユーザーの登録と処理が重なるとき、書き込まれた順番に登録されるものとします。
- 本APIではロックなどをしないため、本API/CSV読み込み/通常画面からのユーザーの操作を並行して行うことは推奨しません。
ユーザーのアイコン画像も登録・更新させたいですね。
リクエストボディに画像のURLを指定するなどして。
想定している利用シーンとしては、SlackAPIから取得したアイコン画像のURLを、Cybozuユーザー情報に流してアイコンを共通化させる感じです。
もしくは、アイコン画像の参照先自体を、(アップロード画像がなければ)URL指定されたプロフィール項目(カスタマイズ項目含む)で代替できるようにしていただければ嬉しいです。(^^)
いの様
cybozu developer network 運営事務局です。
ご要望ありがとうございます。頂きましたご要望は、社内で共有させていただきます。
また、kintone および Garoon では、ご意見・ご要望をログイン後の下記画面より受け付けております。
こちらもぜひご活用ください。
(1) kintone
ヘッダ右上「?」マーク > 「kintone の改善に協力」
(2) Garoon
ヘッダ右上 ユーザー名 > 「ご意見・ご要望」
「variableCustomItemLength」の「指定する値」は「文字列」と書いてありますが、サンプルでは「文字列」ではなくて「真偽値」でした。
myaz 様
cybozu developer network 運営事務局です。
コメントいただきありがとうございます。
コメントの通り、「variableCustomItemLength」の「指定する値」は「文字列」ではなく「真偽値」が正しいものとなります。
内容については、社内にフィードバックをさせていただきました。
今後とも「cybozu developer network」をよろしくお願い申し上げます。
ユーザの更新API(JSON)について以下2点質問です。
* primaryOrganizationには具体的には何をセットすれば良いのでしょうか?(リクエストのサンプルがないので不明ですが、組織コードではなさそうです。)
* 更新したくない項目(例えばパスワードなど)を指定することはできるのでしょうか?単に更新するプロパティのみ指定すれば良いのでしょうか?
全ての項目をセットしないといけないとなると、APIでは元の平文パスワードを取得できないのでCSVでないと厳しいと思っています。
金田 晃 様
お世話になっております。cybozu developer network 運営でございます。
恐れ入りますが、こちらのコメント欄は記事内容のフィードバック目的となっているため、
試してみてわからないなど、記事から派生した技術的なご質問はcybozu developer コミュニティをご活用ください。
よろしくお願い致します。