$filter クエリパラメータとして設定します。次の論理演算子を使用してOData フィルタを構築できます:
例えば、次のAPI リクエストはgt を使用して、2019年8月26日以降のすべてのトランザクションのトランザクションログメタデータを取得します:
GET http://mydomain.com:8001/api.rsc/transactions?$filter=timestamp gt 2019-08-26
OData フィルタは、and およびor キーワードと組み合わせることができます。例えば、次のAPI リクエストは、2019年8月26日以降の特定のコネクタのトランザクションのトランザクションログメタデータをすべて取得します:
http://mydomain.com:8001/api.rsc/transactions?$filter=timestamp gt 2019-08-26 and connectorid eq myConnector
管理API は、OData フィルタ内で次の関数もサポートしています:
startswith(property, 'value'):指定したプロパティが指定した値で始まるリソースのみを返しますendswith(property, 'value'):指定したプロパティが指定した値で終わるリソースのみを返しますcontains(property, 'value'):指定したプロパティに指定した値が含まれるリソースのみを返します
GET http://mydomain.com:8001/api.rsc/transactions?$filter=contains(filepath,'.xml')
特定のフィールドの選択
$filter クエリパラメータに加えて、$select クエリパラメータを設定して、レスポンスで返される特定のフィールドを限定できます。このパラメータには、取得するプロパティをカンマ区切りのリストで設定します。例えば、次のAPI リクエストは、設定済みの各コネクタの名前とワークスペースを取得しますが、これらのコネクタの他の設定の詳細は取得しません:
GET http://mydomain.com:8001/api.rsc/connectors?$select=connectorid,workspace
API は、単一のリソースから単一の値を取得することもサポートしています。例えば、次のAPI リクエストは、特定のコネクタのワークスペースを返します:
http://localhost:8001/api.rsc/connectors('myConnector')/workspace/$value
コネクタタイプ固有のプロパティの選択
デフォルトのOData レスポンス形式では、コネクタのリソーススキーマで宣言されているプロパティ(connectorid、workspaceid、connectortype など)のみが返されます。コネクタタイプ固有のプロパティ(AS2 コネクタのas2identifier、AS2 およびHTTP コネクタのurl、SFTP コネクタのremotehost など)はスキーマで宣言されていないため、デフォルト形式で$select を使用すると黙って省略されます。
$select クエリでコネクタタイプ固有のプロパティを含めるには、リクエストに@json を追加します:
GET http://mydomain.com:8001/api.rsc/connectors?@json&$select=connectorid,as2identifier
コネクタタイプ固有のプロパティが特定のコネクタタイプに該当しない場合、そのコネクタの行ではそのプロパティが省略されます。これはエラーではなく、想定された動作です。例えば、as2identifier はAS2 コネクタの行には表示されますが、SFTP コネクタやFTP コネクタでは省略されます。
標準プロパティとコネクタタイプ固有のプロパティを同じ$select リストに組み合わせることもできます:
GET http://mydomain.com:8001/api.rsc/connectors?@json&$select=connectorid,workspaceid,as2identifier
並べ替え
$filter および$select に加えて、$orderby クエリパラメータを設定して、結果を特定の順序に並べ替えることができます。このパラメータは、次の構文で指定します:
$orderby=columnName sortDirection
ここで、columnName は並べ替えに使用する列(例:filename、connectorId、timestamp)、sortDirection は昇順の場合はasc、降順の場合はdesc です。
例えば、次のAPI リクエストは、アプリケーションが処理したすべてのXML ファイルのトランザクションログメタデータを取得し、ファイルが送信されたか受信されたかに応じて結果をグループ化します:
GET http://mydomain.com:8001/api.rsc/transactions?$filter=contains(filepath,'.xml')&$orderby=status asc
複数の並べ替え条件は、$orderby パラメータにカンマ区切りのリストを設定することで指定できます。リスト内で前にある条件は、後にある条件よりも優先されます。例えば、次のAPI リクエストは前のリクエストと同じデータを取得しますが、送信または受信のグループ内で、ファイルは大きいものから小さいものへと並べられます:
GET http://mydomain.com:8001/api.rsc/transactions?$filter=contains(filepath,'.xml')&$orderby=status asc, filesize desc