Filtros

A API REST do Ad Manager é compatível com a filtragem nos métodos List. A sintaxe da string de filtro é definida formalmente na gramática EBNF (link em inglês).

Para começar, aqui estão alguns exemplos de casos de uso comuns.

Exemplo Significado
orders.updateTime > "2024-01-01T00:00:00-5:00" Lista os pedidos com updateTime após 1o de janeiro de 2024 no fuso horário padrão do Leste
lineItems.targeting.geoTargeting.targetedGeoIds:2840 Lista os itens de linha com uma segmentação geográfica que contém os Estados Unidos (ID de segmentação por área geográfica 2480)
lineItems.displayName = "*_interstitial" Lista os itens de linha com um nome de exibição que termina com a string _interstitial
orders.displayName = "*video*" Lista pedidos com um nome de exibição que contém a string video
displayName:"video" Lista pedidos com um nome de exibição que contém a string video (sintaxe alternativa)

Literais

Um valor literal básico (exemplos: 42, Hugo) é um valor a ser correspondido. Os literais que aparecem sozinhos são combinados em todos os campos compatíveis em um recurso. Os recursos documentam quais campos são considerados para correspondência no método list. Esse recurso é comparável à pesquisa universal na IU do Ad Manager, mas com escopo para um único tipo de recurso.

Os literais de string que contêm espaços precisam ser colocados entre aspas duplas (exemplo: "Foo bar"). Não é possível usar aspas simples para unir literais de string.

Operadores lógicos

A API REST do Ad Manager é compatível com os operadores binários AND e OR.

Operador Exemplo Significado
AND a AND b Verdadeiro se a e b forem verdadeiros.
OR a OR b OR c Verdadeiro se a, b ou c for verdadeiro.

Operadores de negação

A API REST do Ad Manager fornece os operadores unários NOT e -. Eles podem ser usados como sinônimos.

Operador Exemplo Significado
NOT NOT a Verdadeiro se a não for verdadeiro.
- -a Verdadeiro se a não for verdadeiro.

Operadores de comparação

A API REST do Ad Manager é compatível com os operadores de comparação binários =, !=, <, >, <= e >= para campos de string, numérico, carimbo de data/hora e duração.

Operador Exemplo Significado
= a = true Verdadeiro se a for verdadeiro.
!= a != 42 Verdadeiro, a menos que a seja igual a 42.
< a < 42 Verdadeiro se a for um valor numérico menor que 42.
> a > "foo" Verdadeiro se a for ordenado lexicamente após "foo".
<= a <= "foo" Verdadeiro se a for "foo" ou lexicamente antes dele.
>= a >= 42 Verdadeiro se a for um valor numérico de 42 ou maior.

Como os filtros são aceitos como strings de consulta, a conversão de tipos ocorre para converter a string para o valor fortemente tipado adequado:

  • As strings esperam aspas duplas. Exemplo: "Foo bar".
  • Os tipos enumerados esperam a representação de string do tipo enumerado (diferencia maiúsculas de minúsculas).
  • Os booleanos esperam valores literais true e false.
  • Os números esperam as representações padrão de números inteiros ou flutuantes. Para flutuações, os expoentes são suportados. Exemplo: 2.997e9.
  • As durações esperam uma representação numérica seguida por um sufixo s (por segundos). Exemplos: "20s", "1.2s".
  • Os carimbos de data/hora esperam uma string formatada em RFC-3339. Exemplo: "2012-04-21T11:30:00-04:00". As compensações de UTC são compatíveis.

Caracteres curinga

Ao comparar strings para igualdade, a API REST do Ad Manager é compatível com caracteres curinga usando o caractere *.

Exemplo Significado
a = "*.foo" Verdadeiro se a terminar com ".foo".

Operador de travessia

A API REST do Ad Manager é compatível com o operador ., que indica a travessia por meio de mensagem, mapa ou struct.

Exemplo Significado
a.b = true Verdadeiro se a tiver um campo b booleano que for verdadeiro.
a.b > 42 Verdadeiro se a tiver um campo numérico b maior que 42.
a.b.c = "foo" Verdadeiro se a.b tiver um campo de string c que é "foo".

A travessia é gravada usando os nomes de campo do recurso. Os serviços individuais podem especificar um subconjunto de campos compatíveis para travessia.

Tem operador

A API REST do Ad Manager é compatível com o operador :, que significa "tem". Ele pode ser usado com coleções (campos ou mapas repetidos), mensagens e strings, e se comporta de maneira um pouco diferente em cada caso.

Consulte campos de string para ver se a string contém uma substring correspondente:

Exemplo Significado
r.displayName:"_250x250" Verdadeiro se o campo "String" r.displayName contiver a substring _250x250.

Consulta de campos repetidos para conferir se a estrutura repetida contém um elemento correspondente:

Exemplo Significado
r:42 Verdadeiro se r contiver 42.
r.foo:42 Verdadeiro se r contiver um elemento e de forma que e.foo = 42.

Mapas, structs e mensagens podem consultar a presença de um campo no mapa ou um valor específico:

Exemplo Significado
m:foo Verdadeiro se m tiver a chave "foo".
m.foo:* Verdadeiro se m tiver a chave "foo".
m.foo:42 Verdadeiro se m.foo for 42.

Ao percorrer mensagens, um campo só é considerado presente se tiver um valor não padrão.

Limitações

Os serviços individuais podem especificar outras estruturas ou limitações para consultas de filtro, além do que está definido aqui.

Pedido

A API REST do Ad Manager é compatível com a ordenação em métodos List. A sintaxe dos campos orderBy é uma lista de nomes de campo separados por vírgulas. Por exemplo: "foo,bar".

A ordem de classificação padrão é crescente. Para especificar a ordem decrescente em um campo, anexe um sufixo " desc". Por exemplo, "foo desc, bar".

Caracteres de espaço redundantes na sintaxe são ignorados. Os valores "foo, bar desc", " foo , bar desc " e "foo,bar desc" são equivalentes.

Os subcampos são especificados com o operador de travessia. Por exemplo: foo.bar ou address.street.