ユーザー情報更新API
ユーザー情報更新API
1. API 概要
API名: ユーザー情報更新API
目的: 渡されたユーザー情報を使用して該当ユーザーのデータベースのデータを更新する。
概要: このAPIは、クライアントから渡されたユーザー情報に該当するユーザーのデータベースのデータを更新します。 入力した項目のみ更新されます。ただし、部署役職情報を指定の場合は、既存の部署役職情報の登録データが全て上書きされます。
2. リクエスト
2.1 リクエストURL
メソッド:PUT
ドメイン:お問い合わせください。
エンドポイント:お問い合わせください。
2.2 リクエストヘッダー
| ヘッダー名 | 値 | 説明 |
|---|---|---|
| Content-Type | application/json | リクエストボディのフォーマット。 |
| Authorization | Bearer {access_token} | 認証トークン。 |
2.3 リクエストボディ
リクエストボディにはJSON形式でデータを含めます。以下はその例です。
例
{
"lastName": "山田",
"firstName": "太郎",
"lastNameKana": "やまだ",
"firstNameKana": "たろう",
"loginId": "yamada.taro",
"departmentPositionInfo": [
{
"isPrimaryAssignment": true,
"departmentCode": "DEP-001",
"positionCode": "POS-101"
},
{
"isPrimaryAssignment": false,
"departmentCode": "DEP-002",
"positionCode": "POS-202"
}
],
"employeeCode": "EMP-123456",
"purchaseAccessLevel": "SELF",
"estimationAccessLevel": "COMPANY",
"workplaceName": "東京本社",
"workplacePostalCode": "1000001",
"workplaceAddress": "東京都千代田区千代田1-1-1",
"workplacePhoneNumber": "0312345678",
"isAuthEnable": true,
"roles": [
"ユーザー",
"estimation-v4"
]
}
2.4 パラメータ説明
| パラメータ名 | JSONキー | 型 | 必須 | 制約 | 説明 |
|---|---|---|---|---|---|
| 姓 | lastName |
string |
- | 最大50文字 | ユーザーの姓。 |
| 名 | firstName |
string |
- | 最大50文字 | ユーザーの名。 |
| 姓かな | lastNameKana |
string |
- | 最大50文字(ひらがな) | ユーザーの姓のふりがな。 |
| 名かな | firstNameKana |
string |
- | 最大50文字(ひらがな) | ユーザーの名のふりがな。 |
| ログインID | loginId |
string |
- | 最大255文字のメールアドレス形式※ | ユーザーのログインID(重複不可)。※指定した場合、ログインIDが上書きされます。 |
| 部署役職情報 | departmentPositionInfo |
array |
- | 配列 | 部署と役職情報のリスト。※指定した場合は、既存の登録データは全て上書きされます。 |
| - 主務 | isPrimaryAssignment |
boolean |
- | true,false |
trueの場合、主務として登録されます。falseの場合、副務として登録されます。一つ選択する必要があり、複数の主務登録はできません(入力する場合は必須)。 |
| - 部署コード | departmentCode |
string |
- | 最大50文字 | 登録済みの部署コードを指定(入力する場合は必須)。 |
| - 役職コード | positionCode |
string |
- | 最大50文字 | 登録済みの役職コードを指定(入力する場合は必須)。 |
| 社員コード | employeeCode |
string |
- | 最大255文字 | 社員コード(重複不可)。 |
| 受発注アクセス範囲 | purchaseAccessLevel |
string |
- | SELF, DEPARTMENT, COMPANY |
SELF(自分のみ), DEPARTMENT(所属部署), COMPANY(企業全体)。 |
| 見積アクセス範囲 | estimationAccessLevel |
string |
- | SELF, DEPARTMENT, COMPANY |
SELF(自分のみ), DEPARTMENT(所属部署), COMPANY(企業全体)。 |
| 勤務先名 | workplaceName |
string |
- | 最大255文字 | ユーザーの勤務先名。 |
| 勤務先郵便番号 | workplacePostalCode |
string |
- | 7文字の数字(ハイフン無し) | ユーザーの勤務先の郵便番号(例: 1000001)。 |
| 勤務先住所 | workplaceAddress |
string |
- | 最大255文字 | ユーザーの勤務先住所。 |
| 勤務先電話番号 | workplacePhoneNumber |
string |
- | 15文字(数字のみ) | ユーザーの勤務先電話番号。 |
| 二要素認証の有効 | isAuthEnable |
boolean |
- | true, false |
true にした場合、ログイン時に二要素認証の設定が必要になります。false にした場合、二要素認証なしでログインを行うことができます。 |
| ロール | roles |
array |
- | ロール定義書を参照。"all-remove"が指定された場合はロールが全て外れます。 | ユーザーに付与するロール。※指定した場合は、既存の登録データは全て上書きされます。 |
※メールアドレスの形式 英数字および . _ % + - を含む文字列で、@の前後に連続したドットを含まず、@以降は英数字・ドット・ハイフン、末尾は英字
3. レスポンス
3.1 レスポンス成功時
ステータスコード: 204 NO CONTENT
レスポンス例
なし
3.2 レスポンス失敗時
ステータスコード: 400 METHOD_ARGUMENT_NOT_VALID (入力が不正な場合)
レスポンス例(バリデーションエラー)
{
"code": "METHOD_ARGUMENT_NOT_VALID",
"title": "リクエストの入力データが無効",
"cause": "名は最大50文字までです。",
"requestId": "0699939e"
}
{
"code": "METHOD_ARGUMENT_NOT_VALID",
"title": "リクエストの入力データが無効",
"cause": "姓かなはひらがなのみ使用可能です。",
"requestId": "0699939e"
}
{
"code": "METHOD_ARGUMENT_NOT_VALID",
"title": "リクエストの入力データが無効",
"cause": "名かなは最大50文字までです。, 勤務先郵便番号は7桁の数字である必要があります。",
"requestId": "0699939e"
}
ステータスコード: 403 Forbidden (Keycloakの認証エラー)
レスポンス例(権限エラー)
なし
ステータスコード: 404 Not Found (指定したユーザーが見つからない)
レスポンス例(ユーザーが見つからない)
{
"code": "RESOURCE_NOT_FOUND",
"title": "指定されたリソースが不明",
"cause": "ユーザーが見つかりません。XXX",
"requestId": "0699939e"
}
ステータスコード: 409 Conflict (すでに登録されている社員コード)
レスポンス例(コンフリクト)
{
"code": "ALREADY_REGISTERED",
"title": "すでに登録済みのデータ",
"cause": "その社員コードはすでに使われています。XXX",
"requestId": "0699939e"
}
ステータスコード: 500 Internal Server Error (サーバーエラーが発生した場合)
レスポンス例(サーバーエラー)
{
"code": "RUNTIME_ERROR",
"title": "予期せぬエラーが発生",
"cause": "予期せぬエラーが発生しました。",
"requestId": "0699939e"
}
失敗レスポンス説明
| パラメーター名 | Jsonキー | 型 | 説明 |
|---|---|---|---|
| コード | code |
string |
発生したエラーを種類ごとに識別するためのコード |
| タイトル | title |
string |
エラーやイベントの概要を示す短い見出し |
| 原因 | cause |
string |
問題の根本的な要因を説明 |
| リクエストID | requestId |
string |
リクエストで一意に振り分けられるID。問い合わせの際に送信してください。 |
4. エラーハンドリング
| ステータスコード | エラーの種類 | 説明 |
|---|---|---|
| 400 | Bad Request | リクエストが不正な場合(例えば、必須パラメータの欠如、フォーマットエラーなど)。 |
| 403 | Forbidden | レスポンスが存在しない場合、Keycloakの認証エラー(全API共通)。 |
| 404 | Not Found | 指定されたユーザーが見つからない |
| 409 | Conflict | すでに存在する社員コードが指定されている。 |
| 500 | Internal Server Error | サーバー側の問題 |
5. 認証
このAPIには、認証が必要です。リクエストのヘッダーにBearerトークンを含めてください。
- Authorizationヘッダー:
Bearer {access_token}ここで、access_tokenは認証を通過したユーザーのアクセストークンです。
6. その他の注意点
- なし