Workflow Sample

Workflow Sample
Workflow Sample

Contact

検索API

一般情報

応答の形式

プロセス実行APIと同じです。プロセス実行APIの一般情報を参照してください。

応答オブジェクト

応答でデータを返す場合、応答のデータは以下の種類のオブジェクトのオブジェクトのリストです。
 オブジェクト名  説明
 WorkitemEntry タスクを表すオブジェクト
 ProcessInstanceEntry プロセスを表すオブジェクト 
以下に、これらのオブジェクトの属性を示します。

WorkitemEntry

プロセス実行APIと同じです。プロセス実行APIの一般情報を参照してください。

ProcessInstanceEntry

プロセス実行APIと同じです。プロセス実行APIの一般情報を参照してください。

処理一覧

検索APIで実行可能な処理は以下のとおりです。
URL中の<ContextRoot>は接続先のQuestetra BPM Suiteのコンテキストルートを代入してください。
 操作  URL
タスクの検索  <ContextRoot>/API/OR/Workitem/list
全ユーザのタスクの検索  <ContextRoot>/API/PIM/Workitem/list
全ユーザのプロセス検索  <ContextRoot>/API/PIM/ProcessInstance/list
プロセス詳細情報取得  <ContextRoot>/API/PIM/ProcessInstance/view

タスクの検索

認証されたユーザが処理した、または処理中のタスクを検索します。処理中のタスクには、オファーされているタスクおよび割り当てられているタスクを含みます。

導入バージョン

7.3.0

URL

<ContextRoot>/API/OR/Workitem/list

パラメータ

いずれも検索条件になります。
 パラメータ名  説明
processModelInfoId プロセスモデルをIDで指定します。
指定しない場合、全プロセスモデルが検索対象になります。
option 検索オプションを指定します。以下のいずれかの値を指定します。
指定しなかった場合は、 ENDが指定されたものとみなされます。
END
完了したタスクを検索します。中止したタスクは含みません。
END_1WEEK
この1週間以内に完了したタスクを検索します。中止したタスクは含みません。
END_THIS_MONTH
今月完了したタスクを検索します。中止したタスクは含みません。
END_LAST_MONTH
先月完了したタスクを検索します。中止したタスクは含みません。
OPERATING
処理中のタスクを検索します。
TIMELIMIT_PAST
処理中のタスクで、締め切りが既に現在時刻を過ぎているタスクを検索します。
TIMELIMIT_1WEEK
処理中のタスクで、締め切りが次の1週間以内に来るタスクを検索します。締め切りが既に過ぎているものは含みません。
PROCESS_STARTED
処理中であるプロセスに含まれるタスクを検索します。タスクの状態は無関係で、完了したタスクも処理中のタスクも対象です。
PROCESS_FAILED
中止したプロセスに含まれるタスクを検索します。タスクの状態は無関係で、完了したタスクも処理中のタスクも対象です。
ALL
7.4.0以降。全てのタスクを検索します。
limit 取得するタスクの最大件数を指定します。 最小値は0、最大値は1000です。
指定しなかった場合は、1が指定されたものとみなされます。
start 取得するタスクの開始位置を指定します。最小値は0、最大値は2147483647です。
指定しなかった場合は、0が指定されたものとみなされます。
検索結果の全件が100で、startに10、limitに50を指定した場合、100件のうち11件目から60件目を取得することになります。 
sort 検索結果をソートする際のキーを指定します。以下のいずれかを指定します。
指定しなかった場合は、offerDatetimeが指定されたものとみなされます。
offerDatetime
タスクのオファー日時でソートします。
endDatetime
タスクの完了日時でソートします。
dir 昇順・降順のいずれでソートするかを指定します。指定しなかった場合は、降順が指定されたものとみなされます。
ASC
昇順。時刻の場合、早い順、古い順です。
DESC
降順。時刻の場合、遅い順、新しい順です。

応答

 オブジェクト名  説明
 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", ... } ] }

発生する可能性のあるエラー

  • InvalidStart(7.4.0以降)
  • InvalidLimit(7.4.0以降)

全ユーザのタスクの検索

認証されたユーザがプロセス管理権限、プロセス閲覧権限、またはプロセスデータ閲覧権限を持っているプロセスモデルに関して、全ユーザのタスクを検索します。

導入バージョン

7.3.0

URL

<ContextRoot>/API/PIM/Workitem/list

パラメータ

タスクの検索と同じです。

応答

タスクの検索と同じです。

発生する可能性のあるエラー

  • InvalidStart(7.4.0以降)
  • InvalidLimit(7.4.0以降)

全ユーザのプロセスの検索

導入バージョン

7.4.0

URL

<ContextRoot>/API/PIM/ProcessInstance/list

パラメータ

 パラメータ名  説明
criteria 検索条件をXMLで指定します。検索条件XMLについては、検索条件XMLの節を参照してください。
指定しなかった場合は、権限を有している全プロセスモデルの全プロセスが対象になります。
limit 取得するタスクの最大件数を指定します。 最小値は0、最大値は1000です。
指定しなかった場合は、1が指定されたものとみなされます。
start 取得するタスクの開始位置を指定します。最小値は0、最大値は2147483647です。
指定しなかった場合は、0が指定されたものとみなされます。
検索結果の全件が100で、startに10、limitに50を指定した場合、100件のうち11件目から60件を取得することになります。

応答

オブジェクト名  説明
 count 件数
 processInstances プロセスの一覧
ProcessInstanceEntryのリスト

応答例

{
  "count":4,
  "processInstances":[
    {"processInstanceId":1319,
     "data":
      {"1":{
        "dataType":"SELECT",
        "id":560709,
        "processDataDefinitionNumber":1,
        "subType":null,
        "value":[
          {"display":"選択肢2",
           "value":"選択肢2"}
        ],
        "viewOrder":3
       },
       "0":{
        "dataType":"STRING",
        "id":560708,
        "processDataDefinitionNumber":0,
        "subType":null,
        "value":"選択肢1\n選択肢2",
        "viewOrder":1
       }
      },
     ...
    },
    {"processInstanceId":1284,
     "data":
      {"1":{
        "dataType":"SELECT",
        "id":542679,
        "processDataDefinitionNumber":1,
        "subType":null,
        "value":null,
        "viewOrder":3
       },
       "0":{
        "dataType":"STRING",
        "id":542678,
        "processDataDefinitionNumber":0,
        "subType":null,
        "value":"選択肢1\n選択肢2\n選択肢3",
        "viewOrder":1
       }
      },
     ...
    }
  ]
}

発生する可能性のあるエラー

  • InvalidStart
  • InvalidLimit

検索条件XML

以下のようなXMLになります。この例では、
  • プロセスモデルが「33」
  • プロセス開始日時が「2011-01-01以降」
  • 文字型データ項目に対して「値が入力されている」
  • 数値型データ項目に対して「100以上」
で検索し、更に選択型を結果取得対象に加えています。詳細は表を参照してください。
<process-instance-criteria>
	<process-model-info-id>33</process-model-info-id>
	<start-date-from>2011-01-01</start-date-from>
	<data>
		<string>
			<data-definition-number>0</data-definition-number>
			<not-empty />
		</string>
                <decimal>
                        <data-definition-number>1</data-definition-number>
                        <greater-equals />
                        <value>100</value>
                </decimal>
		<select>
			<data-definition-number>10</data-definition-number>
			<view />
		</select>
	</data>
</process-instance-criteria>

要素名 / 属性名 (XPath式)
 説明
/process-instance-criteria
検索条件XMLのルート要素。
以下、/process-instance-criteria を省略。
process-model-info-id 数値 プロセスモデルID。
権限を持っている全プロセスモデルを検索対象とする場合は、指定しないでください。
states
検索対象のプロセスの状態を指定。
指定しない場合は、あらゆる状態のプロセスが検索対象となります。states/ 
states/state 文字列 検索対象のプロセスの状態を、以下から1つ指定。
複数の状態を検索対象とする場合は、その数だけ要素を並べます。
STARTED
稼働中のプロセス。
ENDED
正常終了したプロセス。
FAILED
キャンセル等で正常終了しなかったプロセス。
title 文字列 指定された場合は、値が件名の一部に含まれているプロセスを検索します。
start-date-from 日付 指定された場合は、プロセスの開始日時が指定された日付以降のプロセスを検索します。
指定された日に開始したプロセスも、検索結果に含まれます。 
start-date-to 日付 指定された場合は、プロセスの開始日時が指定された日付以前のプロセスを検索します。
指定された日に開始したプロセスも、検索対象に含まれます。 
end-date-from 日付 指定された場合は、プロセスの終了日時が指定された日付以降のプロセスを検索します。
指定された日に終了したプロセスも、検索結果に含まれます。
終了していないプロセスは、検索結果に含まれません。 
end-date-to 日付  指定された場合は、プロセスの終了日時が指定された日付以前のプロセスを検索します。
指定された日に終了したプロセスも、検索結果に含まれます。
終了していないプロセスは、検索結果に含まれません。 
init-quser-id 数値 ユーザID。
指定された場合は、プロセスの開始ユーザが指定されたユーザであるプロセスを検索します。 
init-qgroup-id 数値 組織ID。
指定された場合は、プロセスの開始組織が指定された組織であるプロセスを検索します。 
sort-property 文字列 検索結果をソートする際のキーを、以下から1つ指定します。
省略した場合は、プロセスの開始日時がキーになります。
processInstanceStartDatetime
プロセスの開始日時
processInstanceEndDatetime
プロセスの終了日時
sort-direction 文字列 検索結果をソートする際の昇順、降順を以下から指定します。
省略した場合は、降順でソートされます。
ASC
昇順
DESC
降順
data   プロセスデータを検索条件や結果取得対象に含める場合に指定。
ここで指定されたプロセスデータ項目のみ、検索結果に含まれます。 
data/*/data-definition-number 数値 プロセスデータ定義番号。
検索対象や結果取得対象にするプロセスデータのプロセスデータ定義番号を指定します。
* 部分は、対象のデータ型によって異なります。 
data/*/value 文字列 検索に使用する値を指定します。
検索の種類によって意味は変わります。指定不要な検索の種類もあります。
* 部分は、対象のデータ型によって異なります。 
日時型については、「yyyy-MM-dd hh:mm」というフォーマットで指定してください。
data/string   文字型のデータ項目を検索や結果取得対象に含める場合に指定します。
data/string/empty   文字型のデータ項目で、「値が入力されていない」条件で検索する場合に指定します。
この検索の種類では、data/*/value の指定は不要です。
data/string/not-empty   文字型のデータ項目で、「値が入力されている」条件で検索する場合に指定します。
この検索の種類では、data/*/value の指定は不要です。 
data/string/contains
文字型のデータ項目で、data/*/value で指定された文字列が、「値に含まれている」条件で検索する場合に指定します。 
data/discussion
掲示板型のデータ項目を検索や結果取得対象に含める場合に指定します。
data/discussion/empty   掲示板型のデータ項目で、「値が入力されていない」条件で検索する場合に指定します。
この検索の種類では、data/*/value の指定は不要です。
data/discussion/not-empty   掲示板型のデータ項目で、「値が入力されている」条件で検索する場合に指定します。
この検索の種類では、data/*/value の指定は不要です。 
data/discussion/contains
掲示板型のデータ項目で、data/*/value で指定された文字列が、「値に含まれている」条件で検索する場合に指定します。 
data/decimal 数値型のデータ項目を検索や結果取得対象に含める場合に指定します。
data/decimal/equals   数値型のデータ項目で、data/*/value で指定された数値と「等しい」条件で検索する場合に指定します。 
data/decimal/greater-equals   数値型のデータ項目で、data/*/value で指定された数値「以上」で検索する場合に指定します。  
data/decimal/less-equals   数値型のデータ項目で、data/*/value で指定された数値「以下」で検索する場合に指定します。 
data/date 日付型のデータ項目を検索や結果取得対象に含める場合に指定します。 
data/date/equals   日付型のデータ項目で、data/*/value で指定された日付と「等しい」条件で検索する場合に指定します。 
data/date/after-equals   日付型のデータ項目で、data/*/value で指定された数値「以降」で検索する場合に指定します。
data/date/before-equals
日付型のデータ項目で、data/*/value で指定された数値「以前」で検索する場合に指定します。
data/datetime 日時型のデータ項目を検索や結果取得対象に含める場合に指定します。 
data/datetime/equals
日時型のデータ項目で、data/*/value で指定された日時と「等しい」条件で検索する場合に指定します。 
data/datetime/after-equals
日時型のデータ項目で、data/*/value で指定された日時「以降」で検索する場合に指定します。 
data/datetime/before-equals   日時型のデータ項目で、data/*/value で指定された日時「以前」で検索する場合に指定します。  
data/select 選択型のデータ項目を検索や結果取得対象に含める場合に指定します。 
data/select/selected   選択型のデータ項目で、data/*/value で指定された値を持つ選択肢が「選択されている」条件で検索する場合に指定します。 
data/file ファイル型のデータ項目を検索や結果取得対象に含める場合に指定します。 
data/file/contains   ファイル型のデータ項目で、data/*/value で指定された文字列が、「ファイル名に含まれている」条件で検索する場合に指定します。 
data/quser ユーザ型のデータ項目を検索や結果取得対象に含める場合に指定します。 
data/quser/equals   ユーザ型のデータ項目で、data/*/value で指定されたIDを持つユーザと「等しい」条件で検索する場合に指定します。
data/table テーブルのデータ項目を結果取得対象に含める場合に指定します。
テーブル型では検索を行えないので、結果取得対象に含めることができるだけになります。 
data/*/view   指定したデータ項目において検索条件は指定せず、結果取得対象にする場合に指定します。
* の部分は、対象のデータ型によって異なります。 

プロセス詳細情報取得

プロセス詳細情報を取得します。対象のプロセスモデルに対してプロセスデータ/履歴閲覧権限を持っている場合、結果にプロセスデータを含みます。

導入バージョン

7.4.0

パラメータ

 パラメータ名  説明
 processInstanceId *  プロセスのID
 WorkitemEntryの processInstanceId 属性の値

応答

 オブジェクト名  説明
 processInstance  ProcessInstanceEntry

発生する可能性のあるエラー

  • InvalidProcessInstanceId
  • ProcessInstanceDoesNotExist

エラー一覧

 エラー種別  エラーコード  説明
 Validation  10000  特定のパラメータでバリデーションエラー。
 InvalidStart  10012  不正なstartの指定。startは0~2147483647の整数。
 InvalidLimit  10013  不正なlimitの指定。limitは0~1000の整数。
 InvalidProcessInstanceId  10014  不正な processInstanceId の指定。processInstanceIdは0〜9223372036854775807の整数
 ProcessInstanceDoesNotExist  20016  processInstanceId で指定したタスクが存在しない