La maggior parte dei servizi dell'API Display & Video 360 fornisce un metodo LIST
per il recupero collettivo delle risorse. Questi metodi LIST
in genere supportano il filtraggio dei risultati tramite un
filter
parametro di query. Utilizza questo parametro per ottimizzare l'utilizzo dell'API recuperando solo ciò che ti serve.
Questa guida mostra come utilizzare il parametro filter
in modo efficace.
Struttura del filtro
Un valore del parametro filter
è una stringa costituita da una o più limitazioni
che possono essere combinate con gli operatori AND
o OR
e raggruppate utilizzando
le parentesi.
Le restrizioni sono nel formato {field} {operator} {value}
. Ecco un
esempio:
entityStatus="ENTITY_STATUS_ACTIVE"
La lunghezza della stringa del filtro non può superare i 500 caratteri. Se la stringa del filtro supera i 500 caratteri, esegui una delle seguenti operazioni:
- Suddividi la logica in più stringhe di filtro e recupera le risorse utilizzando richieste
LIST
separate. - Rimuovi parte della logica dalla stringa del filtro e utilizzala per filtrare localmente le risorse recuperate.
Racchiudi i valori delle limitazioni tra virgolette per assicurarti che la logica venga applicata correttamente.
Codifica le stringhe dei filtri in URL se effettui chiamate LIST
direttamente senza utilizzare una libreria client.
Per ulteriori dettagli sulla formattazione delle query, consulta la sezione Logica tra le limitazioni.
Campi filtrabili
I campi filtrabili di ogni metodo LIST
sono elencati nella descrizione del parametro filter
. Nella maggior parte dei casi, puoi applicare un filtro in base a un sottoinsieme di campi standard di una risorsa. In alcuni rari casi, sono disponibili campi aggiuntivi che puoi utilizzare solo per filtrare.
Ogni campo nella descrizione del parametro supporta almeno uno dei seguenti operatori confrontabili:
Operatori paragonabili | ||
---|---|---|
EQUALS (=)
|
Il valore del campo della risorsa è uguale al valore specificato.
Esempio: |
|
LESS THAN OR EQUAL TO (<=)
|
Il valore del campo della risorsa è minore o uguale al valore specificato. Spesso utilizzato
per confrontare una data o una data e ora.
Esempio: |
|
GREATER THAN OR EQUAL TO (>=)
|
Il valore del campo della risorsa è maggiore o uguale al valore specificato. Spesso utilizzato
per confrontare una data o una data e ora.
Esempio: |
|
HAS (:)
|
Il valore del campo della risorsa contiene il valore specificato. Se il campo della risorsa è una stringa, viene controllato se il valore specificato è una sottostringa esistente. Se il
campo della risorsa è un array, viene controllato se l'array contiene il valore fornito.
Esempio: |
Se non sono specificati operatori per il campo nella descrizione del parametro, puoi utilizzare solo l'operatore EQUALS (=)
. Alcuni campi supportano più operatori.
Alcuni campi filtrabili, ad esempio quelli per date e ore, richiedono che il valore confrontabile segua un formato specifico. Il formato è specificato accanto al campo nella descrizione del parametro filter
.
Logica tra le restrizioni
Puoi combinare più limitazioni per restringere o espandere la risposta della richiesta LIST
.
In genere, puoi combinare più limitazioni con gli operatori logici AND
e OR
. Ogni metodo LIST
specifica gli operatori supportati.
Alcuni metodi supportano solo l'utilizzo di una singola limitazione nel parametro filter
.
Tieni presenti le seguenti limitazioni quando crei stringhe di filtro con gli operatori logici AND
o OR
:
AND
deve essere utilizzato tra limitazioni o gruppi di limitazioni che filtrano campi diversi o filtrano lo stesso campo in modo diverso. Ecco alcuni esempi: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
deve essere utilizzato tra le singole limitazioni che filtrano in base allo stesso campo. Ecco un esempio:(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
Non puoi utilizzare
OR
per combinare due gruppi di limitazioni. Utilizza invece più richiesteLIST
con valori di filtro diversi. Ad esempio, utilizza le seguenti richiesteLIST
separate:(lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123")
(lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")
Non utilizzare l'operatore
OR
per combinarli:(lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123") OR (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")
Le parentesi potrebbero essere implicite se non le utilizzi per raggruppare le limitazioni in una stringa di filtro. Ad esempio, la seguente stringa di filtro:
updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT"
viene interpretato come:
updateTime>="2023-03-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT")