10DLCの結果をフィルタリングする

DLC全10種GET APIエンドポイント を使用すると、フィルタを使用して結果を絞り込むことができます。

例えば、全ブランドのリストを取得する代わりに、次のブランドリストに含まれるブランドに興味を持つかもしれません。 REAL_ESTATE を縦にします。この場合、以下のようなフィルタを適用することができる。 REAL_ESTATE 関連ブランドのみ。

リクエスト体制

フィルタはクエリ・パラメータとしてエンドポイントに渡されます。クエリでは、キーワード filter をキーとし、その後にJSONオブジェクトの形式でクエリが続く。

例を挙げよう:

https://api-eu.vonage.com/v1/10dlc/brands/:brand_id/campaigns?filter=[[{"field":"vertical","type":"==","value":"REAL_ESTATE"}]]

フィルタオブジェクト

フィルター・オブジェクトは、フィルター・クエリーを含むJSONオブジェクトです。フィルター・オブジェクトには3つのキーと値のペアがあります:

[
   [
      {
         "field":"vertical",
         "type":"==",
         "value":"REAL_ESTATE"
      }
   ]
]

フィールド値でフィルタリングしたいフィールドの名前です。

タイプはフィルター検索で適用したいマッチング条件です。をご覧ください。 フィルター条件 セクションを参照してください。

価値でフィルタリングしたい値です。

フィルター条件

  • regexp: 正規表現 - 指定された正規表現に基づくフィルタ値にマッチするレコードを返します。
  • ==: イコール・トゥ - フィルタの値と完全に一致するレコードを返します。
  • = : 均等折り - 大文字と小文字を区別せずにレコードにマッチします(これはUTF-8文字に適用されます)。
  • ^=: で始まる - フィルタ値で始まるレコードにマッチする。
  • =$: 終了 - フィルタ値で終わるレコードにマッチします。
  • ~=: 内容 - フィルタ値を含むレコードにマッチする。
  • <: 未満 - はフィルタ値より小さいレコードにマッチする。
  • <=: 以下または等しい - はフィルター値以下のレコードにマッチします。
  • >: より大きい - は指定されたフィルター値より大きいレコードにマッチする。
  • >=: 以上 - はフィルタ値以上のレコードにマッチします。

上記の条件のいずれかを否定することで、反対側のレコードを取得することができます。 ! 記号を使用する。例えば !== と等価である。 同等ではない.

フィルタリングルール

最大で みっつ フィルタオブジェクト をクエリに含めることができます。つまり、最大3つのフィールドにマッチする結果を見つけることができます。また、フィルターオブジェクトはさまざまな方法で組み合わせることができます。

例えば、1つのフィルタオブジェクトにマッチする結果を取得することができます。 または 別のものです。また、あるフィルター・オブジェクトにマッチする結果は アンド もうひとつ。

のブランドをフェッチしたい場合を考えてみよう。 vertical のいずれかである。 REAL_ESTATE または 非政府組織 アンド ここで、リセラーのID(reseller_idである。 12345.

これを論理的な文として表現することができる: ( (vertical == REAL_ESTATE OR vertical == NGO) AND (reseller_id == 12345) )

を含むクエリをフィルタリングする。 または 式は、角括弧 []. たとえば、次のような式があります。(vertical == REAL_ESTATE OR vertical == NGO) になる。 [ [{filter object 1}, {filter object 2}] ].

内側の角括弧は、次のいずれかに一致する結果を取得することを示します。 フィルタオブジェクト1 または フィルタオブジェクト2.

外側の角括弧はフィルタークエリーの開始を示し、すべてのフィルタークエリーに必須である。

フィルター・ルールの例

  1. 試合 フィルタオブジェクト1; [ [{filter object 1}] ].
  2. 試合 フィルタオブジェクト1 アンド フィルタオブジェクト2; [ [{filter object 1}], [{filter object 2}] ]
  3. 試合 フィルタオブジェクト1 または フィルタオブジェクト2; [ [{filter object 1},{filter object 2}] ]
  4. マッチフィルタオブジェクト1 または フィルタオブジェクト2) アンド フィルタオブジェクト3 ; [ [{filter object 1},{filter object 2}], [{filter object 3}] ].

NBだ: フィルターオブジェクトは、たとえそれが1つのオブジェクトであっても、常に四角括弧の中にあるべきです。良い例は フィルタオブジェクト3 上記の例4

また、例4.のフィルター・オブジェクトをさらに拡張すると、次のようなフィルター・クエリーが得られる:

[
   [
      {
         "field":"vertical",
         "type":"==",
         "value":"REAL_ESTATE"
      },
      {
         "field":"vertical",
         "type":"==",
         "value":"NGO"
      }
   ],
   [{
      "field":"reseller_id",
      "type":"==",
      "value":"12345"
   }]
]