REST Resource: projects.locations.collections.dataStores.controls

Recurso: Control

Define un comportamiento condicionado que se debe emplear durante la entrega. Debe estar adjunto a un ServingConfig para que se tenga en cuenta en el momento de la publicación. Acciones permitidas que dependen de SolutionType.

Representación JSON
{
  "name": string,
  "displayName": string,
  "associatedServingConfigIds": [
    string
  ],
  "solutionType": enum (SolutionType),
  "useCases": [
    enum (SearchUseCase)
  ],
  "conditions": [
    {
      object (Condition)
    }
  ],

  // Union field action can be only one of the following:
  "boostAction": {
    object (BoostAction)
  },
  "filterAction": {
    object (FilterAction)
  },
  "redirectAction": {
    object (RedirectAction)
  },
  "synonymsAction": {
    object (SynonymsAction)
  },
  "promoteAction": {
    object (PromoteAction)
  }
  // End of list of possible types for union field action.
}
Campos
name

string

Inmutable. Nombre completamente calificado projects/*/locations/global/dataStore/*/controls/*

displayName

string

Obligatorio. Es el nombre legible. Es el identificador que se usa en las vistas de la IU.

Debe ser una cadena codificada en UTF-8. El límite de longitud es de 128 caracteres. De lo contrario, se arroja un error INVALID ARGUMENT.

associatedServingConfigIds[]

string

Solo salida. Es la lista de todos los IDs de ServingConfig a los que se adjunta este control. La actualización puede tardar hasta 10 minutos después de los cambios.

solutionType

enum (SolutionType)

Obligatorio. Inmutable. Solución a la que pertenece el control.

Debe ser compatible con la vertical del recurso. De lo contrario, se arroja un error INVALID ARGUMENT.

useCases[]

enum (SearchUseCase)

Especifica el caso de uso del control. Afecta los campos de condición que se pueden establecer. Solo se aplica a SOLUTION_TYPE_SEARCH. Actualmente, solo se permite un caso de uso por control. Se debe establecer cuando solutionType es SolutionType.SOLUTION_TYPE_SEARCH.

conditions[]

object (Condition)

Determina cuándo se activará la acción asociada.

Si se omite, la acción se aplicará siempre. Actualmente, solo se puede especificar una condición. De lo contrario, se arroja un error INVALID ARGUMENT.

Campo de unión action. Las acciones están restringidas por vertical y solución

Obligatorio. action puede ser una de las siguientes opciones:

boostAction

object (BoostAction)

Define un control de tipo refuerzo

filterAction

object (FilterAction)

Define un control de tipo de filtro. Actualmente, no es compatible con Recommendation.

redirectAction

object (RedirectAction)

Define un control de tipo redireccionamiento.

synonymsAction

object (SynonymsAction)

Trata a un grupo de términos como sinónimos entre sí.

promoteAction

object (PromoteAction)

Promocionar ciertos vínculos según búsquedas de activación predefinidas

BoostAction

Ajusta el orden de los productos en la lista que se muestra.

Representación JSON
{
  "boost": number,
  "filter": string,
  "dataStore": string,

  // Union field boost_spec can be only one of the following:
  "fixedBoost": number,
  "interpolationBoostSpec": {
    object (InterpolationBoostSpec)
  }
  // End of list of possible types for union field boost_spec.
}
Campos
boost
(deprecated)

number

Es la intensidad del boosting, que debe estar en el rango [-1, 1]. El boosting negativo significa un descenso de nivel. El valor predeterminado es 0.0 (sin operación).

filter

string

Obligatorio. Especifica a qué productos se aplicará el aumento.

Si no se proporciona ningún filtro, se potenciarán todos los productos (no se realizará ninguna operación). Documentación de la sintaxis: https://cloud.google.com/retail/docs/filter-and-order La longitud máxima es de 5,000 caracteres. De lo contrario, se arroja un error INVALID ARGUMENT.

dataStore

string

Obligatorio. Especifica los documentos de qué almacén de datos se pueden potenciar con este control. Nombre completo del almacén de datos, p.ej., projects/123/locations/global/collections/default_collection/dataStores/default_data_store

Campo de unión boost_spec. Especificaciones de impulso de valor constante o de clasificación personalizada basada en el impulso. boost_spec puede ser solo uno de los siguientes:
fixedBoost

number

Opcional. Es la intensidad del boosting, que debe estar en el rango [-1, 1]. El boosting negativo significa un descenso de nivel. El valor predeterminado es 0.0 (sin operación).

interpolationBoostSpec

object (InterpolationBoostSpec)

Opcional. Es una especificación compleja para la clasificación personalizada basada en el valor del atributo definido por el cliente.

InterpolationBoostSpec

Es la especificación para la clasificación personalizada basada en el valor del atributo especificado por el cliente. Proporciona más controles para la clasificación personalizada que la combinación simple (condición, refuerzo) anterior.

Representación JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Campos
fieldName

string

Opcional. Nombre del campo cuyo valor se usará para determinar el importe del aumento.

attributeType

enum (AttributeType)

Opcional. Es el tipo de atributo que se usará para determinar el importe del aumento. El valor del atributo se puede derivar del valor del campo del campo especificado en fieldName. En el caso de los valores numéricos, es sencillo, es decir, attributeValue = numerical_field_value. Sin embargo, en el caso de la actualización, attributeValue = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Opcional. Es el tipo de interpolación que se aplicará para conectar los puntos de control que se indican a continuación.

controlPoints[]

object (ControlPoint)

Opcional. Son los puntos de control que se usan para definir la curva. La función monotónica (definida a través de interpolationType más arriba) pasa por los puntos de control que se indican aquí.

AttributeType

Es el atributo(o la función) para el que se aplicará la clasificación personalizada.

Enums
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType no especificado.
NUMERICAL El valor del campo numérico se usará para actualizar de forma dinámica el importe del aumento. En este caso, el atributo attributeValue (el valor de X) del punto de control será el valor real del campo numérico para el que se especifica boostAmount.
FRESHNESS En el caso de uso de la actualización, el valor del atributo será la duración entre la hora actual y la fecha especificada en el campo de fecha y hora. El valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es: [nD][T[nH][nM][nS]]. Por ejemplo, 5D, 3DT12H30M, T24H.

InterpolationType

Es el tipo de interpolación que se aplicará. El valor predeterminado será lineal (lineal por partes).

Enums
INTERPOLATION_TYPE_UNSPECIFIED No se especificó el tipo de interpolación. En este caso, se establece de forma predeterminada en lineal.
LINEAR Se aplicará la interpolación lineal por partes.

ControlPoint

Son los puntos de control que se usan para definir la curva. La curva definida a través de estos puntos de control solo puede aumentar o disminuir de forma monotónica(se aceptan valores constantes).

Representación JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Campos
attributeValue

string

Opcional. Puede ser uno de los siguientes: 1. Es el valor del campo numérico. 2. Es la especificación de duración para la actualización. El valor debe tener el formato de un valor dayTimeDuration de XSD (un subconjunto restringido de un valor de duración ISO 8601). El patrón para esto es: [nD][T[nH][nM][nS]].

boostAmount

number

Opcional. Es el valor entre -1 y 1 por el que se aumentará la puntuación si attributeValue se evalúa como el valor especificado anteriormente.

FilterAction

Se especifican los productos que se pueden incluir en los resultados. Usa el mismo filtro que la potenciación.

Representación JSON
{
  "filter": string,
  "dataStore": string
}
Campos
filter

string

Obligatorio. Es un filtro que se aplica a los resultados de la condición de coincidencia.

Documentación de sintaxis requerida: https://cloud.google.com/retail/docs/filter-and-order. La longitud máxima es de 5,000 caracteres. De lo contrario, se arroja un error INVALID ARGUMENT.

dataStore

string

Obligatorio. Especifica los documentos de qué almacén de datos se pueden filtrar con este control. Nombre completo del almacén de datos, p.ej., projects/123/locations/global/collections/default_collection/dataStores/default_data_store

RedirectAction

Redirecciona a un comprador al URI proporcionado.

Representación JSON
{
  "redirectUri": string
}
Campos
redirectUri

string

Obligatorio. Es el URI al que se redireccionará al comprador.

Obligatorio. El URI debe tener una longitud igual o inferior a 2,000 caracteres. De lo contrario, se arroja un error INVALID ARGUMENT.

SynonymsAction

Crea un conjunto de términos que actuarán como sinónimos entre sí.

Ejemplo: "feliz" también se considerará como "contento", y "contento" también se considerará como "feliz".

Representación JSON
{
  "synonyms": [
    string
  ]
}
Campos
synonyms[]

string

Define un conjunto de sinónimos. Se pueden especificar hasta 100 sinónimos. Se deben especificar al menos 2 sinónimos. De lo contrario, se arroja un error INVALID ARGUMENT.

PromoteAction

Promocionar ciertos vínculos en función de algunas búsquedas de activación

Ejemplo: Promocionar el vínculo de la tienda de calzado cuando se busca la palabra clave shoe. El vínculo puede estar fuera del almacén de datos asociado.

Representación JSON
{
  "dataStore": string,
  "searchLinkPromotion": {
    object (SearchLinkPromotion)
  }
}
Campos
dataStore

string

Obligatorio. Es el almacén de datos al que se adjunta esta promoción.

SearchLinkPromotion

El arquetipo de promoción incluye el URI y otra información útil para mostrar la promoción.

Representación JSON
{
  "title": string,
  "uri": string,
  "document": string,
  "imageUri": string,
  "description": string,
  "enabled": boolean
}
Campos
title

string

Obligatorio. Es el título de la promoción. Longitud máxima: 160 caracteres.

uri

string

Opcional. Es la URL de la página que el usuario desea promocionar. Se debe configurar para la búsqueda en el sitio. Para otras verticales, este campo es opcional.

document

string

Opcional. Es el Document que el usuario quiere promocionar. Para la búsqueda en el sitio, deja este campo sin configurar y solo completa el URI. Se puede configurar junto con el URI.

imageUri

string

Opcional. Es la URL de la imagen en miniatura de la promoción.

description

string

Opcional. Es la descripción de la promoción. Longitud máxima: 200 caracteres.

enabled

boolean

Opcional. La promoción habilitada se devolverá para cualquier configuración de entrega asociada al elemento superior del control al que se adjunta esta promoción.

Esta marca solo se usa para la búsqueda básica en el sitio.

SearchUseCase

Define una subdivisión adicional de SolutionType. Se aplica específicamente a SOLUTION_TYPE_SEARCH.

Enums
SEARCH_USE_CASE_UNSPECIFIED Es el valor que se usa cuando no se establece. No ocurrirá en CSS.
SEARCH_USE_CASE_BROWSE Caso de uso de exploración. Se espera que el tráfico tenga un query vacío.

Condición

Define las circunstancias que se deben verificar antes de permitir un comportamiento.

Representación JSON
{
  "queryTerms": [
    {
      object (QueryTerm)
    }
  ],
  "activeTimeRange": [
    {
      object (TimeRange)
    }
  ],
  "queryRegex": string
}
Campos
queryTerms[]

object (QueryTerm)

Solo búsqueda: Es una lista de términos con los que se debe hacer coincidir la búsqueda. No se puede establecer cuando se configura Condition.query_regex.

Máximo de 10 términos de búsqueda.

activeTimeRange[]

object (TimeRange)

Es el período que especifica cuándo está activa la condición.

Máximo de 10 períodos

queryRegex

string

Opcional. Es la expresión regular de la búsqueda que coincide con toda la consulta de búsqueda. No se puede establecer cuando se configura Condition.query_terms. Solo se admite para los controles de publicación de promociones de la Búsqueda básica en el sitio.

QueryTerm

Es un comparador para la consulta de la solicitud de búsqueda.

Representación JSON
{
  "value": string,
  "fullMatch": boolean
}
Campos
value

string

Es el valor de la búsqueda específico con el que se debe establecer la coincidencia.

Debe estar en minúsculas y en UTF-8. Puede tener como máximo 3 términos separados por espacios si fullMatch es verdadero. No puede ser una cadena vacía. La longitud máxima es de 5,000 caracteres.

fullMatch

boolean

Indica si la búsqueda debe coincidir exactamente con el término de búsqueda.

TimeRange

Se usa para condiciones que dependen del tiempo.

Representación JSON
{
  "startTime": string,
  "endTime": string
}
Campos
startTime

string (Timestamp format)

Es el inicio del período.

El rango es inclusivo.

Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Es el final del intervalo de tiempo.

El rango es inclusivo. Debe ser en el futuro.

Usa el formato RFC 3339, en el que el resultado generado siempre estará normalizado a Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otras compensaciones que no sean “Z”. Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

Métodos

create

Crea un Control.

delete

Borra un control.

get

Obtiene un Control.

list

Enumera todos los controles por su DataStore principal.

patch

Actualiza un control.