intra-mart Accel Platform IM-Workflow 仕様書 第37版 2024-04-01

6.1. REST API

REST APIについて説明します。

6.1.1. REST APIについて

IM-Workflow が提供するREST APIは、HTTPプロトコルを使用し、案件の情報取得や処理に関する様々な処理を呼び出すことが可能です。
REST APIはコンテンツタイプとして、application/json(JSON)形式のみ対応しています。
REST APIとして利用可能な機能は以下のとおりです。
  • 未完了案件情報
  • 未完了案件ノード情報
  • 申請情報
  • 過去案件情報
  • 添付ファイル情報
  • ワークフロー権限情報
  • ブックマーク情報
  • 完了案件情報
  • フローグループ定義情報
  • フローグループ情報
  • 一覧表示パターン情報
  • メンテナンス
  • 管理情報
  • 案件情報
  • My検索情報
  • ワークフロープラグイン情報
  • 印影情報
  • 一時保存情報
  • ワークフローユーザ情報
  • 利用者ノード設定情報
  • ワークフローパラメータ情報

6.1.2. 認証方式

REST APIは以下の認証方式に対応しています。

  • Cookieに紐づくセッションの認証状態に依存する方式


    アプリケーションサーバが発行するセッションIDおよびアカウントコンテキストの状態に依存する方式です。
    コンテキストの状態を確認後、認可によるチェックが行われます。
    認可によるチェックが完了後、セキュアトークンによるトークンチェックが行われます。

    コラム

    セキュアトークンによるトークンチェックは Web API Maker プログラミングガイド を参照してください。

  • OAuth認証


    OAuth2.0の仕様に準拠した認証フローによる認証方式です。
    認証後、ログイン状態として扱われ認可によるチェックが行われます。

6.1.3. 認可

REST APIは全ての呼び出し先に対し認可リソースを持ちます。
intra-mart Accel Platform 認可設定において、IM-Workflow REST API認可種別が存在します。
  • 「IM-Workflow 管理者」ロールに認可が設定されているREST API

    ワークフローシステム管理者向け画面で利用されるREST APIです。
  • 「IM-Workflow 運用管理者」ロールに認可が設定されているREST API

    ワークフロー運用管理者向け画面で利用されるREST APIです。
    ログインユーザが、ワークフローシステム管理者から権限を付与された範囲で、ワークフロー情報が取得・操作できます。
  • 「IM-Workflow 監査者」ロールに認可が設定されているREST API

    ワークフロー監査者向け画面で利用されるREST APIです。
    ログインユーザが、ワークフローシステム管理者から権限を付与された範囲で、ワークフロー情報が取得できます。
  • 「IM-Workflow ユーザ」ロールに認可が設定されているREST API

    ワークフロー利用者向け画面で利用されるREST APIです。
    情報を参照するREST APIでは、ログインユーザが参照可能な申請情報や案件情報が取得できます。
    案件を処理するREST APIでは、ログインユーザが権限を持つ案件に対して、ログインユーザを実行者として案件を処理します。

注意

IM-Workflow の以下の画面では、画面表示に必要となる情報を全てREST API経由で取得しています。
そのため、認可設定の変更により画面が正常に動作しなくなる場合があります。
  • 申請一覧
  • 案件一覧
  • フロー情報
  • 履歴情報
  • タスク通知ポートレット
  • 申請一覧ポートレット
  • 未処理タスク一覧ポートレット
  • 未確認案件一覧(未完了案件)ポートレット
  • 未確認案件一覧(完了案件)ポートレット
  • メディア定義
  • メッセージ定義
  • 一覧表示パターン定義

6.1.4. エンドポイントプレフィックス

REST APIは認証方式によって、呼び出し先のエンドポイントが異なります。

6.1.5. Swagger

REST APIはSwagger Specに対応しています。
intra-mart Accel Platform に組み込まれているSwagger UIを通じてREST APIの確認、実行ができます。

Swagger UIは、以下のURLから確認できます。

http(s)://{HOST}:{PORT}/{CONTEXT_PATH}/swagger_ui/?url=/{CONTEXT_PATH}/api-docs/im-workflow-rest
プロトコル、ホスト名、ポート番号、コンテキストパスは環境にあわせて置き換えてください。
例:

コラム

Swagger Specを元に、Swagger CodeGenを利用するとREST APIクライアントコードの自動生成を行うことが可能です。

Swagger CodeGenにより作成されたスタブコードの動作保証は行っておりません。

6.1.6. タスクステータス

REST APIでは、案件の状態や案件に対する役割を併せ、タスクステータスという概念を定義しています。
これらはREST APIのURLやリクエスト、レスポンスで使用されることがあります。
タスクステータスを表すコード 説明
active-matter-tasks 未処理
active-matters-confirmed 未完了案件の確認済み
active-matters-processed 未完了案件の処理済み
active-matters-reference 未完了案件の参照
active-matters-unconfirmed 未完了案件の未確認
archived-matters 過去案件
completed-matters-confirmed 完了案件の確認済み
completed-matters-processed 完了案件の処理済み
completed-matters-reference 完了案件の参照
completed-matters-unconfirmed 完了案件の未確認
temporary-saves 一時保存

6.1.7. リクエストパラメータ共通仕様

  • 仕様に沿わない構造やプロパティ名の情報が含まれる場合、予期せぬ動作になる可能性があります。
  • 日付を表す情報には、 yyyy/MM/dd 形式で string 型の値を指定してください。

6.1.8. レスポンスデータ共通仕様

  • 値が存在しない場合(ブランク文字列やnull)、プロパティそのものが含まれません。
  • 日付を表す情報は、 yyyy/MM/dd 形式の string 型の値と、アカウントコンテキストの日付表示形式でフォーマットした値が返却されます。

6.1.9. エンドポイント

6.1.9.9. フローグループ定義情報

6.1.9.17. 印影情報