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ı
LISTistekleri 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 filterparametre 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
ORişaretini kullanamazsınız. Bunun yerine farklı filtre değerlerine sahip birden fazlaLISTisteği kullanın. Örneğin, aşağıdaki ayrıLISTisteklerini 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
ORoperatö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")