Rules: update

Requer autorização

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

Solicitação

Solicitação HTTP

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

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 Container do GTM.
ruleId string Código do Rule do GTM.
Parâmetros de consulta opcionais
fingerprint string Quando fornecida, essa impressão digital precisa corresponder àquela da regra armazenada.

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, forneça 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:
  • Para 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 indiferente a maiú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 inclui referências de macro, mesmo aquelas que podem retornar tipos que não são strings


Os valores aceitáveis são:
  • "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
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 exclusiva. 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 "{{myMacro}}"), conforme apropriado para o tipo especificado. gravável
name string Nome de exibição da regra. gravável
notes string Observações para os usuários 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 updates an existing 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("Updated Rule");
rule.setCondition(Arrays.asList(condition));

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

/*
 * The results of the update method are stored in the response object.
 * The following code shows how to access the updated name and fingerprint.
 */
System.out.println("Updated Name = " + response.getName());
System.out.println("Updated Fingerprint = " + response.getFingerprint());

Python

Usa a biblioteca cliente de Python.

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

# This request updates an existing rule for the authorized user.
try:
  response = tagmanager.accounts().containers().rules().update(
      accountId='123456',
      containerId='54321',
      ruleId='2',
      body={
          'name': 'Updated 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 update method are stored in the response object.
# The following code shows how to access the updated name and fingerprint.
print 'Updated Name = %s' % response.get('name')
print 'Updated Fingerprint = %s' % response.get('fingerprint')

Faça um teste

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