リストの回答をフィルタ

ディスプレイ &ビデオ 360 のほとんどのサービスは、Video 360 API には、LIST メソッドが用意されています。 説明します。通常、これらの LIST メソッドでは、 filter クエリ パラメータ。このパラメータを使用すると、API の使用を 必要なものを取得できます。

このガイドでは、filter パラメータを効果的に使用する方法について説明します。

フィルタの構造

filter パラメータ値は、1 つ以上の制限で構成される文字列です。 AND または OR 演算子と組み合わせて、 括弧で囲みます。

制限の形式は {field} {operator} {value} です。次の例をご覧ください。

entityStatus="ENTITY_STATUS_ACTIVE"

フィルタ文字列は 500 文字以内で指定してください。フィルタ文字列が 500 文字を超える場合は、次のいずれかを行います。

  • ロジックを複数のフィルタ文字列に分割し、次を使用してリソースを取得します。 LIST リクエストを個別に受け取ります。
  • フィルタ文字列からロジックの一部を削除し、それを使用して ローカルで取得します。

ロジックが適切に適用されるように、制限値を引用符で囲みます。

LIST 呼び出しを直接行う場合は、フィルタ文字列を URL エンコードします。 クライアントライブラリを使用します

形式の詳細については、制限間のロジックをご覧ください。 分析できます

フィルタリング可能なフィールド

LIST メソッドのフィルタ可能フィールドは、メソッドの filter にリストされています。 パラメータの説明です。ほとんどの場合、リソースのサブセットを基準として 指定することもできます。まれに、使用できるフィールドが追加で フィルタにのみ使用します。

パラメータの説明の各フィールドでは、次のうち少なくとも 1 つがサポートされています 比較可能な演算子:

比較可能な演算子
EQUALS (=) リソース フィールドの値が指定された値と等しい。

例: entityStatus="ENTITY_STATUS_ACTIVE"

LESS THAN OR EQUAL TO (<=) リソース フィールドの値が指定された値以下である。よく使われる 同じ値が返されます

例: updateTime<="2023-04-01T12:00:00Z"

GREATER THAN OR EQUAL TO (>=) リソース フィールドの値が指定した値以上である。よく使われる 同じ値が返されます

例: updateTime>="2023-03-01T12:00:00Z"

HAS (:) リソース フィールドの値には、指定された値が含まれています。resource フィールドが その値が既存の部分文字列であるかどうかをチェックします。もし resource フィールドが配列である場合、指定されたリソースが あります。

例: lineItemIds:"1234"

パラメータの description でフィールドに演算子が指定されていない場合、 EQUALS (=) 演算子のみを使用できます。一部のフィールドでは複数の演算子がサポートされています。

日時のフィールドなど一部のフィルタ可能なフィールドでは、 比較可能な値を特定の形式に合わせます。形式は filter パラメータの説明のフィールド。

制限間のロジック

複数の制限を組み合わせて、検索結果を絞り込んだり広げたりできます。 LIST リクエスト。

通常は、複数の制限を ANDOR を組み合わせて使用できます。 使用できます。各 LIST メソッドは、サポートする演算子を指定します。 一部のメソッドでは、filter パラメータで単一の制限しか使用できません。

AND でフィルタ文字列を作成する場合は、次の制限を考慮してください または OR 論理演算子:

  • AND は、制限または制限のグループの間に使用する必要があります。 異なるフィールドをフィルタすることや、同じフィールドを異なる方法でフィルタすることもできます。こちらの いくつか例を示します。 <ph type="x-smartling-placeholder">
      </ph>
    • updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE"
    • updateTime>="2023-03-01T12:00:00Z" AND updateTime<="2023-04-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")
  • 同じ条件でフィルタする個々の制限間で OR を使用する必要があります。 表示されます。次に例を示します。 <ph type="x-smartling-placeholder">
      </ph>
    • (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
  • OR を使用して 2 つの制限グループを組み合わせることはできません。複数の 代わりに、フィルタ値が異なる LIST リクエストを使用します。たとえば、 次の個別の LIST リクエスト:

    • (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123")
    • (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")

    OR 演算子を使用してそれらを結合しないでください。

    (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123") OR (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")

  • かっこは、 フィルタ文字列を指定します。たとえば、次のフィルタ文字列があるとします。

    updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT"

    これは、次のように解釈されます。

    updateTime>="2023-03-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT")