検索APIのqueryパラメータについて説明します。
queryパラメータの記述方法
条件式の形式
queryパラメータの条件式は、以下の形式で記述します。
"query": "[項目名] [演算子] [値]"
値の指定方法
検索項目のデータ型によって、値の指定方法が異なります。
「文字列」の場合
文字列の値は、シングルクォート(')で囲んで指定します。
"query": "title = '稟議書'"
「数値」の場合
数値の値は、数値のみを指定します。
"query": "form_id = 1"
「日付」の場合
日付の値は、シングルクォート(')で囲み、「yyyy-MM-dd」の形式で指定します。
"query": "request_date = '2022-10-01'"
複数項目の条件指定
複数項目の条件を指定する場合は、演算子「AND」で条件式を繋げて指定します。
"query": "title = '稟議書' AND request_user = 'taro'"
検索結果の並び順指定
検索結果の並び順を指定する場合は、条件式の最後に「ORDER BY [項目名] ASC/DESC」の形式で指定します。
※省略した場合は、「申請日の降順」になります。
"query": "title = '稟議書' ORDER BY request_date DESC"
エスケープ処理
検索条件の値にダブルクォート(")、シングルクォート(')、バックスラッシュ(\)を含める場合は、以下のようにエスケープ処理をおこなってください。
例)検索条件の値が「稟議書"検索'テスト\サンプル」の場合
"query": "title = '稟議書\"検索\\'テスト\\\\サンプル'"
利用可能な演算子
queryパラメータでは、以下の演算子が利用できます。
演算子 | 例 | 説明 |
---|---|---|
= | title = '稟議書' | 指定した値と完全一致する申請書が抽出されます。 |
!= | title != '稟議書' | 指定した値と異なる申請書が抽出されます。 |
> | request_date > '2022-09-30' | 指定した値より大きい申請書が抽出されます。 日付項目の場合は、指定された日付より以降の申請書が抽出されます。 |
< | request_date < '2022-10-01' | 指定した値より小さい申請書が抽出されます。 日付項目の場合は、指定された日付より以前の申請書が抽出されます。 |
>= | end_date >= '2022-10-01' | 指定した値以上の申請書が抽出されます。 日付項目の場合は、指定された日付以降の申請書が抽出されます。 |
<= | end_date <= '2022-09-30' | 指定した値以下の申請書が抽出されます。 日付項目の場合は、指定された日付以前の申請書が抽出されます。 |
IN | flow_status IN ('flow','decision') | 指定した値のいずれかと一致する申請書が抽出されます。 |
NOT IN | flow_status NOT IN ('flow','decision') | 指定した値のいずれにも一致しない申請書が抽出されます。 |
LIKE | title LIKE '経費精算' | 指定した値を含む申請書が抽出されます。 |
NOT LIKE | title NOT LIKE '経費精算' | 指定した値を含まない申請書が抽出されます。 |
AND | request_date >= '2022-09-01' AND request_date =< '2022-09-30' | 上記演算子を使用した複数の条件式に合致する申請書が抽出されます。 左記の例では、作成日が「2022/09/01」以降、かつ「2022/09/30」以前の申請書が抽出されます。 |
検索項目
queryパラメータでは、以下の検索項目に対して条件が指定できます。
検索項目 | 項目名 | データ型 | 利用可能な演算子 | 備考 |
---|---|---|---|---|
フォームID | form_id | 数値 | =、!=、>、<、>=、<=、IN、NOT IN | |
申請部署 | request_group | 文字列 | =、!=、IN、NOT IN | 申請部署のグループコードを指定します。 |
申請者 | request_user | 文字列 | =、!=、IN、NOT IN | 申請者のユーザーIDを指定します。 |
文書タイトル | title | 文字列 | =、!=、IN、NOT IN、LIKE、NOT LIKE | |
文書番号 | document_number | 文字列 | =、!=、IN、NOT IN、LIKE、NOT LIKE | |
申請日 | request_date | 日付 | =、!=、>、<、>=、<= | 「yyyy-MM-dd」の形式で指定します |
完了日 | end_date | 日付 | =、!=、>、<、>=、<= | 「yyyy-MM-dd」の形式で指定します |
判定結果 | flow_status | 文字列 | =、!=、IN、NOT IN | 以下の値を指定します。 ・flow(申請中) ・decision(決裁) ・remand(差し戻し) ・reject(却下) ・takeback(取り消し) ※省略した場合は、全てのステータスが検索対象となります。 |
制限事項
- 演算子「OR」は指定できません。
- 演算子「LIKE」で前方一致、後方一致の指定はできません。
- 演算子「IN」に指定できる値の個数は、100個までです。
- 検索結果の並び順(ORDER BY)に複数の項目は指定できません。
- 申請者(request_user)に指定されたユーザーが代理申請した申請書は、検索結果に含まれません。
- 申請日(request_date)、完了日(end_date)で時間は指定できません。
- queryパラメーターの末尾に半角スペースやセミコロン(;)などが含まれていると実行に失敗します。
コメント
0件のコメント
記事コメントは受け付けていません。