ユーザー登録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. その他の注意点

  • なし

Procurement Cloudを
ご検討される方へ

自社の要件にかなうかどうかを
直接聞きたい方へ