Rules: create

Requer autorização

Cria um Rule do GTM. Faça um teste agora ou veja um exemplo.

Solicitação

Solicitação HTTP

POST https://www.googleapis.com/tagmanager/v1/accounts/accountId/containers/containerId/rules

Parâmetros

Nome do parâmetro Valor Descrição
Parâmetros de caminho
accountId string Código do Account do GTM.
containerId string Código do contêiner do GTM.

Autorização

Essa solicitação requer uma autorização com o escopo a seguir (mais informações sobre autenticação e autorização).

Escopo
https://www.googleapis.com/auth/tagmanager.edit.containers

Corpo da solicitação

No corpo da solicitação, informe um recurso Rules com as seguintes propriedades:

Nome da propriedade Valor Descrição Observações
Propriedades obrigatórias
condition[].parameter[] list Lista de parâmetros nomeados (chave/valor), dependendo do tipo de condição. Observações:
  • No caso dos operadores binários, inclua os parâmetros arg0 e arg1 para especificar os operandos esquerdo e direito, respectivamente.
  • No momento, o operando esquerdo (arg0) precisa ser uma referência a uma macro.
  • Para correspondência de regex que não diferencia maiúsculas de minúsculas, inclua um parâmetro booleano ignore_case definido como true. Se não for especificada nem definida como outro valor, a correspondência diferenciará maiúsculas de minúsculas.
  • Para negar um operador, inclua um parâmetro booleano negate e defina-o como true.
gravável
condition[].parameter[].type string Tipo de parâmetro. Os valores válidos são:
  • boolean: o valor representa um booleano, exibido como "true" ou "false"
  • integer: o valor representa um número inteiro assinado com 64 bits e de formato decimal
  • list: uma lista de parâmetros precisa ser especificada
  • map: um mapa de parâmetros precisa ser especificado
  • template: o valor representa qualquer texto e pode incluir referências de macro, até mesmo aquelas que podem retornar tipos que não são strings.


Estes são os valores aceitáveis:
  • "boolean"
  • "integer"
  • "list"
  • "map"
  • "template"
gravável
condition[].type string Tipo de operador para essa condição.

Os valores aceitáveis são:
  • "contains"
  • "cssSelector"
  • "endsWith"
  • "equals"
  • "greater"
  • "greaterOrEquals"
  • "less"
  • "lessOrEquals"
  • "matchRegex"
  • "startsWith"
  • "urlMatches"
gravável
name string Nome de exibição da regra. gravável
Propriedades opcionais
condition[] list Lista de condições que compõem essa regra (o operador "AND" implícito entre elas). gravável
condition[].parameter[].key string Chave nomeada que identifica um parâmetro de forma única. Obrigatório para parâmetros de nível superior, bem como para valores de mapa. Ignorado para valores de lista. gravável
condition[].parameter[].list[] list Parâmetros dessa lista (as chaves são ignoradas). gravável
condition[].parameter[].map[] list Parâmetros desse mapa (é necessário ter chaves únicas). gravável
condition[].parameter[].value string Valor de um parâmetro (pode conter referências de macros, como ""), conforme apropriado para o tipo especificado. gravável
notes string Observações para o usuário sobre como aplicar essa regra no contêiner. gravável

Resposta

Se for bem-sucedido, este método retornará um recurso Rules no corpo da resposta.

Exemplos

Observação: os exemplos de código disponíveis para esse método não representam todas as linguagens de programação compatíveis. Consulte a página de bibliotecas cliente para ver uma lista de linguagens compatíveis.

Java

Usa a biblioteca cliente de Java.

/*
 * Note: This code assumes you have an authorized tagmanager service object.
 */

/*
 * This request creates a new rule for the authorized user.
 */

// Construct the condition parameters.
Parameter arg0 = new Parameter();
arg0.setType("template");
arg0.setKey("arg0");
arg0.setValue("{{url}}");

Parameter arg1 = new Parameter();
arg1.setType("template");
arg1.setKey("arg1");
arg1.setValue(".*hellowworld.html");

// Construct the condition object
Condition condition = new Condition();
condition.setType("endsWith");
condition.setParameter(Arrays.asList(arg0, arg1));

// Construct the rule object.
Rule rule = new Rule();
rule.setName("Ends With Rule");
rule.setCondition(Arrays.asList(condition));

try {
  Rule response = tagmanager.accounts().
      containers().rules().create("123456", "54321", rule).execute();
} catch (GoogleJsonResponseException e) {
  System.err.println("There was a service error: "
      + e.getDetails().getCode() + " : "
      + e.getDetails().getMessage());
}

/*
 * The results of the create method are stored in the response object.
 * The following code shows how to access the created Id and Fingerprint.
 */
System.out.println("Rule Id = " + response.getRuleId());
System.out.println("Rule Fingerprint = " + response.getFingerprint());

Python

Usa a biblioteca cliente de Python.

# Note: This code assumes you have an authorized tagmanager service object.

# This request creates a new rule for the authorized user.
try:
  response = tagmanager.accounts().containers().rules().create(
      accountId='123456',
      containerId='54321',
      body={
          'name': 'Ends with Rule',
          'condition': [
              {
                  'type': 'endsWith',
                  'parameter': [
                      {
                          'type': 'template',
                          'key': 'arg0',
                          'value': '{{url}}'
                      },
                      {
                          'type': 'template',
                          'key': 'arg1',
                          'value': '.*hellowworld.html'
                      }
                  ]
              }
          ]
      }
  ).execute()

except TypeError, error:
  # Handle errors in constructing a query.
  print 'There was an error in constructing your query : %s' % error

except HttpError, error:
  # Handle API errors.
  print ('There was an API error : %s : %s' %
         (error.resp.status, error.resp.reason))

# The results of the create method are stored in the response object.
# The following code shows how to access the created id and fingerprint.
print 'Rule Id = %s' % response.get('ruleId')
print 'Rule Fingerprint = %s' % response.get('fingerprint')

Confira!

Use o APIs Explorer abaixo para chamar esse método em dados ativos e ver a resposta.