一般情報
応答の形式
正常応答の場合はHTTPのレスポンスコード200を返し、データを返すメソッドの場合はレスポンスのbody部にUTF-8エンコードのJSON形式のテキストを含みます。エラーは、ユーザ認証に失敗した場合にはHTTPレスポンスコード401(Unauthorized)、認証されたユーザが指定した操作を実行する権限を持たない場合403(Forbidden)を返します。それ以外のエラーの場合 HTTP のレスポンスコード400を返し、body部にはエラーの内容をJSON形式のテキストで記述します。
応答オブジェクト
応答でデータを返す場合、応答のデータは以下の種類のオブジェクト、もしくはこれらのオブジェクトのリストです。
| オブジェクト名 |
説明 |
| ActivityEntry |
開始可能なプロセスモデルの先頭タスクを表すオブジェクト |
| WorkitemEntry |
実行中のタスクを表すオブジェクト |
| ProcessInstanceEntry |
プロセスを表すオブジェクト |
| ProcessDataEntry | プロセスデータを表すオブジェクト |
以下に、これらのオブジェクトの属性を示します。
ActivityEntry
| 属性名 |
説明 |
| id |
タスクのID |
| nodeName |
タスクの名前 |
| processModelInfoId |
プロセスモデルのID。バージョンによらず変わらない |
| processModelId |
プロセスモデルのバージョン別のID |
| processModelVersion |
プロセスモデルのバージョン番号 |
| processModelInfoName |
プロセスモデルの名前 |
| processModelActivateDatetime |
プロセスモデルのこのバージョンがアクティベートされた日時 |
例:
{"startableActivities":[{ "id":2086, "nodeName":"テストタスク", "processModelActivateDatetime":"2010-01-07T18:13:40+0900", "processModelId":2081, "processModelInfoId":11, "processModelInfoName":"テストプロセスモデル", "processModelVersion":1 } ]}
WorkitemEntry
| 属性名 |
型 |
説明 |
| id |
数値 |
タスクのインスタンスのID |
| allocateDatetime |
日時 |
タスクが割り当てられた日時 |
| allocatedQuserId |
数値 |
割り当てられたユーザのID |
| allocatedQuserName |
文字列 |
割り当てられたユーザの名前 |
| allocatedQgroupId |
数値 |
割り当てられた組織のID |
| allocatedQgroupName |
文字列 |
割り当てられた組織の名前 |
| endDatetime |
日時 |
タスクの実行が終了した日時 |
| nodeName |
文字列 |
タスクの名前 |
| nodeNumber |
数値 |
タスクの番号 |
| offerDatetime |
日時 |
タスクがオファーされた日時 |
| processInstanceEndDatetime |
日時 |
プロセスが終了した日時 |
| processInstanceId |
数値 |
プロセスのID |
| processInstanceIdForView |
文字列 |
プロセスのIDの文字列表記 |
| processInstanceInitQgroupId |
数値 |
プロセス開始組織のID |
| processInstanceInitQgroupName |
文字列 |
プロセス開始組織の名前 |
| processInstanceInitQuserId |
数値 |
プロセス開始ユーザのID |
| processInstanceInitQuserName |
文字列 |
プロセス開始ユーザの名前 |
| processInstanceStartDatetime |
日時 |
プロセスが開始された日時 |
| processInstanceState |
文字列 |
プロセスの状態 |
| processInstanceTitle |
文字列 |
プロセスの件名 |
| processModelInfoId |
数値 |
プロセスモデルのID |
| processModelInfoName |
文字列 |
プロセスモデルの名前 |
| processModelVersion |
数値 |
プロセスモデルのバージョン |
| startDatetime |
日時 |
タスクの実行が開始された日時 |
| state |
文字列 |
タスクの状態 |
| swimlaneType |
文字列 |
タスクが配置されているスイムレーンの種別 |
| timeLimitDatetime |
日時 |
タスクの締め切り日時 |
例:
{"workitem":{ "id":58399, "allocateDatetime":"2010-08-18T14:03:18+0900", "allocatedQgroupId":null, "allocatedQgroupName":null, "allocatedQuserId":0, "allocatedQuserName":"サウスポール", "createDatetime":"2010-08-18T14:03:17+0900", "endDatetime":null, "nodeName":"Activity1", "nodeNumber":0, "offerDatetime":null, "processInstanceEndDatetime":null, "processInstanceId":825, "processInstanceIdForView":"p825", "processInstanceInitQgroupId":null, "processInstanceInitQgroupName":null, "processInstanceInitQuserId":0, "processInstanceInitQuserName":"サウスポール", "processInstanceStartDatetime":"2010-08-18T14:03:16+0900", "processInstanceState":"STARTED", "processInstanceTitle":null, "processModelInfoId":9, "processModelInfoName":"テストプロセス", "processModelVersion":4, "startDatetime":null, "state":"ALLOCATED", "swimlaneType":"NORMAL", "timeLimitDatetime":null } }
ProcessInstanceEntry
| 属性名 |
型 |
説明 |
| processInstanceId |
数値 |
プロセスのID |
| processInstanceIdForView |
文字列 |
プロセスのIDの文字列表記 |
| processInstanceInitQgroupId |
数値 |
プロセス開始組織のID |
| processInstanceInitQgroupName |
文字列 |
プロセス開始組織の名前 |
| processInstanceInitQuserId |
数値 |
プロセス開始ユーザのID |
| processInstanceInitQuserName |
文字列 |
プロセス開始ユーザの名前 |
| processInstanceStartDatetime |
日時 |
プロセスが開始された日時 |
| processInstanceEndDatetime |
日時 |
プロセスが終了した日時 |
| processInstanceState |
文字列 |
プロセスの状態 |
| processInstanceTitle |
文字列 |
プロセスの件名 |
| processModelInfoId |
数値 |
プロセスモデルのID |
| processModelInfoName |
文字列 |
プロセスモデルの名前 |
| processModelVersion |
数値 |
プロセスモデルのバージョン |
| data |
オブジェクト |
プロセスデータを格納したオブジェクト。
プロパティ名はプロセスデータ定義番号。
その値については、以下のProcessDataEntryを参照。 |
ProcessDataEntry
| 属性名 |
型 |
説明 |
| id |
数値 |
プロセスデータのID |
| processDataDefinitionNumber |
数値 |
プロセスデータの定義番号 |
| dataType |
文字列 |
データ型 |
| subType |
文字列 |
サブデータ型。特定のデータ型のみで使用。 |
| value |
文字列 |
値。
データ型によっては、オブジェクトである場合がある。 |
| viewOrder |
数値 |
表示順。 |
エラー応答オブジェクト
エラー応答をJSON形式で返す場合、errorsという名前でErrorEntryの配列を返します。ErrorEntryは以下の属性を持ちます。エラー種別の詳細は「エラー一覧」の節を参照してください。
ErrorEntry
| 属性名 |
型 |
説明 |
| errorCode |
文字列 |
エラーコード |
| type |
文字列 |
エラー種別 |
| input |
文字列 |
エラーの原因となった入力値 |
例: エラー応答
{"errors":[{"errorCode":"20002","input":"foo@questetra.com","type":"QuserDoesNotExist"}]}
処理一覧
プロセス実行APIで実行可能な処理は以下のとおりです。URL中の<ContextRoot>は接続先のQuestetra BPM Suiteのコンテキストルートを代入してください。
| 操作 |
URL |
| 開始可能なプロセスモデル一覧 |
<ContextRoot>/API/PE/ProcessModel/list |
| プロセスの開始 |
<ContextRoot>/API/PE/ProcessInstance/start |
| マイタスクの一覧 |
<ContextRoot>/API/PE/Workitem/listAllocated |
| オファータスクの一覧 |
<ContextRoot>/API/PE/Workitem/listOffered |
| タスクの引き受け |
<ContextRoot>/API/PE/Workitem/batchAccept |
| プロセス詳細情報取得 |
<ContextRoot>/API/PE/ProcessInstance/view |
開始可能なプロセスモデル一覧
認証されたユーザで開始可能なプロセスモデルの一覧を返します。
パラメータ
なし
応答
| オブジェクト名 |
説明 |
| startableActivities |
開始可能なプロセスモデルのActivityEntryのリスト |
発生する可能性のあるエラー
なし
プロセスの開始
認証されたユーザの権限でプロセスを開始する。
パラメータ
| パラメータ名 |
説明 |
| activityId * |
開始するプロセスの先頭タスクのID
ActivityEntryのid 属性の値 |
応答
| オブジェクト名 |
説明 |
| workitem |
開始されたプロセスの先頭タスクを表すWorkitemEntry |
発生する可能性のあるエラー
- InvalidActivityId
- InstanceNumberExceeding
- UserNumberExceeding
- OverQuota
マイタスク / オファータスクの一覧
マイタスク / オファータスクの一覧を取得します。
パラメータ
パラメータはありません。
応答
| オブジェクト名 |
説明 |
| count |
件数
|
| workitems |
タスクの一覧
WorkitemEntryのリスト |
例:
{"count":2, "workitems":[ { //WorkitemEntry "id":58399, "allocateDatetime":"2010-08-18T14:03:18+0900", ... }, { //WorkitemEntry "id":58400, "allocateDatetime":"2010-08-18T14:03:18+0900", ... } ] }
発生する可能性のあるエラー
この操作、固有のエラーはありません。
タスクの引き受け
オファーされているタスクを引き受けます。
パラメータ
| パラメータ名 |
説明 |
| workitemIds * |
引き受けるタスクのID。
WorkitemEntry の id 属性の値。
複数のタスクをまとめて引き受けることが可能です。
その場合は、タスクの数だけパラメータとタスクのIDを指定してください。
|
応答
| オブジェクト名 |
説明 |
| results |
引き受けに成功したか失敗したかを格納したオブジェクト。
スキーマは以下の通り。
|
| 属性名 |
型 |
説明 |
| success |
boolean |
タスクの引き受けに成功したか失敗したか。成功はtrue。 |
| workitemId |
数値 |
対象のタスクのID |
| workitem |
|
対象のタスクの情報を格納したWorkitemEntry。
引き受けに失敗した場合、このオブジェクトがない場合もあります。 |
| error |
|
エラー応答オブジェクト。
引き受けに失敗した場合のみ。 |
※このAPI呼び出しでは、値が null であるオブジェクトは出力されません。
例:
{"results":[ { "success":true, "workitemId":58399, "workitem":{ "id":58399, "offerDatetime":"2010-08-18T14:03:17+0900", "nodeName":"Activity1", "nodeNumber":0, "processInstanceId":825, "processInstanceIdForView":"p825", "processInstanceInitQgroupId":1, "processInstanceInitQgroupName":"Org", "processInstanceInitQuserId":0, "processInstanceInitQuserName":"サウスポール", "processInstanceStartDatetime":"2010-08-18T14:03:16+0900", "processInstanceState":"STARTED", "processInstanceTitle":"", "processModelInfoId":9, "processModelInfoName":"www 日本語", "processModelVersion":4, "startDatetime":null, "state":"ALLOCATED", "swimlaneType":"NORMAL" }, { "success":false, "workitemId":58400, "error":{ "errorCode":"40003", "type":"WorkitemDoesNotExist" } } ]}
発生する可能性のあるエラー
正常応答時にresultsの一覧として、受け取る可能性のあるエラー。
- NeedToAcceptOtherWorkitems
- WorkitemIsNotOffered
- WorkitemStatusAlreadyChanged
- WorkitemDoesNotExist
エラー応答時に、受け取る可能性のあるエラー。
プロセス詳細情報取得
プロセス詳細情報を取得します。プロセス詳細情報にはプロセスデータが含まれています。プロセスデータは認証ユーザが閲覧できる権限を持つもののみが含まれます。
導入バージョン
7.4.0
パラメータ
| パラメータ名 |
説明 |
| processInstanceId * |
プロセスのID
WorkitemEntryの processInstanceId 属性の値 |
応答
| オブジェクト名 |
説明 |
| processInstance |
ProcessInstanceEntry |
発生する可能性のあるエラー
- InvalidProcessInstanceId
- ProcessInstanceDoesNotExist
エラー一覧
| エラー種別 |
エラーコード |
説明 |
| InvalidId |
10001 |
不正なidの指定。idは0〜9223372036854775807の整数 |
| InvalidActivityId |
10011 |
不正な activityId の指定。activityIdは0〜9223372036854775807の整数 |
| InvalidProcessInstanceId |
10014 |
不正な processInstanceId の指定。processInstanceIdは0〜9223372036854775807の整数 |
| ActivityDoesNotExist |
20012 |
activityId で指定したタスクが存在しない |
| ProcessInstanceDoesNotExist |
20016 |
processInstanceId で指定したプロセスが存在しない |
| InstanceNumberExceeding |
30004 |
プロセス数制限を超えてプロセスを起動しようとした |
| UserNumberExceeding |
30005 |
ユーザ数制限を超えている状態でプロセスを起動しようとした |
| OverQuota |
30007 |
短時間に大量のプロセスを起動しようとした
|
| NeedToAcceptOtherWorkitems |
40000 |
まとめて引き受けなければならないタスクが他にある |
| WorkitemIsNotOffered |
40001 |
タスクが自分にはオファーされていない |
| WorkitemStatusAlreadyChanged |
40002 |
オファー状態でないタスクを引き受けようとした |
| WorkitemDoesNotExist |
40003 |
タスクが存在しない |
|