Configura políticas

En esta página, se proporciona una breve descripción general de las carpetas y se explica cómo administrar documentos con ellas.

Motor de políticas y reglas

En Document Warehouse, el motor de políticas permite a los usuarios definir y ejecutar operaciones comunes en documentos (por ejemplo, validar o actualizar) mientras crean o actualizan documentos.

Reglas y conjuntos de reglas

Una regla a un nivel alto hace referencia a una configuración definida por el usuario que especifica lo siguiente:

  • Qué activa la verificación de reglas
  • Qué condición se evalúa
  • Qué acciones se ejecutan cuando se cumple la condición

Junto con estas especificaciones, una regla incluye información de la descripción, la fuente, el destino y la condición de activación.

Una colección lógica de reglas se denomina RuleSet. Por ejemplo, las reglas que operan en el mismo esquema se pueden agrupar en un solo conjunto de reglas. Los clientes pueden definir varios conjuntos de reglas.

Las reglas son útiles para activar automáticamente acciones predefinidas mientras se crean o actualizan documentos.

Una regla consta de tres elementos principales:

  • TriggerType: Evento en el que se debe iniciar la verificación de la regla. Crear y actualizar son los tipos de activadores admitidos.
  • Condición de regla: Es la condición que se evalúa después de que se detecta un tipo de activador determinado. Las condiciones se pueden expresar con Common Expression Language (CEL). Cada condición debe evaluarse como un resultado booleano.
  • Acciones: Es un conjunto de pasos que se ejecutan cuando se cumple la regla. Cuando una condición de regla se evalúa como verdadera, se ejecuta la acción correspondiente (configurada en la regla). A continuación, se muestran los detalles de alto nivel sobre las acciones específicas implementadas en Document Warehouse:
    • Acción de validación de datos: Es una acción que permite validar campos específicos en el documento durante la creación o actualización del documento.
    • Acción de actualización de datos: Es una acción que permite actualizar campos específicos en el documento durante la creación o actualización del documento. Estas actualizaciones se ejecutan cuando se cumple la condición de la regla.
    • Acción de borrado de documentos: Es una acción que permite borrar el documento durante la actualización del documento cuando ciertos campos cumplen con los criterios de borrado definidos con las condiciones de la regla.
    • Acción de inclusión de carpetas: Es una acción que agrega automáticamente un documento nuevo (o actualizado) en carpetas específicas. Estas carpetas se pueden especificar directamente con su nombre.
    • Acción de quitar de la carpeta: Es una acción que quita automáticamente un documento nuevo de las carpetas determinadas cuando se cumple una condición a nivel de la regla.
    • Acción de control de acceso: Es una acción que permite actualizar las listas de control de acceso (grupos y vinculaciones de usuarios) durante la creación del documento. Estas actualizaciones se ejecutan cuando se cumple la condición de la regla.
    • Acción de publicación: Es una acción que publica mensajes específicos en el canal de Pub/Sub del usuario cuando se cumple una condición a nivel de la regla.

Administra conjuntos de reglas

Document Warehouse proporciona APIs para administrar conjuntos de reglas (crear, obtener, actualizar, borrar y enumerar). En esta sección, se proporcionan ejemplos para configurar diferentes tipos de reglas.

Crea un conjunto de reglas

Para crear un conjunto de reglas, haz lo siguiente:

REST

Solicitud:

# Create a RuleSet for data validation.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules": [
    {
      "trigger_type": "ON_CREATE",
      "condition": "documentType == \'W9\' && STATE ==\'CA\'",
      "actions": {
        "data_validation": {
          "conditions": {
            "NAME": "NAME != \'\'",
            "FILING_COST": "FILING_COST > 10.0"
          }
        }
      },
      "enabled": true
    }
  ],
  "description": "W9: Basic validation check rules."
}'

Respuesta

{
  "description": "W9: Basic validation check rules.",
  "name": "RULE_SET_NAME",
  "rules": [
    {
      "actions": [
        {
          "actionId": "de0e6b84-106b-44ba-b1c4-0b3ad6ddc719",
          "dataValidation": {
            "conditions": {
              "FILING_COST": "FILING_COST > 10.0",
              "NAME": "NAME != ''"
            }
          }
        }
      ],
      "condition": "documentType == 'W9' && STATE =='CA'",
      "enabled": true,
      "triggerType": "ON_CREATE"
    }
  ]
}

Python

Para obtener más información, consulta la documentación de referenciaPython de la API de Document AI Warehouse.

Para autenticarte en Document AI Warehouse, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.


from google.cloud import contentwarehouse

# TODO(developer): Uncomment these variables before running the sample.
# project_number = "YOUR_PROJECT_NUMBER"
# location = "us" # Format is 'us' or 'eu'


def create_rule_set(project_number: str, location: str) -> None:
    # Create a client
    client = contentwarehouse.RuleSetServiceClient()

    # The full resource name of the location, e.g.:
    # projects/{project_number}/locations/{location}
    parent = client.common_location_path(project=project_number, location=location)

    actions = contentwarehouse.Action(
        delete_document_action=contentwarehouse.DeleteDocumentAction(
            enable_hard_delete=True
        )
    )

    rules = contentwarehouse.Rule(
        trigger_type="ON_CREATE",
        condition="documentType == 'W9' && STATE =='CA'",
        actions=[actions],
    )

    rule_set = contentwarehouse.RuleSet(
        description="W9: Basic validation check rules.",
        source="My Organization",
        rules=[rules],
    )

    # Initialize request argument(s)
    request = contentwarehouse.CreateRuleSetRequest(parent=parent, rule_set=rule_set)

    # Make the request
    response = client.create_rule_set(request=request)

    # Handle the response
    print(f"Rule Set Created: {response}")

    # Initialize request argument(s)
    request = contentwarehouse.ListRuleSetsRequest(
        parent=parent,
    )

    # Make the request
    page_result = client.list_rule_sets(request=request)

    # Handle the response
    for response in page_result:
        print(f"Rule Sets: {response}")

Java

Para obtener más información, consulta la documentación de referenciaJava de la API de Document AI Warehouse.

Para autenticarte en Document AI Warehouse, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.

import com.google.cloud.contentwarehouse.v1.Action;
import com.google.cloud.contentwarehouse.v1.ActionOrBuilder;
import com.google.cloud.contentwarehouse.v1.CreateRuleSetRequest;
import com.google.cloud.contentwarehouse.v1.CreateRuleSetRequestOrBuilder;
import com.google.cloud.contentwarehouse.v1.DeleteDocumentAction;
import com.google.cloud.contentwarehouse.v1.DeleteDocumentActionOrBuilder;
import com.google.cloud.contentwarehouse.v1.ListRuleSetsRequest;
import com.google.cloud.contentwarehouse.v1.ListRuleSetsRequestOrBuilder;
import com.google.cloud.contentwarehouse.v1.LocationName;
import com.google.cloud.contentwarehouse.v1.Rule;
import com.google.cloud.contentwarehouse.v1.Rule.TriggerType;
import com.google.cloud.contentwarehouse.v1.RuleOrBuilder;
import com.google.cloud.contentwarehouse.v1.RuleSet;
import com.google.cloud.contentwarehouse.v1.RuleSetOrBuilder;
import com.google.cloud.contentwarehouse.v1.RuleSetServiceClient;
import com.google.cloud.contentwarehouse.v1.RuleSetServiceClient.ListRuleSetsPagedResponse;
import com.google.cloud.contentwarehouse.v1.RuleSetServiceSettings;
import com.google.cloud.resourcemanager.v3.Project;
import com.google.cloud.resourcemanager.v3.ProjectName;
import com.google.cloud.resourcemanager.v3.ProjectsClient;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;


public class CreateRuleSet {

  public static void createRuleSet() throws IOException, 
        InterruptedException, ExecutionException, TimeoutException { 
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "your-project-id";
    String location = "your-region"; // Format is "us" or "eu".
    createRuleSet(projectId, location);
  }

  public static void createRuleSet(String projectId, String location)
      throws IOException, InterruptedException, ExecutionException, TimeoutException {
    String projectNumber = getProjectNumber(projectId);

    String endpoint = "contentwarehouse.googleapis.com:443";
    if (!"us".equals(location)) {
      endpoint = String.format("%s-%s", location, endpoint);
    }
    RuleSetServiceSettings ruleSetServiceSettings =
        RuleSetServiceSettings.newBuilder().setEndpoint(endpoint).build();

    // Create a Rule Set Service Client 
    try (RuleSetServiceClient ruleSetServiceClient = 
        RuleSetServiceClient.create(ruleSetServiceSettings)) {
      /*  The full resource name of the location, e.g.:
      projects/{project_number}/locations/{location} */
      String parent = LocationName.format(projectNumber, location); 

      // Create a Delete Document Action to be added to the Rule Set 
      DeleteDocumentActionOrBuilder deleteDocumentAction = 
          DeleteDocumentAction.newBuilder().setEnableHardDelete(true).build();

      // Add Delete Document Action to Action Object 
      ActionOrBuilder action = Action.newBuilder()
            .setDeleteDocumentAction((DeleteDocumentAction) deleteDocumentAction).build();

      // Create rule to add to rule set 
      RuleOrBuilder rule = Rule.newBuilder()
          .setTriggerType(TriggerType.ON_CREATE)
          .setCondition("documentType == 'W9' && STATE =='CA' ")
          .addActions(0, (Action) action).build();

      // Create rule set and add rule to it
      RuleSetOrBuilder ruleSetOrBuilder = RuleSet.newBuilder()
          .setDescription("W9: Basic validation check rules.")
          .setSource("My Organization")
          .addRules((Rule) rule).build();

      // Create and prepare rule set request to client
      CreateRuleSetRequestOrBuilder createRuleSetRequest = 
          CreateRuleSetRequest.newBuilder()
              .setParent(parent)
              .setRuleSet((RuleSet) ruleSetOrBuilder).build();

      RuleSet response = ruleSetServiceClient.createRuleSet(
          (CreateRuleSetRequest) createRuleSetRequest);

      System.out.println("Rule set created: " + response.toString());

      ListRuleSetsRequestOrBuilder listRuleSetsRequest = 
          ListRuleSetsRequest.newBuilder()
              .setParent(parent).build();

      ListRuleSetsPagedResponse listRuleSetsPagedResponse = 
          ruleSetServiceClient.listRuleSets((ListRuleSetsRequest) listRuleSetsRequest);

      listRuleSetsPagedResponse.iterateAll().forEach(
          (ruleSet -> System.out.print(ruleSet))
      );
    }
  }

  private static String getProjectNumber(String projectId) throws IOException { 
    try (ProjectsClient projectsClient = ProjectsClient.create()) { 
      ProjectName projectName = ProjectName.of(projectId); 
      Project project = projectsClient.getProject(projectName);
      String projectNumber = project.getName(); // Format returned is projects/xxxxxx
      return projectNumber.substring(projectNumber.lastIndexOf("/") + 1);
    } 
  }
}

Enumera conjuntos de reglas

Para enumerar conjuntos de reglas en un proyecto, haz lo siguiente:

REST

Solicitud:

# List all rule-sets for a project.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets

Respuesta

{
  "ruleSets": [
    {
      "description": "W9: Basic validation check rules.",
      "rules": [
        {
          "triggerType": "ON_CREATE",
          "condition": "documentType == 'W9' && STATE =='CA'",
          "actions": [
            {
              "actionId": "fcf79ae8-9a1f-4462-9262-eb2e7161350c",
              "dataValidation": {
                "conditions": {
                  "NAME": "NAME != ''",
                  "FILING_COST": "FILING_COST > 10.0"
                }
              }
            }
          ],
          "enabled": true
        }
      ],
      "name": "RULE_SET_NAME"
    }
  ]
}

Obtén un conjunto de reglas

Para obtener un conjunto de reglas con el nombre del conjunto de reglas, haz lo siguiente:

REST

Solicitud:

# Get a rule-set using rule-set ID.
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets/RULE_SET

Respuesta

{
  "description": "W9: Basic validation check rules.",
  "rules": [
    {
      "triggerType": "ON_CREATE",
      "condition": "documentType == 'W9' && STATE =='CA'",
      "actions": [
        {
          "actionId": "7559346b-ec9f-4143-ab1c-1912f5588807",
          "dataValidation": {
            "conditions": {
              "NAME": "NAME != ''",
              "FILING_COST": "FILING_COST > 10.0"
            }
          }
        }
      ],
      "enabled": true
    }
  ],
  "name": "RULE_SET_NAME"
}

Borra un conjunto de reglas

Para borrar un conjunto de reglas con el nombre del conjunto de reglas, haz lo siguiente:

REST

Solicitud:

# Get a rule-set using rule-set ID.
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets/RULE_SET

Acciones de reglas

En esta sección, se analizarán las expresiones de reglas y cada ejemplo de acción de regla.

Condiciones de ejemplo

Una condición hace referencia a la expresión especificada con Common Expression Language.

Ejemplos:

  • Expresión de campo de cadena
    • STATE == \'CA\'. Verifica si el valor del campo STATE es igual a CA.
    • NAME != \'\'. Verifica que el valor del campo NAME no esté vacío.
  • Expresión de campo numérico
    • FILING_COST > 10.0. Verifica si el valor del campo FILING_COST (definido como flotante) es mayor que 10.0.

Cómo verificar si un documento pertenece a un esquema específico

Para hacer referencia a un tipo de esquema específico, usa el nombre de campo especial documentType (es una palabra reservada). Se evalúa con el campo DisplayName en DocumentSchema.

Ejemplo:

  • documentType == \'W9\'

La condición anterior verifica si el esquema del documento (con la palabra clave documentType) tiene un nombre visible de W9.

Cómo hacer referencia a los valores de propiedades de documentos antiguos o existentes y a los valores de propiedades de documentos nuevos

Para admitir condiciones que incluyen propiedades existentes y recién proporcionadas, usa los siguientes dos prefijos con un operador DOT para acceder a la versión específica de la propiedad:

  • OLD_ para hacer referencia a las propiedades de documentos existentes
  • NEW_ para hacer referencia a las propiedades de documentos nuevos en la solicitud

Ejemplo:

  • OLD_.state == \'TX\' && NEW_.state == \'CA\' Verifica que el valor existente de la propiedad de estado sea TX y que el valor nuevo proporcionado sea CA.

Administración de campos de fecha

Para el documento DriverLicense, si la EXPIRATION_DATE es anterior a una fecha determinada

  • Actualiza (o agrega una nueva si no está presente) EXPIRATION_STATUS (campo de enumeración) con un valor igual a EXPIRING_BEFORE_CLOSING_DATE.

Para agregar valores de fecha, usa la función de marca de tiempo como se muestra en el siguiente ejemplo.

REST

Solicitud:

# Check if document expires before a date and update the status field
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules":[
    {
      "trigger_type": "ON_CREATE",
      "description": "Expiration date check rule",
      "condition": "documentType==\'DriverLicense\' && EXPIRATION_DATE  < timestamp(\'2021-08-01T00:00:00Z\')",
      "actions": {
        "data_update": {
          "entries": {
            "EXPIRATION_STATUS": "EXPIRING_BEFORE_CLOSING_DATE"
          }
        }
      }
    }
  ]
}'

Regla de validación de datos

Valida un documento W9 para el STATE (campo de texto) de California:

  • Verifica que el NAME (campo de texto) no esté vacío.
  • Verifica que el FILING_COST (campo flotante) sea mayor que 10.0.

REST

Solicitud:

# Rules for data validation.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules": [
    {
      "trigger_type": "ON_CREATE",
      "condition": "documentType == \'W9\' && STATE ==\'CA\'",
      "actions": {
        "data_validation": {
          "conditions": {
            "NAME": "NAME != \'\'",
            "FILING_COST": "FILING_COST > 10.0"
          }
        }
      },
      "enabled": true
    }
  ],
  "description": "W9: Basic validation check rules."
}'

Regla de actualización de datos

Para un documento W9, si el campo BUSINESS_NAME es Google:

  • Actualiza (o agrega una nueva si no está presente) un campo Address igual a 1600 Amphitheatre Pkwy.
  • Actualiza (o agrega una nueva si no está presente) un campo EIN igual a 77666666.

REST

Solicitud:

# Rule for data update.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules":[
    {
      "description": "W9: Rule to update address data and EIN.",
      "trigger_type": "ON_CREATE",
      "condition": "documentType==\'W9\' && BUSINESS_NAME == \'Google\'",
      "actions": {
        "data_update": {
          "entries": {
            "Address": "1600 Amphitheatre Pkwy",
            "EIN": "776666666"
          }
        }
      }
    }
  ]
}'

Regla de borrado de documentos

Mientras actualizas el documento W9, si el campo BUSINESS_NAME cambia a Google, borra el documento.

REST

Solicitud:

# Rule for deleting the document
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules": [
    {
      "description": "W9: Rule to delete the document during update.",
      "trigger_type": "ON_UPDATE",
      "condition": "documentType == \'W9\' && BUSINESS_NAME == \'Google\'",
      "actions": {
        "delete_document_action": {
          "enable_hard_delete": true
        }
      }
    }
  ]
}'

Regla de control de acceso

Mientras actualizas el documento W9, si el campo BUSINESS_NAME es Google, actualiza las vinculaciones de políticas que controlan el acceso al documento.

Agrega una vinculación nueva

Cuando un documento cumple con la condición de la regla:

  • Agrega el rol de editor para user:a@example.com y group:xxx@example.com.
  • Agrega el rol de visualizador para user:b@example.com y group:yyy@example.com.

REST

Solicitud:

# Rule for adding new policy binding while creating the document.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules": [
    {
      "description": "W9: Rule to add new policy binding."
      "trigger_type": "ON_CREATE",
      "condition": "documentType == \'aca13aa9-6d0d-4b6b-a1eb-315dcb876bd1\' && BUSINESS_NAME == \'Google\'",
      "actions": {
        "access_control": {
          "operation_type": "ADD_POLICY_BINDING",
          "policy": {
            "bindings": [
              {
                "role": "roles/contentwarehouse.documentEditor",
                "members": ["user:a@example.com", "group:xxx@example.com"]
              },
              {
                "role": "roles/contentwarehouse.documentViewer",
                "members": ["user:b@example.com", "group:yyy@example.com"]
              }
            ]
          }
        }
      }
    }
  ]
}'

Reemplaza una vinculación existente

Cuando un documento cumple con la condición de la regla, reemplaza la vinculación existente para incluir solo el rol de editor para user:a@example.com y group:xxx@example.com.

REST

Solicitud:

# Rule for replacing existing policy bindings with newly given bindings.
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules": [
    {
      "description": "W9: Rule to replace policy binding."
      "trigger_type": "ON_CREATE",
      "condition": "documentType == \'a9e37d07-9cfa-4b4d-b372-53162e3b8bd9\' && BUSINESS_NAME == \'Google\'",
      "actions": {
        "access_control": {
          "operation_type": "REPLACE_POLICY_BINDING",
          "policy": {
            "bindings": [
              {
                "role": "roles/contentwarehouse.documentEditor",
                "members": ["user:a@example.com", "group:xxx@example.com"]
              }
            ]
          }
        }
      }
    }
  ]
}'

Agregar a la regla de carpeta

Cuando se crea o actualiza una carpeta, se puede agregar en carpetas estáticas predefinidas o carpetas que coinciden con ciertos criterios de búsqueda.

Configura carpetas estáticas

Cuando se crea una nueva DriverLicense, agrégala a la carpeta ya creada.

REST

Solicitud:

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules": [
    {
      "trigger_type": "ON_CREATE",
      "condition": "documentType == \'DriverLicense\'",
      "actions": {
        "add_to_folder": {
          "folders": ["projects/821411934445/locations/us/documents/445en119hqp70"]
        }
      }
    }
  ]
}'

Publicar en Pub/Sub

Cuando se crea o actualiza un documento, o se crea o borra un vínculo, puedes enviar un mensaje de notificación al canal de Pub/Sub.

Pasos para usar

  • Crea un tema de Pub/Sub en el proyecto del cliente.
  • Crea una regla para activar la acción de publicación de Pub/Sub con la siguiente solicitud. (Consulta el siguiente ejemplo).
  • Invoca las APIs de Document AI Warehouse.
  • Verifica que los mensajes se publiquen en el canal de Pub/Sub.

Regla de ejemplo

Cuando se agrega un documento en una carpeta (se invoca la API de CreateLink), se puede usar la siguiente regla para enviar mensajes de notificación al tema de Pub/Sub.

REST

Solicitud:

curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
https://contentwarehouse.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/ruleSets \
-d '{
  "rules": [
    {
      "trigger_type": "ON_CREATE_LINK",
      "condition": "documentType == \'DriverLicenseFolder\'",
      "actions": {
        "publish_to_pub_sub": {
          "topic_id": "<topic_name>"
          "messages": "Added document under a folder."
        }
      }
    }
  ]
}'

Detalles de la regla

  • Esta acción es compatible con los siguientes tipos de activadores:

    • ON_CRATE: Cuando se crea un documento nuevo.
    • ON_UPDATE: Cuando se actualiza el documento.
    • ON_CRATE_LINK: Cuando se crea un vínculo nuevo.
    • ON_DELETE_LINK: Cuando se borra un vínculo.
  • Para los activadores de creación y actualización de documentos, la condición puede incluir atributos del documento que se está creando o actualizando.

  • Para los activadores de creación y borrado de vínculos, la condición solo puede incluir atributos del documento de carpeta desde el que se agrega o quita el documento.

  • El campo messages se puede usar para enviar una lista de mensajes al canal de Pub/Sub. Ten en cuenta que, junto con estos mensajes, de forma predeterminada, también se publican los siguientes campos:

    • Nombre del esquema, nombre del documento, tipo de activador, nombre del conjunto de reglas, ID de la regla, ID de la acción.
    • Para los activadores de creación y borrado de vínculos, las notificaciones incluyen información relevante sobre el vínculo que se agrega o borra.