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 ( |
| Campos | |
|---|---|
parent |
Obligatorio. Es la app principal. El formato es |
deploymentId |
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 |
Obligatorio. Es la implementación que se creará. |
Implementación
| Representación JSON |
|---|
{ "name": string, "displayName": string, "appVersion": string, "channelProfile": { object ( |
| Campos | |
|---|---|
name |
Es el identificador. Es el nombre del recurso de la implementación. Formato: |
displayName |
Obligatorio. Es el nombre visible de la implementación. |
appVersion |
Es opcional. Es el nombre del recurso de la versión de la app que se implementará. Formato: |
channelProfile |
Obligatorio. Es el perfil del canal que se usa en la implementación. |
createTime |
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: |
updateTime |
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: |
etag |
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 |
Es opcional. Es la configuración del experimento para la implementación. |
ChannelProfile
| Representación JSON |
|---|
{ "profileId": string, "channelType": enum ( |
| Campos | |
|---|---|
profileId |
Es opcional. Es el identificador único del perfil del canal. |
channelType |
Es opcional. Es el tipo de perfil del canal. |
personaProperty |
Es opcional. Es la propiedad de arquetipo del perfil del canal. |
disableDtmf |
Es opcional. Indica si se debe inhabilitar la señalización multifrecuencia de dos tonos (DTMF). |
disableBargeInControl |
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 |
Es opcional. Es la configuración del widget web. |
noiseSuppressionLevel |
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 ( |
| Campos | |
|---|---|
persona |
Es opcional. Es la personalidad del canal. |
WebWidgetConfig
| Representación JSON |
|---|
{ "modality": enum ( |
| Campos | |
|---|---|
modality |
Es opcional. Es la modalidad del widget web. |
theme |
Es opcional. Es el tema del widget web. |
webWidgetTitle |
Es opcional. Es el título del widget web. |
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 |
Es opcional. Indica si está habilitado el acceso público al widget web. Si es |
enableOriginCheck |
Es opcional. Indica si la verificación de origen para el widget web está habilitada. Si es |
allowedOrigins[] |
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 |
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 |
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 |
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 ( |
| Campos | |
|---|---|
versionRelease |
Es opcional. Es la versión de lanzamiento del experimento. |
VersionRelease
| Representación JSON |
|---|
{ "state": enum ( |
| Campos | |
|---|---|
state |
Es opcional. Es el estado de la versión. |
trafficAllocations[] |
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 |
Es opcional. Es el ID de la asignación de tráfico. Es una cadena de formato libre de hasta 128 caracteres. |
trafficPercentage |
Es opcional. Es el porcentaje de tráfico de la asignación de tráfico. Debe estar entre 0 y 100. |
appVersion |
Es opcional. Es la versión de la app de la asignación de tráfico. Formato: |
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 ( |
| Campos | |
|---|---|
name |
Es el identificador. Es el nombre del recurso de la implementación. Formato: |
displayName |
Obligatorio. Es el nombre visible de la implementación. |
appVersion |
Es opcional. Es el nombre del recurso de la versión de la app que se implementará. Formato: |
channelProfile |
Obligatorio. Es el perfil del canal que se usa en la implementación. |
createTime |
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: |
updateTime |
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: |
etag |
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 |
Es opcional. Es la configuración del experimento para la implementación. |
ChannelProfile
| Representación JSON |
|---|
{ "profileId": string, "channelType": enum ( |
| Campos | |
|---|---|
profileId |
Es opcional. Es el identificador único del perfil del canal. |
channelType |
Es opcional. Es el tipo de perfil del canal. |
personaProperty |
Es opcional. Es la propiedad de arquetipo del perfil del canal. |
disableDtmf |
Es opcional. Indica si se debe inhabilitar la señalización multifrecuencia de dos tonos (DTMF). |
disableBargeInControl |
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 |
Es opcional. Es la configuración del widget web. |
noiseSuppressionLevel |
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 ( |
| Campos | |
|---|---|
persona |
Es opcional. Es la personalidad del canal. |
WebWidgetConfig
| Representación JSON |
|---|
{ "modality": enum ( |
| Campos | |
|---|---|
modality |
Es opcional. Es la modalidad del widget web. |
theme |
Es opcional. Es el tema del widget web. |
webWidgetTitle |
Es opcional. Es el título del widget web. |
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 |
Es opcional. Indica si está habilitado el acceso público al widget web. Si es |
enableOriginCheck |
Es opcional. Indica si la verificación de origen para el widget web está habilitada. Si es |
allowedOrigins[] |
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 |
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 |
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 |
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 ( |
| Campos | |
|---|---|
versionRelease |
Es opcional. Es la versión de lanzamiento del experimento. |
VersionRelease
| Representación JSON |
|---|
{ "state": enum ( |
| Campos | |
|---|---|
state |
Es opcional. Es el estado de la versión. |
trafficAllocations[] |
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 |
Es opcional. Es el ID de la asignación de tráfico. Es una cadena de formato libre de hasta 128 caracteres. |
trafficPercentage |
Es opcional. Es el porcentaje de tráfico de la asignación de tráfico. Debe estar entre 0 y 100. |
appVersion |
Es opcional. Es la versión de la app de la asignación de tráfico. Formato: |
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: ❌