MCP Tools Reference: ces.googleapis.com

Herramienta: create_app

Crea una app nueva en el proyecto y la ubicación especificados.

En el siguiente ejemplo, se muestra cómo usar curl para invocar la herramienta de MCP create_app.

Solicitud de Curl
                  
curl --location 'https://ces.[REGION].rep.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_app",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Esquema de entrada

Mensaje de solicitud para AgentService.CreateApp.

CreateAppRequest

Representación JSON
{
  "parent": string,
  "appId": string,
  "app": {
    object (App)
  }
}
Campos
parent

string

Obligatorio. Es el nombre del recurso de la ubicación en la que se creará la app.

appId

string

Es opcional. Es el ID que se usará para la app, que se convertirá en el componente final del nombre del recurso de la app. Si no se proporciona, se asignará automáticamente un ID único para la app.

app

object (App)

Obligatorio. Es la app que se creará.

App

Representación JSON
{
  "name": string,
  "displayName": string,
  "description": string,
  "pinned": boolean,
  "rootAgent": string,
  "languageSettings": {
    object (LanguageSettings)
  },
  "timeZoneSettings": {
    object (TimeZoneSettings)
  },
  "audioProcessingConfig": {
    object (AudioProcessingConfig)
  },
  "loggingSettings": {
    object (LoggingSettings)
  },
  "errorHandlingSettings": {
    object (ErrorHandlingSettings)
  },
  "modelSettings": {
    object (ModelSettings)
  },
  "toolExecutionMode": enum (ToolExecutionMode),
  "evaluationMetricsThresholds": {
    object (EvaluationMetricsThresholds)
  },
  "variableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "predefinedVariableDeclarations": [
    {
      object (VariableDeclaration)
    }
  ],
  "globalInstruction": string,
  "guardrails": [
    string
  ],
  "dataStoreSettings": {
    object (DataStoreSettings)
  },
  "defaultChannelProfile": {
    object (ChannelProfile)
  },
  "metadata": {
    string: string,
    ...
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "deploymentCount": integer,
  "clientCertificateSettings": {
    object (ClientCertificateSettings)
  },
  "locked": boolean
}
Campos
name

string

Es el identificador. Es el identificador único de la app. Formato: projects/{project}/locations/{location}/apps/{app}

displayName

string

Obligatorio. Es el nombre visible de la app.

description

string

Es opcional. Es la descripción de la app legible por humanos.

pinned

boolean

Es opcional. Indica si la app está fijada en la lista de apps.

rootAgent

string

Es opcional. El agente raíz es el punto de entrada de la app. Formato: projects/{project}/locations/{location}/apps/{app}/agents/{agent}

languageSettings

object (LanguageSettings)

Es opcional. Es la configuración de idioma de la app.

timeZoneSettings

object (TimeZoneSettings)

Es opcional. Es la configuración de zona horaria de la app.

audioProcessingConfig

object (AudioProcessingConfig)

Es opcional. Es la configuración del procesamiento de audio de la app.

loggingSettings

object (LoggingSettings)

Es opcional. Es la configuración de registro de la app.

errorHandlingSettings

object (ErrorHandlingSettings)

Es opcional. Es la configuración de manejo de errores de la app.

modelSettings

object (ModelSettings)

Es opcional. Es la configuración predeterminada del modelo de LLM para la app. Los recursos individuales (p.ej., agentes y medidas de seguridad) pueden anular estas configuraciones según sea necesario.

toolExecutionMode

enum (ToolExecutionMode)

Es opcional. Es el modo de ejecución de la herramienta para la app. Si no se proporciona, se establecerá PARALLEL de forma predeterminada.

evaluationMetricsThresholds

object (EvaluationMetricsThresholds)

Es opcional. Son los umbrales de evaluación de la app.

variableDeclarations[]

object (VariableDeclaration)

Es opcional. Son las declaraciones de las variables.

predefinedVariableDeclarations[]

object (VariableDeclaration)

Solo salida. Son las declaraciones de las variables predefinidas para la app.

globalInstruction

string

Es opcional. Son instrucciones para todos los agentes de la app. Puedes usar esta instrucción para configurar una identidad o personalidad estable en todos los agentes.

guardrails[]

string

Es opcional. Lista de medidas de protección de la app. Formato: projects/{project}/locations/{location}/apps/{app}/guardrails/{guardrail}

dataStoreSettings

object (DataStoreSettings)

Es opcional. Es la configuración del almacén de datos de la app.

defaultChannelProfile

object (ChannelProfile)

Es opcional. Es el perfil de canal predeterminado que usa la app.

metadata

map (key: string, value: string)

Es opcional. Son los metadatos sobre la app. Este campo se puede usar para almacenar información adicional relevante para los detalles de la app o los usos previstos.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de cuando se creó la app.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. 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".

updateTime

string (Timestamp format)

Solo salida. Marca de tiempo de la última actualización de la app.

Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. 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".

etag

string

Solo salida. Es el ETag que se usa para garantizar que el objeto no haya cambiado durante una operación de lectura, modificación y escritura. Si el ETag está vacío, la actualización reemplazará cualquier cambio simultáneo.

deploymentCount

integer

Solo salida. Es la cantidad de implementaciones en la app.

clientCertificateSettings

object (ClientCertificateSettings)

Es opcional. Es la configuración predeterminada del certificado de cliente para la app.

locked

boolean

Es opcional. Indica si la app está bloqueada para realizar cambios. Si la app está bloqueada, se rechazarán las modificaciones en los recursos de la app.

LanguageSettings

Representación JSON
{
  "defaultLanguageCode": string,
  "supportedLanguageCodes": [
    string
  ],
  "enableMultilingualSupport": boolean,
  "fallbackAction": string
}
Campos
defaultLanguageCode

string

Es opcional. Es el código de idioma predeterminado de la app.

supportedLanguageCodes[]

string

Es opcional. Lista de códigos de idioma que admite la app, además de default_language_code.

enableMultilingualSupport

boolean

Es opcional. Habilita la compatibilidad multilingüe. Si es verdadero, los agentes de la app usarán instrucciones prediseñadas para mejorar el procesamiento de la entrada multilingüe.

fallbackAction

string

Es opcional. Es la acción que se realizará cuando un agente reciba entrada en un idioma no admitido.

Puede ser una acción predefinida o una llamada a herramienta personalizada. Los valores válidos son los siguientes: - El nombre completo del recurso de una herramienta, que activa una ejecución específica de la herramienta. - Una acción del sistema predefinida, como "derivar" o "salir", que activa un indicador EndSession con el metadata correspondiente para finalizar la conversación.

TimeZoneSettings

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

string

Es opcional. La zona horaria de la app de la base de datos de zonas horarias, p.ej., America/Los_Angeles, Europe/Paris.

AudioProcessingConfig

Representación JSON
{
  "synthesizeSpeechConfigs": {
    string: {
      object (SynthesizeSpeechConfig)
    },
    ...
  },
  "bargeInConfig": {
    object (BargeInConfig)
  },
  "inactivityTimeout": string,
  "ambientSoundConfig": {
    object (AmbientSoundConfig)
  }
}
Campos
synthesizeSpeechConfigs

map (key: string, value: object (SynthesizeSpeechConfig))

Es opcional. Es la configuración de cómo se debe sintetizar la respuesta del agente, que asigna el código de idioma a SynthesizeSpeechConfig.

Si no se encuentra la configuración para el código de idioma especificado, se usará la configuración para el código de idioma raíz. Por ejemplo, si el mapa contiene "en-us" y "en", y el código de idioma especificado es "en-gb", se usará la configuración "en".

Nota: El código de idioma no distingue entre mayúsculas y minúsculas.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

bargeInConfig

object (BargeInConfig)

Es opcional. Configura el comportamiento del agente para las actividades de interrupción del usuario.

inactivityTimeout

string (Duration format)

Es opcional. Es la duración de la inactividad del usuario (sin voz ni interacción) antes de que el agente le solicite que vuelva a participar. Si no se establece, el agente no le solicitará al usuario que vuelva a participar.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

ambientSoundConfig

object (AmbientSoundConfig)

Es opcional. Es la configuración del sonido ambiente que se reproducirá con la respuesta sintetizada del agente para mejorar la naturalidad de la conversación.

SynthesizeSpeechConfigsEntry

Representación JSON
{
  "key": string,
  "value": {
    object (SynthesizeSpeechConfig)
  }
}
Campos
key

string

value

object (SynthesizeSpeechConfig)

SynthesizeSpeechConfig

Representación JSON
{
  "voice": string,
  "speakingRate": number
}
Campos
voice

string

Opcional. El nombre de la voz. Si no se configura, el servicio elegirá una voz según los otros parámetros, como language_code.

Para obtener la lista de voces disponibles, consulta Voces y lenguajes compatibles en Cloud Text-to-Speech.

speakingRate

number

Es opcional. Es la velocidad de habla en el intervalo [0.25, 2.0]. 1.0 es la velocidad nativa normal que admite la voz específica. 2.0 es el doble de rápido y 0.5 es la mitad. Los valores fuera del rango [0.25, 2.0] mostrarán un error.

BargeInConfig

Representación JSON
{
  "disableBargeIn": boolean,
  "bargeInAwareness": boolean
}
Campos
disableBargeIn
(deprecated)

boolean

Es opcional. Inhabilita la interrupción del usuario mientras el agente está hablando. Si es verdadero, se ignorará la entrada del usuario durante la reproducción de la respuesta del agente.

Obsoleto: disable_barge_in dejó de estar disponible y se reemplazó por disable_barge_in_control en ChannelProfile.

bargeInAwareness

boolean

Es opcional. Si está habilitada, el agente adaptará su próxima respuesta según la suposición de que el usuario no escuchó el mensaje completo anterior del agente. No se debe usar en situaciones en las que las respuestas del agente se muestran de forma visual.

Duración

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Son los segundos firmados del período. Debe estar entre -315,576,000,000 y +315,576,000,000, inclusive. Nota: Estos límites se calculan de la siguiente manera: 60 s/min * 60 min/h * 24 h/día * 365.25 días/año * 10,000 años

nanos

integer

Fracciones firmadas de un segundo con una resolución de nanosegundos del período. Las duraciones inferiores a un segundo se representan con un campo seconds igual a 0 y un campo nanos positivo o negativo. Para duraciones de un segundo o más, un valor distinto de cero para el campo nanos debe tener el mismo signo que el campo seconds. Debe ser un valor entre -999,999,999 y +999,999,999, inclusive.

AmbientSoundConfig

Representación JSON
{
  "volumeGainDb": number,

  // Union field source can be only one of the following:
  "prebuiltAmbientNoise": enum (PrebuiltAmbientNoise),
  "gcsUri": string,
  "prebuiltAmbientSound": string
  // End of list of possible types for union field source.
}
Campos
volumeGainDb

number

Es opcional. Aumento de volumen (en dB) del volumen nativo normal admitido por el ruido ambiental, dentro del intervalo [-96.0, 16.0]. Si no se establece, o se establece en un valor de 0.0 (dB), se reproducirá en la amplitud de la señal nativa normal. Un valor de -6.0 (dB) se reproducirá aproximadamente a la mitad de la amplitud de la señal nativa normal. Un valor de +6.0 (dB) se reproducirá aproximadamente al doble de la amplitud de la señal nativa normal. Recomendamos no superar los +10 (dB) ya que, por lo general, no hay un aumento efectivo en la sonoridad para ningún valor superior.

Campo de unión source. Ruido ambiental que se reproducirá con la respuesta sintetizada del agente para mejorar la naturalidad de la conversación. source puede ser solo uno de los parámetros siguientes:
prebuiltAmbientNoise
(deprecated)

enum (PrebuiltAmbientNoise)

Es opcional. Obsoleto: prebuilt_ambient_noise dejó de estar disponible y se reemplazó por prebuilt_ambient_sound.

gcsUri

string

Es opcional. Ruido ambiente como un archivo WAV de un solo canal y 16 kHz almacenado en Cloud Storage.

Nota: Asegúrate de que el agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com tenga permiso storage.objects.get para el objeto de Cloud Storage.

prebuiltAmbientSound

string

Es opcional. Nombre del sonido ambiental prediseñado. Los valores válidos son los siguientes: "coffee_shop", "keyboard", "keypad", "hum", "office_1", "office_2", "office_3", "room_1", "room_2", "room_3", "room_4", "room_5" y "air_conditioner".

LoggingSettings

Representación JSON
{
  "redactionConfig": {
    object (RedactionConfig)
  },
  "audioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "bigqueryExportSettings": {
    object (BigQueryExportSettings)
  },
  "cloudLoggingSettings": {
    object (CloudLoggingSettings)
  },
  "conversationLoggingSettings": {
    object (ConversationLoggingSettings)
  },
  "evaluationAudioRecordingConfig": {
    object (AudioRecordingConfig)
  },
  "metricAnalysisSettings": {
    object (MetricAnalysisSettings)
  }
}
Campos
redactionConfig

object (RedactionConfig)

Es opcional. Es la configuración de cómo se deben ocultar los datos sensibles.

audioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Es la configuración de cómo se deben registrar las interacciones de audio.

bigqueryExportSettings

object (BigQueryExportSettings)

Es opcional. Es la configuración para describir los comportamientos de la exportación de BigQuery para la app. Los datos de conversación se exportarán a las tablas de BigQuery si está habilitada la exportación.

cloudLoggingSettings

object (CloudLoggingSettings)

Es opcional. Es la configuración para describir el comportamiento de Cloud Logging para la app.

conversationLoggingSettings

object (ConversationLoggingSettings)

Es opcional. Es la configuración para describir los comportamientos de registro de conversaciones de la app.

evaluationAudioRecordingConfig

object (AudioRecordingConfig)

Es opcional. Es la configuración sobre cómo se deben registrar las interacciones de audio para la evaluación. De forma predeterminada, la grabación de audio no está habilitada para las sesiones de evaluación.

metricAnalysisSettings

object (MetricAnalysisSettings)

Es opcional. Es la configuración para describir los comportamientos de recopilación de datos de conversación para la canalización de análisis del LLM de la app.

RedactionConfig

Representación JSON
{
  "enableRedaction": boolean,
  "inspectTemplate": string,
  "deidentifyTemplate": string
}
Campos
enableRedaction

boolean

Es opcional. Si es verdadero, se aplicará el ocultamiento en varias situaciones de registro, como el historial de conversaciones, Cloud Logging y la grabación de audio.

inspectTemplate

string

Es opcional. Nombre de la plantilla de inspección de DLP para configurar la detección de tipos de datos sensibles.

Formato: projects/{project}/locations/{location}/inspectTemplates/{inspect_template}

deidentifyTemplate

string

Es opcional. Nombre de la plantilla de desidentificación de DLP para indicar cómo desidentificar el contenido.

Formato: projects/{project}/locations/{location}/deidentifyTemplates/{deidentify_template}

AudioRecordingConfig

Representación JSON
{
  "gcsBucket": string,
  "gcsPathPrefix": string
}
Campos
gcsBucket

string

Es opcional. Bucket de Cloud Storage para almacenar las grabaciones de audio de la sesión. El URI debe comenzar con “gs://”.

Elige una ubicación de bucket que cumpla con tus requisitos de residencia de datos.

Nota: Si el bucket de Cloud Storage está en un proyecto diferente al de la app, debes otorgar permiso de storage.objects.create al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

gcsPathPrefix

string

Es opcional. Es el prefijo de la ruta de acceso de Cloud Storage para las grabaciones de audio.

Este prefijo puede incluir los siguientes marcadores de posición, que se sustituirán de forma dinámica en el momento de la publicación: - $project: ID del proyecto - $location: ubicación de la app - $app: ID de la app - $date: fecha de la sesión en formato YYYY-MM-DD - $session: ID de la sesión

Si no se especifica el prefijo de ruta de acceso, se usará el prefijo predeterminado $project/$location/$app/$date/$session/.

BigQueryExportSettings

Representación JSON
{
  "enabled": boolean,
  "project": string,
  "dataset": string
}
Campos
enabled

boolean

Es opcional. Indica si la exportación a BigQuery está habilitada.

project

string

Es opcional. Es el ID del proyecto del conjunto de datos de BigQuery al que se exportarán los datos.

Nota: Si el conjunto de datos de BigQuery se encuentra en un proyecto diferente al de la app, debes otorgar el rol de roles/bigquery.admin al agente de servicio de CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

dataset

string

Es opcional. Es el conjunto de datos de BigQuery al que se exportarán los datos.

CloudLoggingSettings

Representación JSON
{
  "enableCloudLogging": boolean
}
Campos
enableCloudLogging

boolean

Es opcional. Indica si se debe habilitar Cloud Logging para las sesiones.

ConversationLoggingSettings

Representación JSON
{
  "disableConversationLogging": boolean
}
Campos
disableConversationLogging

boolean

Es opcional. Indica si se debe inhabilitar el registro de conversaciones para las sesiones.

MetricAnalysisSettings

Representación JSON
{
  "llmMetricsOptedOut": boolean
}
Campos
llmMetricsOptedOut

boolean

Es opcional. Indica si se deben recopilar datos de conversaciones para las métricas de análisis de LLM. Si es verdadero, no se recopilarán datos de conversaciones para las métricas de análisis de LLM. De lo contrario, se recopilarán datos de conversaciones.

ErrorHandlingSettings

Representación JSON
{
  "errorHandlingStrategy": enum (ErrorHandlingStrategy)
}
Campos
errorHandlingStrategy

enum (ErrorHandlingStrategy)

Es opcional. Estrategia que se usará para el manejo de errores.

ModelSettings

Representación JSON
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Campos
model

string

Es opcional. Es el modelo de LLM que debe usar el agente. Si no se configura, el agente heredará el modelo de su agente principal.

Campo de unión _temperature.

_temperature puede ser una de las siguientes opciones:

temperature

number

Es opcional. Si se configura, se usará esta temperatura para el modelo LLM. La temperatura controla la aleatoriedad de las respuestas del modelo. Las temperaturas más bajas producen respuestas más predecibles. Las temperaturas más altas producen respuestas más creativas.

EvaluationMetricsThresholds

Representación JSON
{
  "goldenEvaluationMetricsThresholds": {
    object (GoldenEvaluationMetricsThresholds)
  },
  "hallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "goldenHallucinationMetricBehavior": enum (HallucinationMetricBehavior),
  "scenarioHallucinationMetricBehavior": enum (HallucinationMetricBehavior)
}
Campos
goldenEvaluationMetricsThresholds

object (GoldenEvaluationMetricsThresholds)

Es opcional. Son los umbrales de las métricas de evaluación de referencia.

hallucinationMetricBehavior
(deprecated)

enum (HallucinationMetricBehavior)

Es opcional. Obsoleto: Usa golden_hallucination_metric_behavior en su lugar. Actualmente, el comportamiento de la métrica de alucinación se usa para las evaluaciones de referencia.

goldenHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

Es opcional. Es el comportamiento de la métrica de alucinación para las evaluaciones de referencia.

scenarioHallucinationMetricBehavior

enum (HallucinationMetricBehavior)

Es opcional. Es el comportamiento de la métrica de alucinación para las evaluaciones de situaciones.

GoldenEvaluationMetricsThresholds

Representación JSON
{
  "turnLevelMetricsThresholds": {
    object (TurnLevelMetricsThresholds)
  },
  "expectationLevelMetricsThresholds": {
    object (ExpectationLevelMetricsThresholds)
  },
  "toolMatchingSettings": {
    object (ToolMatchingSettings)
  }
}
Campos
turnLevelMetricsThresholds

object (TurnLevelMetricsThresholds)

Es opcional. Son los umbrales de las métricas a nivel del turno.

expectationLevelMetricsThresholds

object (ExpectationLevelMetricsThresholds)

Es opcional. Son los umbrales de las métricas del nivel de expectativa.

toolMatchingSettings

object (ToolMatchingSettings)

Es opcional. Es la configuración de la herramienta de correlación. Una llamada a herramienta adicional es una llamada a herramienta que está presente en la ejecución, pero no coincide con ninguna llamada a herramienta en la expectativa ideal.

TurnLevelMetricsThresholds

Representación JSON
{
  "semanticSimilarityChannel": enum (SemanticSimilarityChannel),

  // Union field _semantic_similarity_success_threshold can be only one of the
  // following:
  "semanticSimilaritySuccessThreshold": integer
  // End of list of possible types for union field
  // _semantic_similarity_success_threshold.

  // Union field _overall_tool_invocation_correctness_threshold can be only one
  // of the following:
  "overallToolInvocationCorrectnessThreshold": number
  // End of list of possible types for union field
  // _overall_tool_invocation_correctness_threshold.
}
Campos
semanticSimilarityChannel

enum (SemanticSimilarityChannel)

Es opcional. Es el canal de similitud semántica que se usará para la evaluación.

Campo de unión _semantic_similarity_success_threshold.

_semantic_similarity_success_threshold puede ser una de las siguientes opciones:

semanticSimilaritySuccessThreshold

integer

Es opcional. Es el umbral de éxito para la similitud semántica. Debe ser un número entero entre 0 y 4. El valor predeterminado es >= 3.

Campo de unión _overall_tool_invocation_correctness_threshold.

_overall_tool_invocation_correctness_threshold puede ser una de las siguientes opciones:

overallToolInvocationCorrectnessThreshold

number

Es opcional. Es el umbral de éxito para la corrección general de la invocación de la herramienta. Debe ser un número de punto flotante entre 0 y 1. El valor predeterminado es 1.0.

ExpectationLevelMetricsThresholds

Representación JSON
{

  // Union field _tool_invocation_parameter_correctness_threshold can be only one
  // of the following:
  "toolInvocationParameterCorrectnessThreshold": number
  // End of list of possible types for union field
  // _tool_invocation_parameter_correctness_threshold.
}
Campos

Campo de unión _tool_invocation_parameter_correctness_threshold.

_tool_invocation_parameter_correctness_threshold puede ser una de las siguientes opciones:

toolInvocationParameterCorrectnessThreshold

number

Es opcional. Es el umbral de éxito para la corrección de parámetros de invocación de herramientas individuales. Debe ser un número de punto flotante entre 0 y 1. El valor predeterminado es 1.0.

ToolMatchingSettings

Representación JSON
{
  "extraToolCallBehavior": enum (ExtraToolCallBehavior)
}
Campos
extraToolCallBehavior

enum (ExtraToolCallBehavior)

Es opcional. Comportamiento para las llamadas a herramientas adicionales. La configuración predeterminada es FAIL.

VariableDeclaration

Representación JSON
{
  "name": string,
  "description": string,
  "schema": {
    object (Schema)
  }
}
Campos
name

string

Obligatorio. Es el nombre de la variable. El nombre debe comenzar con una letra o un guion bajo, y solo puede contener letras, números o guiones bajos.

description

string

Obligatorio. Es la descripción de la variable.

schema

object (Schema)

Obligatorio. Es el esquema de la variable.

Esquema

Representación JSON
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
Campos
type

enum (Type)

Obligatorio. Es el tipo de datos.

properties

map (key: string, value: object (Schema))

Es opcional. Son las propiedades de Type.OBJECT.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Es opcional. Son las propiedades obligatorias de Type.OBJECT.

description

string

Es opcional. La descripción de los datos.

items

object (Schema)

Es opcional. Esquema de los elementos de Type.ARRAY.

nullable

boolean

Es opcional. Indica si el valor puede ser nulo.

uniqueItems

boolean

Es opcional. Indica que los elementos del array deben ser únicos. Solo se aplica a TYPE.ARRAY.

prefixItems[]

object (Schema)

Es opcional. Esquemas de los elementos iniciales de Type.ARRAY.

additionalProperties

object (Schema)

Es opcional. Puede ser un valor booleano o un objeto, y controla la presencia de propiedades adicionales.

anyOf[]

object (Schema)

Es opcional. El valor se debe validar con cualquiera de los subesquemas (uno o más) de la lista.

enum[]

string

Es opcional. Valores posibles del elemento de tipo primitivo con formato de enumeración. Ejemplos: 1. Podemos definir la dirección de la siguiente manera : {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. Podemos definir el número de apartamento de la siguiente manera : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Es opcional. Es el valor predeterminado de los datos.

ref

string

Es opcional. Permite referencias indirectas entre los nodos del esquema. El valor debe ser una referencia válida a un elemento secundario del defs raíz.

Por ejemplo, el siguiente esquema define una referencia a un nodo de esquema llamado "Pet":

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

El valor de la propiedad "pet" es una referencia al nodo del esquema llamado "Pet". Consulta los detalles en https://json-schema.org/understanding-json-schema/structuring.

defs

map (key: string, value: object (Schema))

Es opcional. Es un mapa de definiciones para que lo use ref. Solo se permite en la raíz del esquema.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Es opcional. Es el título del esquema.

minItems

string (int64 format)

Es opcional. Es la cantidad mínima de elementos para Type.ARRAY.

maxItems

string (int64 format)

Es opcional. Es la cantidad máxima de elementos para Type.ARRAY.

Campo de unión _minimum.

_minimum puede ser una de las siguientes opciones:

minimum

number

Es opcional. Es el valor mínimo para Type.INTEGER y Type.NUMBER.

Campo de unión _maximum.

_maximum puede ser una de las siguientes opciones:

maximum

number

Es opcional. Es el valor máximo para Type.INTEGER y Type.NUMBER.

PropertiesEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

Valor

Representación JSON
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
Campos
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes:
nullValue

null

Representa un valor nulo.

numberValue

number

Representa un valor doble.

stringValue

string

Representa un valor de cadena.

boolValue

boolean

Representa un valor booleano.

structValue

object (Struct format)

Representa un valor estructurado.

listValue

array (ListValue format)

Representa un Value repetido.

Struct

Representación JSON
{
  "fields": {
    string: value,
    ...
  }
}
Campos
fields

map (key: string, value: value (Value format))

Es un mapa no ordenado de valores escritos de forma dinámica.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

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

string

value

value (Value format)

ListValue

Representación JSON
{
  "values": [
    value
  ]
}
Campos
values[]

value (Value format)

Es un campo repetido de valores escritos de forma dinámica.

DefsEntry

Representación JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Campos
key

string

value

object (Schema)

DataStoreSettings

Representación JSON
{
  "engines": [
    {
      object (Engine)
    }
  ]
}
Campos
engines[]

object (Engine)

Solo salida. Son los motores de la app.

Motor

Representación JSON
{
  "name": string,
  "type": enum (Type)
}
Campos
name

string

Solo salida. Es el nombre del recurso del motor. Formato: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

type

enum (Type)

Solo salida. Es el tipo de motor.

ChannelProfile

Representación JSON
{
  "profileId": string,
  "channelType": enum (ChannelType),
  "personaProperty": {
    object (PersonaProperty)
  },
  "disableDtmf": boolean,
  "disableBargeInControl": boolean,
  "webWidgetConfig": {
    object (WebWidgetConfig)
  },
  "noiseSuppressionLevel": string
}
Campos
profileId

string

Es opcional. Es el identificador único del perfil del canal.

channelType

enum (ChannelType)

Es opcional. Es el tipo de perfil del canal.

personaProperty

object (PersonaProperty)

Es opcional. Es la propiedad de arquetipo del perfil del canal.

disableDtmf

boolean

Es opcional. Indica si se debe inhabilitar la señalización multifrecuencia de dos tonos (DTMF).

disableBargeInControl

boolean

Es opcional. Indica si se debe inhabilitar el control de interrupción del usuario en la conversación. - true: Las interrupciones del usuario se inhabilitan mientras el agente habla. - false: El agente conserva el control automático sobre cuándo puede interrumpir el usuario.

webWidgetConfig

object (WebWidgetConfig)

Es opcional. Es la configuración del widget web.

noiseSuppressionLevel

string

Es opcional. Es el nivel de reducción de ruido del perfil del canal. Los valores disponibles son "low", "moderate", "high" y "very_high".

PersonaProperty

Representación JSON
{
  "persona": enum (Persona)
}
Campos
persona

enum (Persona)

Es opcional. Es la personalidad del canal.

WebWidgetConfig

Representación JSON
{
  "modality": enum (Modality),
  "theme": enum (Theme),
  "webWidgetTitle": string,
  "securitySettings": {
    object (SecuritySettings)
  }
}
Campos
modality

enum (Modality)

Es opcional. Es la modalidad del widget web.

theme

enum (Theme)

Es opcional. Es el tema del widget web.

webWidgetTitle

string

Es opcional. Es el título del widget web.

securitySettings

object (SecuritySettings)

Es opcional. Es la configuración de seguridad del widget web.

SecuritySettings

Representación JSON
{
  "enablePublicAccess": boolean,
  "enableOriginCheck": boolean,
  "allowedOrigins": [
    string
  ],
  "enableRecaptcha": boolean
}
Campos
enablePublicAccess

boolean

Es opcional. Indica si está habilitado el acceso público al widget web. Si es true, se podrá acceder al widget web de forma pública. Si es false, el widget web debe integrarse con tu propio sistema de autenticación y autorización para devolver credenciales válidas para acceder al agente de CES.

enableOriginCheck

boolean

Es opcional. Indica si está habilitada la verificación de origen para el widget web. Si es true, el widget web verificará el origen del sitio web que carga el widget web y solo permitirá que se cargue en el mismo origen o en cualquiera de los orígenes permitidos.

allowedOrigins[]

string

Es opcional. Son los orígenes que pueden alojar el widget web. Un origen se define según el RFC 6454. Si está vacío, se permiten todos los orígenes. Se permite un máximo de 100 orígenes. Ejemplo: "https://example.com"

enableRecaptcha

boolean

Es opcional. Indica si está habilitada la verificación de reCAPTCHA para el widget web.

MetadataEntry

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

string

value

string

Marca de tiempo

Representación JSON
{
  "seconds": string,
  "nanos": integer
}
Campos
seconds

string (int64 format)

Representa los segundos de la hora UTC desde la época de Unix 1970-01-01T00:00:00Z. Debe estar entre -62135596800 y 253402300799 inclusive (lo que corresponde a 0001-01-01T00:00:00Z y 9999-12-31T23:59:59Z).

nanos

integer

Fracciones no negativas de un segundo a una resolución de nanosegundos. Este campo es la parte de la duración en nanosegundos, no una alternativa a los segundos. Los valores de segundos negativos con fracciones deben tener valores nanos no negativos que se cuentan hacia adelante en el tiempo. Debe ser un valor entre 0 y 999,999,999, inclusive.

ClientCertificateSettings

Representación JSON
{
  "tlsCertificate": string,
  "privateKey": string,
  "passphrase": string
}
Campos
tlsCertificate

string

Obligatorio. Certificado TLS codificado en formato PEM. Esta cadena debe incluir las líneas de encabezado de inicio y pie de página de finalización.

privateKey

string

Obligatorio. Nombre del recurso de la versión secreta de Secret Manager que almacena la clave privada codificada en formato PEM. Formato: projects/{project}/secrets/{secret}/versions/{version}

passphrase

string

Es opcional. Es el nombre del recurso de la versión secreta de Secret Manager que almacena la frase de contraseña para desencriptar la clave privada. Se debe dejar sin configurar si la clave privada no está encriptada. Formato: projects/{project}/secrets/{secret}/versions/{version}

Esquema de salida

Este recurso representa una operación de larga duración que es el resultado de una llamada a la API de la red.

Operación

Representación JSON
{
  "name": string,
  "metadata": {
    "@type": string,
    field1: ...,
    ...
  },
  "done": boolean,

  // Union field result can be only one of the following:
  "error": {
    object (Status)
  },
  "response": {
    "@type": string,
    field1: ...,
    ...
  }
  // End of list of possible types for union field result.
}
Campos
name

string

El nombre asignado por el servidor, que solo es único dentro del mismo servicio que lo muestra en un principio. Si usas la asignación HTTP predeterminada, el name debe ser un nombre de recurso que termine con operations/{unique_id}.

metadata

object

Metadatos específicos del servicio asociados con la operación. Por lo general, contiene información de progreso y metadatos comunes, como la fecha de creación. Puede que algunos servicios no proporcionen estos metadatos. Cualquier método que muestra una operación de larga duración debe documentar el tipo de metadatos, si corresponde.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

done

boolean

Si el valor es false, significa que la operación aún está en progreso. Si es true, la operación está completa, y error o response están disponibles.

Campo de unión result. El resultado de la operación, que puede ser un error o una response válida. Si done == false, no se establecen error ni response. Si done == true, se puede establecer error o response. Es posible que algunos servicios no proporcionen el resultado. result puede ser solo uno de los siguientes:
error

object (Status)

El resultado de error de la operación en caso de falla o cancelación.

response

object

Es la respuesta normal y correcta de la operación. Si el método original no devuelve datos en caso de éxito, como Delete, la respuesta es google.protobuf.Empty. Si el método original es Get, Create o Update estándar, la respuesta debe ser el recurso. Para otros métodos, la respuesta debe tener el tipo XxxResponse, en la que Xxx es el nombre del método original. Por ejemplo, si el nombre del método original es TakeSnapshot(), el tipo de respuesta inferido es TakeSnapshotResponse.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Cualquiera

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

string

Identifica el tipo del mensaje serializado de Protobuf con una referencia de URI que consta de un prefijo que termina en una barra y el nombre del tipo completamente calificado.

Ejemplo: type.googleapis.com/google.protobuf.StringValue

Esta cadena debe contener al menos un carácter /, y el contenido después del último / debe ser el nombre completamente calificado del tipo en formato canónico, sin un punto inicial. No escribas un esquema en estas referencias de URI para que los clientes no intenten comunicarse con ellas.

El prefijo es arbitrario, y se espera que las implementaciones de Protobuf simplemente quiten todo hasta el último / inclusive para identificar el tipo. type.googleapis.com/ es un prefijo predeterminado común que requieren algunas implementaciones heredadas. Este prefijo no indica el origen del tipo, y no se espera que los URIs que lo contienen respondan a ninguna solicitud.

Todas las cadenas de URL de tipo deben ser referencias URI legales con la restricción adicional (para el formato de texto) de que el contenido de la referencia solo debe constar de caracteres alfanuméricos, escapes codificados como porcentaje y caracteres del siguiente conjunto (sin incluir las comillas invertidas externas): /-.~_!$&()*+,;=. A pesar de que permitimos la codificación de porcentaje, las implementaciones no deben decodificarlas para evitar confusiones con los analizadores existentes. Por ejemplo, se debe rechazar type.googleapis.com%2FFoo.

En el diseño original de Any, se consideró la posibilidad de lanzar un servicio de resolución de tipos en estas URLs de tipos, pero Protobuf nunca implementó uno y considera que contactar estas URLs es problemático y un posible problema de seguridad. No intentes comunicarte con URLs de tipo.

value

string (bytes format)

Contiene una serialización de Protobuf del tipo que describe type_url.

Es una cadena codificada en Base64.

Estado

Representación JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Campos
code

integer

El código de estado, que debe ser un valor enum de google.rpc.Code.

message

string

Un mensaje de error dirigido al desarrollador, que debe estar en inglés. Cualquier mensaje de error dirigido al usuario debe localizarse y enviarse al campo google.rpc.Status.details; o el cliente debe localizarlo.

details[]

object

Una lista de mensajes que contienen los detalles del error. Hay un conjunto común de tipos de mensajes para que usen las API.

Un objeto que contiene campos de un tipo arbitrario. Un campo adicional "@type" contiene una URI que identifica el tipo. Ejemplo: { "id": 1234, "@type": "types.example.com/standard/id" }.

Anotaciones de herramientas

Sugerencia destructiva: ✅ | Sugerencia idempotente: ❌ | Sugerencia de solo lectura: ❌ | Sugerencia de mundo abierto: ❌