Liste isteklerini filtrele

list yöntemleri, belirli bir türdeki birden fazla kaynağı alır. filter sorgu parametresi, alınan kaynakların karşılaması gereken ölçütleri belirtmenize olanak tanır.

Filtre yapısı

filter parametre değerleri dizedir. Bu dizeler bir veya daha fazla ölçütten oluşur. Ölçütler AND veya OR operatörleriyle birleştirilir.

Tek bir ölçüt {field} {operator} {value} biçimindedir. Aşağıda bununla ilgili bir örnek verilmiştir:

  entityStatus="ENTITY_STATUS_ACTIVE"

Filtre dizeleri 500 karakterle sınırlıdır. Dizeniz çok uzunsa:

  • Mantığı ayrı dizelere ayırın. Her filtre dizesiyle list çağrısı yapın. Sonuçları birleştirerek tek bir liste oluşturun.
  • Ölçütleri filtre dizesinden kaldırın. Alınan kaynakları yerel olarak filtrelemek için kaldırılan ölçütleri kullanın.

Bir ölçüt için değerleri tırnak içine alın.

Doğrudan API çağrıları yaparken filtre dizelerinizin URL'de kullanılmak üzere kodlandığından emin olun.

Filtre dizesi yapısı hakkında daha fazla bilgi için Birleştirme ölçütleri bölümüne bakın.

Filtre ölçütleri

Her liste yöntemi belirli filtre ölçütlerini destekler. Yöntemin filter parametresinin açıklaması bu ölçütleri listeler. Filtre ölçütleri genellikle alınan kaynağın alanlarının bir alt kümesidir.

Her ölçüt bir veya daha fazla operatörü destekler:

Karşılaştırılabilir operatörler
EQUALS (=)

Alan, belirtilen değere eşit.

Örnek: entityStatus="ENTITY_STATUS_ACTIVE"

LESS THAN OR EQUAL TO (<=)

Alan, verilen değerden küçük veya bu değere eşit. Genellikle tarihe veya tarih saat bilgisine göre filtrelemek için kullanılır.

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

GREATER THAN OR EQUAL TO (>=)

Alan, belirtilen değerden büyük veya bu değere eşit. Genellikle tarihe veya tarih saat bilgisine göre filtrelemek için kullanılır.

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

HAS (:)

Alanda belirtilen değer var. Alan bir dizeyse belirtilen değerin alt dize olup olmadığını kontrol eder. Alan bir diziyse dizide belirtilen değer aranır.

Örnek: lineItemIds:"1234"

Bir ölçüt operatör belirtmiyorsa yalnızca EQUALS (=) desteklenir.

Bir ölçüt, özel bir biçim gerekip gerekmediğini belirtir.

Birleştirme ölçütleri

list yanıtını daha da kısıtlamak için birden fazla ölçütü birleştirin.

Ölçütleri AND ve OR mantıksal operatörleriyle birleştirin. Hangi yöntemlerin desteklendiği her list yönteminde belirtilir. Bazı yöntemler yalnızca tek ölçütlü filtreleri destekler.

Birden fazla ölçüt kullanırken aşağıdaki sınırları göz önünde bulundurun:

Sınırlamalar ve örnekler
AND, farklı alanları filtreleyen veya aynı alanı farklı şekilde filtreleyen kısıtlamaları ya da kısıtlama gruplarını birleştirmelidir. updateTime>="2023-03-01T12:00:00Z" AND updateTime<="2023-04-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")
OR, aynı alana göre filtreleyen ayrı kısıtlamaları birleştirmelidir. (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
OR İki kısıtlama grubu birleştirilemez. Bunun yerine farklı filtre değerlerine sahip birden fazla list isteği kullanın. Aşağıdaki iki filtre dizesi ayrı isteklerde kullanılmalıdır ve OR operatörü kullanılarak birleştirilemez:
  • (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123")
  • (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")
Parantezler, dahil edilmemiş olsalar bile kısıtlamaları gruplandırmak için kullanılabilir. updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT" filtre dizesi, updateTime>="2023-03-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT") olarak yorumlanır.