監査ログ情報出力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の出力対象外となります。

Procurement Cloudを
ご検討される方へ

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