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は認証方式によって、呼び出し先のエンドポイントが異なります。
Cookieに紐づくセッションの認証状態に依存する方式
http(s)://{HOST}:{PORT}/{CONTEXT_PATH}/api/workflow/....プロトコル、ホスト名、ポート番号、コンテキストパスは環境にあわせて置き換えてください。例:OAuth認証
http(s)://{HOST}:{PORT}/{CONTEXT_PATH}/api/oauth/workflow/....プロトコル、ホスト名、ポート番号、コンテキストパスは環境にあわせて置き換えてください。例:
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.1. 未完了案件情報¶
- 6.1.9.1.1. 未完了案件確認情報リスト取得
- 6.1.9.1.2. 未完了案件情報確認
- 6.1.9.1.3. 未完了案件確認情報リスト件数取得
- 6.1.9.1.4. 一括確認可能未完了案件確認情報リスト取得
- 6.1.9.1.5. 一括確認
- 6.1.9.1.6. 一括確認可能未完了案件確認情報リスト件数取得
- 6.1.9.1.7. 未完了案件処理済み情報リスト取得
- 6.1.9.1.8. 未完了案件処理済み情報リスト件数取得
- 6.1.9.1.9. 引戻し
- 6.1.9.1.10. 引戻しに必要な情報取得
- 6.1.9.1.11. 未完了案件参照情報リスト取得
- 6.1.9.1.12. 未完了案件参照情報リスト件数取得
- 6.1.9.1.13. 未完了案件情報削除
6.1.9.2. 未完了案件ノード情報¶
- 6.1.9.2.1. 未完了案件ノード情報リスト取得
- 6.1.9.2.2. 起票案件の申請
- 6.1.9.2.3. 承認
- 6.1.9.2.4. 承認終了
- 6.1.9.2.5. 未完了案件ノード情報リスト件数取得
- 6.1.9.2.6. 否認
- 6.1.9.2.7. 取止
- 6.1.9.2.8. 一括処理可能未完了案件ノード情報リスト取得
- 6.1.9.2.9. 一括処理
- 6.1.9.2.10. 一括処理可能未完了案件ノード情報リスト件数取得
- 6.1.9.2.11. 再申請
- 6.1.9.2.12. 保留
- 6.1.9.2.13. 保留解除
- 6.1.9.2.14. 差戻し
- 6.1.9.2.15. 振替
- 6.1.9.2.16. 差戻し先ノード情報リスト取得
- 6.1.9.2.17. 振替に必要な情報取得
6.1.9.3. 申請情報¶
6.1.9.4. 過去案件情報¶
6.1.9.5. 添付ファイル情報¶
6.1.9.6. ワークフロー権限情報¶
6.1.9.7. ブックマーク情報¶
6.1.9.8. 完了案件情報¶
6.1.9.9. フローグループ定義情報¶
6.1.9.10. フローグループ情報¶
- 6.1.9.10.1. 案件状態(未処理)のフローグループ/フロー構造情報取得
- 6.1.9.10.2. 案件状態(未完了案件の確認済み)のフローグループ/フロー構造情報取得
- 6.1.9.10.3. 案件状態(未完了案件の処理済み)のフローグループ/フロー構造情報取得
- 6.1.9.10.4. 案件状態(未完了案件の参照)のフローグループ/フロー構造情報取得
- 6.1.9.10.5. 案件状態(未完了案件の未確認)のフローグループ/フロー構造情報取得
- 6.1.9.10.6. 申請一覧のフローグループ構造情報取得
- 6.1.9.10.7. 案件状態(過去案件)のフローグループ/フロー構造情報取得
- 6.1.9.10.8. 案件状態(完了案件の確認済み)のフローグループ/フロー構造情報取得
- 6.1.9.10.9. 案件状態(完了案件の処理済み)のフローグループ/フロー構造情報取得
- 6.1.9.10.10. 案件状態(完了案件の参照)のフローグループ/フロー構造情報取得
- 6.1.9.10.11. 案件状態(完了案件の未確認)のフローグループ/フロー構造情報取得
- 6.1.9.10.12. 案件状態(一時保存)のフローグループ/フロー構造情報取得
- 6.1.9.10.13. フローグループ情報取得
6.1.9.11. 一覧表示パターン情報¶
6.1.9.12. メンテナンス¶
6.1.9.13. 管理情報¶
6.1.9.14. 案件情報¶
6.1.9.15. My検索情報¶
6.1.9.16. ワークフロープラグイン情報¶
6.1.9.17. 印影情報¶
6.1.9.18. 一時保存情報¶
6.1.9.19. 利用者ノード設定情報¶
6.1.9.20. ワークフローユーザ情報¶
- 6.1.9.20.1. 特定の未完了案件確認時に選択可能な所属組織情報取得
- 6.1.9.20.2. 未完了案件の一括確認時に選択可能な所属組織情報取得
- 6.1.9.20.3. 申請者として選択可能なユーザ情報取得
- 6.1.9.20.4. 案件を申請する際に選択可能な所属組織情報取得
- 6.1.9.20.5. 特定の案件処理時に選択可能なユーザ情報取得
- 6.1.9.20.6. 特定の案件処理時に指定ユーザ権限で選択可能な所属組織情報取得
- 6.1.9.20.7. 処理権限者として選択可能なユーザ情報取得
- 6.1.9.20.8. 特定の完了案件確認時に選択可能な所属組織情報取得
- 6.1.9.20.9. 完了案件の一括確認時に選択可能な所属組織情報取得
- 6.1.9.20.10. 一括処理時に選択可能なユーザ情報取得
- 6.1.9.20.11. 一括処理時に指定ユーザ権限で選択可能な所属組織情報取得