La plupart des services du Réseau Display et L'API Video 360 fournit une méthode LIST
pour la récupération groupée des
ressources. Ces méthodes LIST
acceptent généralement le filtrage des résultats via un
filter
. Utilisez ce paramètre pour optimiser votre utilisation de l'API en n'utilisant
pour récupérer ce dont
vous avez besoin.
Ce guide explique comment utiliser efficacement le paramètre filter
.
Structure des filtres
Une valeur de paramètre filter
est une chaîne composée d'une ou de plusieurs restrictions.
qui peuvent être associés à des opérateurs AND
ou OR
et regroupés à l'aide de
parenthèses.
Les restrictions se présentent sous la forme {field} {operator} {value}
. Exemple :
entityStatus="ENTITY_STATUS_ACTIVE"
La chaîne de filtre ne peut pas dépasser 500 caractères. Si votre chaîne de filtre dépasse 500 caractères, effectuez l'une des opérations suivantes:
- Divisez la logique en plusieurs chaînes de filtre et récupérez les ressources à l'aide de
des requêtes
LIST
distinctes. - Supprimez une partie de la logique de la chaîne de filtre et utilisez-la pour filtrer le récupéré les ressources localement.
Placez les valeurs de restriction entre guillemets pour vous assurer que la logique est correctement appliquée.
Encodez en URL vos chaînes de filtre si vous effectuez des appels LIST
directement sans
à l'aide d'une bibliothèque cliente.
Pour en savoir plus sur le formatage, consultez la section Logique entre les restrictions. vos requêtes.
Champs acceptant le filtrage
Les champs filtrables de chaque méthode LIST
sont répertoriés dans le fichier filter
de la méthode.
description du paramètre. Dans la plupart des cas, vous pouvez filtrer sur un sous-ensemble
les champs standards. Dans de rares cas, vous pouvez utiliser des champs supplémentaires
uniquement pour le filtrage.
Chaque champ de la description du paramètre accepte au moins l'un des éléments suivants : opérateurs comparables:
Opérateurs comparables | ||
---|---|---|
EQUALS (=)
|
La valeur du champ "Ressource" est égale à la valeur donnée.
Exemple : |
|
LESS THAN OR EQUAL TO (<=)
|
La valeur du champ "Ressource" est inférieure ou égale à la valeur donnée. Souvent utilisés
lorsque vous comparez une date ou une date/heure.
Exemple : |
|
GREATER THAN OR EQUAL TO (>=)
|
La valeur du champ de ressource est supérieure ou égale à la valeur donnée. Souvent utilisés
lorsque vous comparez une date ou une date/heure.
Exemple : |
|
HAS (:)
|
La valeur du champ de ressource contient la valeur donnée. Si le champ "resource" est une
chaîne, il vérifie si la valeur donnée est une sous-chaîne existante. Si le
"resource" est un tableau, il vérifie si le tableau contient les valeurs
.
Exemple : |
Si aucun opérateur n'est spécifié pour le champ de la description du paramètre, vous
ne peut utiliser que l'opérateur EQUALS (=)
. Certains champs sont compatibles avec plusieurs opérateurs.
Certains champs filtrables, tels que ceux pour les dates et les heures, nécessitent l'attribut
comparable pour suivre un format spécifique. Le format est spécifié à côté de
le champ de la description du paramètre filter
.
Logique entre les restrictions
Vous pouvez combiner plusieurs restrictions pour affiner ou étendre la réponse à partir de votre
LIST
.
Vous pouvez généralement combiner plusieurs restrictions avec AND
et OR
les opérateurs logiques. Chaque méthode LIST
spécifie les opérateurs compatibles.
Certaines méthodes ne permettent d'utiliser qu'une seule restriction dans le paramètre filter
.
Tenez compte des restrictions suivantes lorsque vous créez des chaînes de filtre avec AND
.
ou OR
:
AND
doit être utilisé entre des restrictions, ou des groupes de restrictions, qui qui filtrent différents champs ou qui filtrent le même champ différemment. Voici Voici quelques exemples: <ph type="x-smartling-placeholder">- </ph>
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
doit être utilisé entre les restrictions individuelles qui filtrent selon le même . Voici un exemple: <ph type="x-smartling-placeholder">- </ph>
(entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
Vous ne pouvez pas utiliser
OR
pour combiner deux groupes de restrictions. Utiliser plusieurs RequêtesLIST
avec des valeurs de filtre différentes à la place. Par exemple, utilisez la méthode RequêtesLIST
distinctes suivantes:(lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123")
(lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")
N'utilisez pas l'opérateur
OR
pour les combiner:(lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123") OR (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")
Les parenthèses peuvent être implicites si vous ne les utilisez pas pour regrouper des restrictions dans un chaîne de filtre. Par exemple, la chaîne de filtre suivante:
updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT"
est interprétée comme :
updateTime>="2023-03-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT")