監査ログ情報出力API
監査ログ情報出力API
1. API 概要
API名: 監査ログ情報出力API
目的: 監査ログを出力する。
概要: このAPIは、ユーザーがシステム内で行った操作の記録情報を出力します。 APIを実行するユーザーの所属する企業の監査ログを全件取得できます。
2. リクエスト
2.1 リクエストURL
メソッド:GET
ドメイン:お問い合わせください。
エンドポイント:お問い合わせください。
2.2 リクエストヘッダー
| ヘッダー名 | 値 | 説明 |
|---|---|---|
| Content-Type | application/json | リクエストボディのフォーマット。 |
| Authorization | Bearer {access_token} | 認証トークン。 |
2.3 リクエストボディ
なし。
2.4 クエリパラメータ
| パラメータ名 | キー | 型 | 必須 | 制約 | 説明 |
|---|---|---|---|---|---|
| サービスコード | serviceCode |
string |
- | PLATFORM(プラットフォーム)/QUOTATION(見積)/ORDER(受発注)/PAYMENT(請求・決済)/CONTRACT(契約)/CATALOG(カタログ) |
操作が行われたサービスの一意。 |
| 操作コード | actionCode |
number |
- | 1以上の数値 | 実行された操作の種類を識別するコード。(識別コードは現在設計中のため、決まり次第共有致します) |
| 開始日時 | from |
timestamp |
- | YYYY-MM-DD hh:mm 形式 |
監査ログの取得を開始する日時。 |
| 終了日時 | to |
timestamp |
- | YYYY-MM-DD hh:mm 形式 |
監査ログの取得を終了する日時。 |
| 取得数 | pageLimit |
number |
- | 1以上の数値 | 1ページあたりの最大件数を指定。未指定の場合は全件出力。 |
| ページ番号 | pageNumber |
number |
- | 1以上の数値 | 取得したいページ番号を指定。 |
3. レスポンス
3.1 レスポンス成功時
ステータスコード: 200 OK
レスポンス例
{
"data": [
{
"userName": "田中 太郎",
"ip": "xxx.157.197.16",
"serviceCode": "PLATFORM",
"actionName": "ログイン",
"identify": null,
"partnerCompanyName": null,
"amount": null,
"extension1": "パスワード",
"extension2": null,
"extension3": null,
"timestamp": "2025-03-29T04:25:25.796"
},
{
"userName": "田中 太郎",
"ip": "xxx.88.176.139",
"serviceCode": "PLATFORM",
"actionName": "ユーザー更新",
"identify": null,
"partnerCompanyName": null,
"amount": null,
"extension1": "ユーザー(田中 太郎)を更新しました",
"extension2": null,
"extension3": null,
"timestamp": "2025-03-27T05:52:57.497"
},
{
"userName": "田中 太郎",
"ip": "126.88.176.139",
"serviceCode": "CONTRACT",
"actionName": "自社情報登録",
"identify": "COL0000044",
"partnerCompanyName": null,
"amount": null,
"extension1": null,
"extension2": null,
"extension3": null,
"timestamp": "2025-03-27T05:48:14.913"
},
{
"userName": "田中 太郎",
"ip": "xxx.88.176.139",
"serviceCode": "PAYMENT",
"actionName": "支払依頼申請(請求から)",
"identify": null,
"partnerCompanyName": "株式会社A",
"amount": null,
"extension1": "請求(INV-215)から作成された支払依頼(PAR-281)を登録しました。",
"extension2": null,
"extension3": null,
"timestamp": "2025-03-27T02:57:19.464"
}
],
"total": 40
}
レスポンス説明
| パラメーター名 | Jsonキー | 型 | 説明 |
|---|---|---|---|
| ログリスト | data |
array |
監査ログ情報の配列。ログの詳細が含まれる。 |
| ユーザー名 | userName |
string |
操作を行ったユーザーの名前。 |
| IPアドレス | ip |
string |
操作を行ったユーザーのIPアドレス。 |
| サービスコード | serviceCode |
string |
関連するサービスの一意識別子。PLATFORM(プラットフォーム)/QUOTATION(見積)/ORDER(受発注)/PAYMENT(請求・決済)/CONTRACT(契約)/CATALOG(カタログ) |
| 操作名称 | actionName |
string |
実行された操作の名前(例:ユーザー更新)。 |
| 識別子 | identify |
string |
操作に関連する識別子(該当する場合)。 |
| 取引先企業名 | partnerCompanyName |
string |
関連する取引先企業の名前(該当する場合)。 |
| 金額 | amount |
number |
操作に関連する金額(該当する場合)。 |
| 拡張項目1 | extension1 |
string |
拡張情報1(操作に関する補足情報)。 |
| 拡張項目2 | extension2 |
string |
拡張情報2(操作に関する補足情報)。 |
| 拡張項目3 | extension3 |
string |
拡張情報3(操作に関する補足情報)。 |
| タイムスタンプ | timestamp |
timestamp |
操作が行われた日時。 |
| 合計件数 | total |
number |
未取得のものも含む監査ログの総件数。 |
3.2 レスポンス失敗時
ステータスコード: 400 Bad Request (入力が不正な場合)
レスポンス例(バリデーションエラー)
{
"code": "BAD_REQUEST",
"title": "リクエストに不正があります",
"cause": "取得数とページ番号はすべて入力するか、すべて空にしてください。",
"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共通)。 |
| 500 | Internal Server Error | サーバー側の問題。 |
5. 認証
このAPIには、認証が必要です。リクエストのヘッダーにBearerトークンを含めてください。
access_tokenは認証を通過したユーザーのアクセストークンです。
**Authorizationヘッダー**: `Bearer {access_token}`
6. その他の注意点
本APIで出力できるログの期間は3ヶ月です。 それ以前のログはCSV形式でアーカイブされるため、本APIの出力対象外となります。