ユーザー登録API
ユーザー登録API
1. API 概要
API名: ユーザー登録API
目的: 渡されたユーザー情報をデータベースに登録する。
概要: このAPIは、クライアントから渡されたユーザー情報をデータベースに新規登録します。
2. リクエスト
2.1 リクエストURL
メソッド:POST
ドメイン:お問い合わせください。
エンドポイント:お問い合わせください。
2.2 リクエストヘッダー
| ヘッダー名 | 値 | 説明 |
|---|---|---|
| Content-Type | application/json | リクエストボディのフォーマット。 |
| Authorization | Bearer {access_token} | 認証トークン。 |
2.3 リクエストボディ
リクエストボディにはJSON形式でデータを含めます。以下はその例です。
例
{
"lastName": "山田",
"firstName": "太郎",
"lastNameKana": "やまだ",
"firstNameKana": "たろう",
"mailAddress": "sample_001@example.com",
"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文字(ひらがな) | ユーザーの名のふりがな。 |
| メールアドレス | mailAddress |
string |
⚪︎ | 最大255文字(メールアドレス形式※) | ユーザーのメールアドレス。 |
| ログインID | loginId |
string |
⚪︎ | 最大255文字(英数字および特殊記号(!@#$%&'*+/=?^_`{|}~.-)ただし先頭と最後は英数字) | ユーザーのログインID。 |
| 部署役職情報 | departmentPositionInfo |
array |
- | 配列で複数指定可能 | 部署と役職情報のリスト。未設定の場合は「DEF-DEP(未設定)」「DEF-POS(未設定)」として登録されます。 |
| - 主務 | isPrimaryAssignment |
boolean |
- | true, false |
いずれも未指定の場合は、先頭のデータが主務として登録されます(入力する場合は必須)。 |
| - 部署コード | departmentCode |
string |
- | 最大50文字(半角英数字、記号(-_)) |
登録済みの部署コード(入力する場合は必須)。 |
| - 役職コード | positionCode |
string |
- | 最大50文字(半角英数字、記号(-_)) |
登録済みの役職コードを指定(入力する場合は必須)。 |
| 社員コード | employeeCode |
string |
- | 最大50文字 | ユーザーの社員コード(重複不可)。 |
| 受発注アクセス範囲 | purchaseAccessLevel |
string |
- | SELF, DEPARTMENT, COMPANY |
SELF(自分のみ), DEPARTMENT(所属部署), COMPANY(企業全体)。未設定の場合は「SELF」として登録されます。 |
| 見積アクセス範囲 | estimationAccessLevel |
string |
- | SELF, DEPARTMENT, COMPANY |
SELF(自分のみ), DEPARTMENT(所属部署), COMPANY(企業全体)。未設定の場合は「SELF」として登録されます。 |
| 勤務先名 | workplaceName |
string |
- | 最大255文字 | ユーザーの勤務先名。 |
| 勤務先郵便番号 | workplacePostalCode |
string |
- | ハイフンなし7桁の数字。 | ユーザーの勤務先の郵便番号(例: 1000001)。 |
| 勤務先住所 | workplaceAddress |
string |
- | 最大255文字 | ユーザーの勤務先住所。 |
| 勤務先電話番号 | workplacePhoneNumber |
string |
- | 最大15文字(数字のみ) | ユーザーの勤務先電話番号。 |
| 二要素認証の有効 | isAuthEnable |
boolean |
- | true, false |
true にした場合、初回ログイン時に二要素認証の設定が必要になります。false にした場合、二要素認証なしでログインを行うことができます。 |
| ロール | roles |
array |
- | ロール定義書を参照 | ユーザーに付与するロール。 |
※メールアドレスの形式 英数字および . _ % + - を含む文字列で、@の前後に連続したドットを含まず、@以降は英数字・ドット・ハイフン、末尾は英字
3. レスポンス
3.1 レスポンス成功時
ステータスコード: 201 Created
レスポンス例
{
"loginId": "yamada.taro"
}
レスポンス説明
| パラメーター名 | Jsonキー | 型 | 説明 |
|---|---|---|---|
| ログインID | loginId |
string |
登録したユーザーのログインID。 |
3.2 レスポンス失敗時
ステータスコード: 400 Bad Request (入力が不正な場合)
レスポンス例(バリデーションエラー)
{
"code": "METHOD_ARGUMENT_NOT_VALID",
"title": "リクエストの入力データが無効",
"cause": "姓は必須です。",
"requestId": "0699939e"
}
{
"code": "METHOD_ARGUMENT_NOT_VALID",
"title": "リクエストの入力データが無効",
"cause": "メールアドレスの形式が不正です。XXXX",
"requestId": "0699939e"
}
{
"code": "METHOD_ARGUMENT_NOT_VALID",
"title": "リクエストの入力データが無効",
"cause": "姓は必須です。, 名は必須です。",
"requestId": "0699939e"
}
ステータスコード: 403 Forbidden (Keycloakの認証エラー)
レスポンス例(権限エラー)
なし
ステータスコード: 409 Conflict (すでに登録されているログインID)
レスポンス例(コンフリクト)
{
"code": "ALREADY_REGISTERED",
"title": "すでに登録済みのデータ",
"cause": "そのログインIDはすでに使われています。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共通)。 |
| 409 | Conflict | すでに存在するログインIDが指定されている。 |
| 500 | Internal Server Error | サーバー側の問題。 |
5. 認証
このAPIには、認証が必要です。リクエストのヘッダーにBearerトークンを含めてください。
- Authorizationヘッダー:
Bearer {access_token}ここで、access_tokenは認証を通過したユーザーのアクセストークンです。
6. その他の注意点
- なし