Display & Video 360 API'sindeki çoğu hizmet, kaynakları toplu olarak almak için bir LIST
yöntemi sağlar. Bu LIST
yöntemleri genellikle bir filter
sorgu parametresi aracılığıyla sonuçları filtrelemeyi destekler. Yalnızca ihtiyacınız olan bilgileri alarak API kullanımınızı optimize etmek için bu parametreyi kullanın.
Bu kılavuzda, filter
parametresinin nasıl etkili bir şekilde kullanılacağı gösterilmektedir.
Filtre yapısı
filter
parametre değeri, AND
veya OR
operatörleriyle birleştirilebilen ve parantez kullanılarak gruplandırılabilen bir veya daha fazla kısıtlamadan oluşan bir dizedir.
Kısıtlamalar {field} {operator} {value}
şeklindedir. Aşağıda bir örnek verilmiştir:
entityStatus="ENTITY_STATUS_ACTIVE"
Filtre dizesi uzunluğu 500 karakteri aşamaz. Filtre dizeniz 500 karakteri aşıyorsa aşağıdakilerden birini yapın:
- Mantığı birden fazla filtre dizesine bölün ve ayrı
LIST
istekleri kullanarak kaynakları alın. - Filtre dizesindeki mantığın bir kısmını kaldırın ve alınan kaynakları yerel olarak filtrelemek için kullanın.
Mantığın doğru uygulandığından emin olmak için kısıtlama değerlerini tırnak içine alın.
İstemci kitaplığı kullanmadan doğrudan LIST
çağrıları yapıyorsanız filtre dizelerinizi URL olarak kodlayın.
Sorgularınızı biçimlendirme hakkında daha fazla bilgi için Kısıtlamalar arasındaki mantık bölümüne bakın.
Filtrelenebilir alanlar
Her LIST
yönteminin filtrelenebilir alanları, yöntemin filter
parametre açıklamasında listelenir. Çoğu durumda, bir kaynağın standart alanlarının alt kümesine göre filtreleme yapabilirsiniz. Bazı nadir durumlarda, yalnızca filtreleme için kullanabileceğiniz ek alanlar vardır.
Parametrenin açıklamasındaki her alan, aşağıdaki karşılaştırılabilir operatörlerden en az birini destekler:
Karşılaştırılabilir Operatörler | ||
---|---|---|
EQUALS (=)
|
Kaynak alanı değeri, belirtilen değere eşit.
Örnek: |
|
LESS THAN OR EQUAL TO (<=)
|
Kaynak alanı değeri, belirtilen değerden düşük veya buna eşit. Genellikle bir tarihi veya tarih saatini karşılaştırırken kullanılır.
Örnek: |
|
GREATER THAN OR EQUAL TO (>=)
|
Kaynak alanı değeri, belirtilen değerden büyük veya bu değere eşittir. Genellikle bir tarihi veya tarih saatini karşılaştırırken kullanılır.
Örnek: |
|
HAS (:)
|
Kaynak alanı değeri, belirtilen değeri içerir. Kaynak alanı bir dize ise verilen değerin mevcut bir alt dize olup olmadığını kontrol eder. Kaynak alanı bir diziyse dizi içinde belirtilen değerin bulunup bulunmadığını kontrol eder.
Örnek: |
Parametrenin açıklamasında alan için operatör belirtilmemişse yalnızca EQUALS (=)
operatörünü kullanabilirsiniz. Bazı alanlar birden fazla operatörü destekler.
Tarih ve saat alanları gibi filtrelenebilir bazı alanlar, karşılaştırılabilir değerin belirli bir biçime uymasını gerektirir. Biçim, filter
parametresi açıklamasında alanın yanında belirtilir.
Kısıtlamalar arasındaki mantık
LIST
isteğinizden gelen yanıtı daraltmak veya genişletmek için birden fazla kısıtlamayı birleştirebilirsiniz.
Genellikle birden fazla kısıtlamayı AND
ve OR
mantıksal operatörleriyle birleştirebilirsiniz. Her LIST
yöntemi, desteklediği operatörleri belirtir.
Bazı yöntemler, filter
parametresinde yalnızca tek bir kısıtlama kullanılmasını destekler.
AND
veya OR
mantıksal operatörleriyle filtre dizeleri oluştururken aşağıdaki kısıtlamaları göz önünde bulundurun:
AND
, farklı alanları filtreleyen veya aynı alanı farklı şekilde filtreleyen kısıtlamalar ya da kısıtlama grupları arasında kullanılmalıdır. Aşağıda bazı örnekler verilmiştir: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
, aynı alana göre filtre uygulayan ayrı kısıtlamalar arasında kullanılmalıdır. Aşağıda bir örnek verilmiştir:(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
İki kısıtlama grubunu birleştirmek için
OR
işaretini kullanamazsınız. Bunun yerine farklı filtre değerlerine sahip birden fazlaLIST
isteği kullanın. Örneğin, aşağıdaki ayrıLIST
isteklerini kullanın:(lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123")
(lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")
Bunları birleştirmek için
OR
operatörünü kullanmayın:(lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123") OR (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")
Filtre dizesindeki kısıtlamaları gruplandırmak için parantezleri kullanmazsanız parantezler ima edilebilir. Örneğin, aşağıdaki filtre dizesi:
updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT"
şu şekilde yorumlanır:
updateTime>="2023-03-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT")