MCP Tools Reference: ces.googleapis.com

Herramienta: create_deployment

Crea una implementación nueva en la app especificada.

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

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

Esquema de entrada

Mensaje de solicitud para AgentService.CreateDeployment.

CreateDeploymentRequest

Representación JSON
{
  "parent": string,
  "deploymentId": string,
  "deployment": {
    object (Deployment)
  }
}
Campos
parent

string

Obligatorio. Es la app principal. El formato es projects/{project}/locations/{location}/apps/{app}.

deploymentId

string

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

deployment

object (Deployment)

Obligatorio. Es la implementación que se creará.

Implementación

Representación JSON
{
  "name": string,
  "displayName": string,
  "appVersion": string,
  "channelProfile": {
    object (ChannelProfile)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "experimentConfig": {
    object (ExperimentConfig)
  }
}
Campos
name

string

Es el identificador. Es el nombre del recurso de la implementación. Formato: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

displayName

string

Obligatorio. Es el nombre visible de la implementación.

appVersion

string

Es opcional. Es el nombre del recurso de la versión de la app que se implementará. Formato: projects/{project}/locations/{location}/apps/{app}/versions/{version} Usa projects/{project}/locations/{location}/apps/{app}/versions/- para usar la app en borrador.

channelProfile

object (ChannelProfile)

Obligatorio. Es el perfil del canal que se usa en la implementación.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creación de esta implementación.

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. Es la marca de tiempo de la última actualización de esta implementación.

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.

experimentConfig

object (ExperimentConfig)

Es opcional. Es la configuración del experimento para la implementación.

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 está hablando. - 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, el widget web será de acceso público. 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 la verificación de origen para el widget web está habilitada. 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 en 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.

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 a 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.

ExperimentConfig

Representación JSON
{
  "versionRelease": {
    object (VersionRelease)
  }
}
Campos
versionRelease

object (VersionRelease)

Es opcional. Es la versión de lanzamiento del experimento.

VersionRelease

Representación JSON
{
  "state": enum (State),
  "trafficAllocations": [
    {
      object (TrafficAllocation)
    }
  ]
}
Campos
state

enum (State)

Es opcional. Es el estado de la versión.

trafficAllocations[]

object (TrafficAllocation)

Es opcional. Son las asignaciones de tráfico para el lanzamiento de la versión.

TrafficAllocation

Representación JSON
{
  "id": string,
  "trafficPercentage": integer,
  "appVersion": string
}
Campos
id

string

Es opcional. Es el ID de la asignación de tráfico. Es una cadena de formato libre de hasta 128 caracteres.

trafficPercentage

integer

Es opcional. Es el porcentaje de tráfico de la asignación de tráfico. Debe estar entre 0 y 100.

appVersion

string

Es opcional. Es la versión de la app de la asignación de tráfico. Formato: projects/{project}/locations/{location}/apps/{app}/versions/{version}

ChannelType

Es el tipo de perfil del canal.

Enums
UNKNOWN Tipo de canal desconocido.
WEB_UI Es el canal de la IU web.
API Canal de API
TWILIO Canal de Twilio.
GOOGLE_TELEPHONY_PLATFORM Canal de la Plataforma de Telefonía de Google
CONTACT_CENTER_AS_A_SERVICE Canal de centro de contacto como servicio (CCaaS).
FIVE9 Canal de Five9
CONTACT_CENTER_INTEGRATION Canal de integración del centro de contacto de terceros.

Personificación

Es la personalidad del canal.

Enums
UNKNOWN Arquetipo DESCONOCIDO.
CONCISE El agente mantiene las respuestas concisas y al grano.
CHATTY El agente proporciona contexto, explicaciones y detalles adicionales.

Modalidad

Es la modalidad del widget web.

Enums
MODALITY_UNSPECIFIED Modalidad desconocida.
CHAT_AND_VOICE El widget admite la entrada de voz y chat.
VOICE_ONLY El widget solo admite entrada de voz.
CHAT_ONLY El widget solo admite la entrada de chat.
CHAT_VOICE_AND_VIDEO El widget admite entradas de chat, voz y video.

Tema

Es el tema del widget web.

Enums
THEME_UNSPECIFIED Tema desconocido.
LIGHT Tema claro
DARK Tema oscuro

Estado

Es el estado del experimento.

Enums
STATE_UNSPECIFIED Significa que el estado no se especificó.
PENDING Estado pendiente. El experimento está pendiente y no es válido.
RUNNING Estado de ejecución. El experimento se está ejecutando y es válido.
DONE Estado de finalización. El experimento finalizó y ya no es válido.
EXPIRED Estado vencido. El experimento caducó y ya no es válido.

Esquema de salida

Una implementación representa una versión inmutable de la app que se puede consultar. Se usa para implementar una versión de la app con un perfil de canal específico.

Implementación

Representación JSON
{
  "name": string,
  "displayName": string,
  "appVersion": string,
  "channelProfile": {
    object (ChannelProfile)
  },
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "experimentConfig": {
    object (ExperimentConfig)
  }
}
Campos
name

string

Es el identificador. Es el nombre del recurso de la implementación. Formato: projects/{project}/locations/{location}/apps/{app}/deployments/{deployment}

displayName

string

Obligatorio. Es el nombre visible de la implementación.

appVersion

string

Es opcional. Es el nombre del recurso de la versión de la app que se implementará. Formato: projects/{project}/locations/{location}/apps/{app}/versions/{version} Usa projects/{project}/locations/{location}/apps/{app}/versions/- para usar la app en borrador.

channelProfile

object (ChannelProfile)

Obligatorio. Es el perfil del canal que se usa en la implementación.

createTime

string (Timestamp format)

Solo salida. Es la marca de tiempo de la creación de esta implementación.

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. Es la marca de tiempo de la última actualización de esta implementación.

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.

experimentConfig

object (ExperimentConfig)

Es opcional. Es la configuración del experimento para la implementación.

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 está hablando. - 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, el widget web será de acceso público. 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 la verificación de origen para el widget web está habilitada. 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 en 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.

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 a 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.

ExperimentConfig

Representación JSON
{
  "versionRelease": {
    object (VersionRelease)
  }
}
Campos
versionRelease

object (VersionRelease)

Es opcional. Es la versión de lanzamiento del experimento.

VersionRelease

Representación JSON
{
  "state": enum (State),
  "trafficAllocations": [
    {
      object (TrafficAllocation)
    }
  ]
}
Campos
state

enum (State)

Es opcional. Es el estado de la versión.

trafficAllocations[]

object (TrafficAllocation)

Es opcional. Son las asignaciones de tráfico para el lanzamiento de la versión.

TrafficAllocation

Representación JSON
{
  "id": string,
  "trafficPercentage": integer,
  "appVersion": string
}
Campos
id

string

Es opcional. Es el ID de la asignación de tráfico. Es una cadena de formato libre de hasta 128 caracteres.

trafficPercentage

integer

Es opcional. Es el porcentaje de tráfico de la asignación de tráfico. Debe estar entre 0 y 100.

appVersion

string

Es opcional. Es la versión de la app de la asignación de tráfico. Formato: projects/{project}/locations/{location}/apps/{app}/versions/{version}

ChannelType

Es el tipo de perfil del canal.

Enums
UNKNOWN Tipo de canal desconocido.
WEB_UI Es el canal de la IU web.
API Canal de API
TWILIO Canal de Twilio.
GOOGLE_TELEPHONY_PLATFORM Canal de la Plataforma de Telefonía de Google
CONTACT_CENTER_AS_A_SERVICE Canal de centro de contacto como servicio (CCaaS).
FIVE9 Canal de Five9
CONTACT_CENTER_INTEGRATION Canal de integración del centro de contacto de terceros.

Personificación

Es la personalidad del canal.

Enums
UNKNOWN Arquetipo DESCONOCIDO.
CONCISE El agente mantiene las respuestas concisas y al grano.
CHATTY El agente proporciona contexto, explicaciones y detalles adicionales.

Modalidad

Es la modalidad del widget web.

Enums
MODALITY_UNSPECIFIED Modalidad desconocida.
CHAT_AND_VOICE El widget admite la entrada de voz y chat.
VOICE_ONLY El widget solo admite entrada de voz.
CHAT_ONLY El widget solo admite la entrada de chat.
CHAT_VOICE_AND_VIDEO El widget admite entradas de chat, voz y video.

Tema

Es el tema del widget web.

Enums
THEME_UNSPECIFIED Tema desconocido.
LIGHT Tema claro
DARK Tema oscuro

Estado

Es el estado del experimento.

Enums
STATE_UNSPECIFIED Significa que el estado no se especificó.
PENDING Estado pendiente. El experimento está pendiente y no es válido.
RUNNING Estado de ejecución. El experimento se está ejecutando y es válido.
DONE Estado de finalización. El experimento finalizó y ya no es válido.
EXPIRED Estado vencido. El experimento caducó y ya no es válido.

Anotaciones de herramientas

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