Workflow Sample

Workflow Sample
Workflow Sample

Contact

プロセス実行API

一般情報

応答の形式

正常応答の場合は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
エラー応答時に、受け取る可能性のあるエラー。
  • InvalidId

プロセス詳細情報取得

プロセス詳細情報を取得します。プロセス詳細情報にはプロセスデータが含まれています。プロセスデータは認証ユーザが閲覧できる権限を持つもののみが含まれます。

導入バージョン

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  タスクが存在しない