Ferramenta: create_deployment
Cria uma nova implantação no app especificado.
O exemplo a seguir demonstra como usar curl para invocar a ferramenta create_deployment MCP.
| Solicitação 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
Mensagem de solicitação para AgentService.CreateDeployment.
CreateDeploymentRequest
| Representação JSON |
|---|
{
"parent": string,
"deploymentId": string,
"deployment": {
object ( |
| Campos | |
|---|---|
parent |
Obrigatório. O app principal. Formato: |
deploymentId |
Opcional. O ID a ser usado na implantação, que se tornará o componente final do nome do recurso da implantação. Se não for fornecido, um ID exclusivo será atribuído automaticamente à implantação. |
deployment |
Obrigatório. A implantação a ser criada. |
Implantação
| Representação JSON |
|---|
{ "name": string, "displayName": string, "appVersion": string, "channelProfile": { object ( |
| Campos | |
|---|---|
name |
Identificador. O nome do recurso da implantação. Formato: |
displayName |
Obrigatório. Nome de exibição da implantação. |
appVersion |
Opcional. O nome do recurso da versão do app a ser implantada. Formato: |
channelProfile |
Obrigatório. O perfil do canal usado na implantação. |
createTime |
Apenas saída. Carimbo de data/hora em que a implantação foi criada. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
updateTime |
Apenas saída. Carimbo de data/hora em que essa implantação foi atualizada pela última vez. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
etag |
Apenas saída. Etag usada para garantir que o objeto não foi alterado durante uma operação de leitura-modificação-gravação. Se a ETag estiver vazia, a atualização vai substituir todas as mudanças simultâneas. |
experimentConfig |
Opcional. Configuração do experimento para a implantação. |
ChannelProfile
| Representação JSON |
|---|
{ "profileId": string, "channelType": enum ( |
| Campos | |
|---|---|
profileId |
Opcional. O identificador exclusivo do perfil do canal. |
channelType |
Opcional. O tipo do perfil do canal. |
personaProperty |
Opcional. A propriedade de persona do perfil do canal. |
disableDtmf |
Opcional. Indica se o DTMF (multifrequência de dois tons) será desativado. |
disableBargeInControl |
Opcional. Se o controle de interrupção do usuário na conversa deve ser desativado. - true: as interrupções do usuário são desativadas enquanto o agente está falando. - false: o agente mantém o controle automático sobre quando o usuário pode interromper. |
webWidgetConfig |
Opcional. A configuração do widget da Web. |
noiseSuppressionLevel |
Opcional. O nível de supressão de ruído do perfil do canal. Os valores disponíveis são "low", "moderate", "high" e "very_high". |
PersonaProperty
| Representação JSON |
|---|
{
"persona": enum ( |
| Campos | |
|---|---|
persona |
Opcional. A persona do canal. |
WebWidgetConfig
| Representação JSON |
|---|
{ "modality": enum ( |
| Campos | |
|---|---|
modality |
Opcional. A modalidade do widget da Web. |
theme |
Opcional. O tema do widget da Web. |
webWidgetTitle |
Opcional. O título do widget da Web. |
securitySettings |
Opcional. As configurações de segurança do widget da Web. |
SecuritySettings
| Representação JSON |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| Campos | |
|---|---|
enablePublicAccess |
Opcional. Indica se o acesso público ao widget da Web está ativado. Se for |
enableOriginCheck |
Opcional. Indica se a verificação de origem do widget da Web está ativada. Se |
allowedOrigins[] |
Opcional. As origens que podem hospedar o widget da Web. Uma origem é definida pela RFC 6454. Se estiver vazio, todas as origens serão permitidas. São permitidas no máximo 100 origens. Exemplo: "https://example.com" |
enableRecaptcha |
Opcional. Indica se a verificação reCAPTCHA para o widget da Web está ativada. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa estar entre 0 e 999.999.999 (inclusive). |
ExperimentConfig
| Representação JSON |
|---|
{
"versionRelease": {
object ( |
| Campos | |
|---|---|
versionRelease |
Opcional. Versão de lançamento do experimento. |
VersionRelease
| Representação JSON |
|---|
{ "state": enum ( |
| Campos | |
|---|---|
state |
Opcional. Estado do lançamento da versão. |
trafficAllocations[] |
Opcional. Alocações de tráfego para o lançamento da versão. |
TrafficAllocation
| Representação JSON |
|---|
{ "id": string, "trafficPercentage": integer, "appVersion": string } |
| Campos | |
|---|---|
id |
Opcional. ID da alocação de tráfego. String de formato livre, com até 128 caracteres. |
trafficPercentage |
Opcional. Porcentagem de tráfego da alocação de tráfego. Precisa ser entre 0 e 100. |
appVersion |
Opcional. Versão do app da alocação de tráfego. Formato: |
ChannelType
O tipo do perfil do canal.
| Tipos enumerados | |
|---|---|
UNKNOWN |
Tipo de canal desconhecido. |
WEB_UI |
Canal da interface da Web. |
API |
Canal da API. |
TWILIO |
Canal do Twilio. |
GOOGLE_TELEPHONY_PLATFORM |
Canal da plataforma de telefonia do Google. |
CONTACT_CENTER_AS_A_SERVICE |
Canal da central de atendimento como serviço (CCaaS). |
FIVE9 |
Canal da Five9. |
CONTACT_CENTER_INTEGRATION |
Canal de integração de central de atendimento de terceiros. |
Persona
A persona do canal.
| Tipos enumerados | |
|---|---|
UNKNOWN |
Perfil UNKNOWN. |
CONCISE |
O agente mantém as respostas concisas e diretas. |
CHATTY |
O agente fornece mais contexto, explicações e detalhes |
Modalidade
Modalidade do widget da Web.
| Tipos enumerados | |
|---|---|
MODALITY_UNSPECIFIED |
Modalidade desconhecida. |
CHAT_AND_VOICE |
O widget é compatível com entrada de texto e entrada de texto por voz. |
VOICE_ONLY |
O widget só aceita entrada de texto por voz. |
CHAT_ONLY |
O widget só aceita entrada de chat. |
CHAT_VOICE_AND_VIDEO |
O widget aceita entrada de texto, voz e vídeo. |
Tema
Tema do widget da Web.
| Tipos enumerados | |
|---|---|
THEME_UNSPECIFIED |
Tema desconhecido. |
LIGHT |
Tema claro. |
DARK |
Tema escuro. |
Estado
Estado do experimento.
| Tipos enumerados | |
|---|---|
STATE_UNSPECIFIED |
Estado não especificado. |
PENDING |
Estado pendente. O experimento está pendente e não é válido. |
RUNNING |
Estado de execução. O experimento está em execução e é válido. |
DONE |
Estado concluído. O experimento foi concluído e não é mais válido. |
EXPIRED |
Estado expirado. O experimento expirou e não é mais válido. |
Esquema de saída
Uma implantação representa uma versão imutável e consultável do app. Ela é usada para implantar uma versão do app com um perfil de canal específico.
Implantação
| Representação JSON |
|---|
{ "name": string, "displayName": string, "appVersion": string, "channelProfile": { object ( |
| Campos | |
|---|---|
name |
Identificador. O nome do recurso da implantação. Formato: |
displayName |
Obrigatório. Nome de exibição da implantação. |
appVersion |
Opcional. O nome do recurso da versão do app a ser implantada. Formato: |
channelProfile |
Obrigatório. O perfil do canal usado na implantação. |
createTime |
Apenas saída. Carimbo de data/hora em que a implantação foi criada. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
updateTime |
Apenas saída. Carimbo de data/hora em que essa implantação foi atualizada pela última vez. Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: |
etag |
Apenas saída. Etag usada para garantir que o objeto não foi alterado durante uma operação de leitura-modificação-gravação. Se a ETag estiver vazia, a atualização vai substituir todas as mudanças simultâneas. |
experimentConfig |
Opcional. Configuração do experimento para a implantação. |
ChannelProfile
| Representação JSON |
|---|
{ "profileId": string, "channelType": enum ( |
| Campos | |
|---|---|
profileId |
Opcional. O identificador exclusivo do perfil do canal. |
channelType |
Opcional. O tipo do perfil do canal. |
personaProperty |
Opcional. A propriedade de persona do perfil do canal. |
disableDtmf |
Opcional. Indica se o DTMF (multifrequência de dois tons) será desativado. |
disableBargeInControl |
Opcional. Se o controle de interrupção do usuário na conversa deve ser desativado. - true: as interrupções do usuário são desativadas enquanto o agente está falando. - false: o agente mantém o controle automático sobre quando o usuário pode interromper. |
webWidgetConfig |
Opcional. A configuração do widget da Web. |
noiseSuppressionLevel |
Opcional. O nível de supressão de ruído do perfil do canal. Os valores disponíveis são "low", "moderate", "high" e "very_high". |
PersonaProperty
| Representação JSON |
|---|
{
"persona": enum ( |
| Campos | |
|---|---|
persona |
Opcional. A persona do canal. |
WebWidgetConfig
| Representação JSON |
|---|
{ "modality": enum ( |
| Campos | |
|---|---|
modality |
Opcional. A modalidade do widget da Web. |
theme |
Opcional. O tema do widget da Web. |
webWidgetTitle |
Opcional. O título do widget da Web. |
securitySettings |
Opcional. As configurações de segurança do widget da Web. |
SecuritySettings
| Representação JSON |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| Campos | |
|---|---|
enablePublicAccess |
Opcional. Indica se o acesso público ao widget da Web está ativado. Se for |
enableOriginCheck |
Opcional. Indica se a verificação de origem do widget da Web está ativada. Se |
allowedOrigins[] |
Opcional. As origens que podem hospedar o widget da Web. Uma origem é definida pela RFC 6454. Se estiver vazio, todas as origens serão permitidas. São permitidas no máximo 100 origens. Exemplo: "https://example.com" |
enableRecaptcha |
Opcional. Indica se a verificação reCAPTCHA para o widget da Web está ativada. |
Carimbo de data/hora
| Representação JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campos | |
|---|---|
seconds |
Representa os segundos do horário UTC desde a época Unix 1970-01-01T00:00:00Z. Precisa estar entre -62135596800 e 253402300799 (o que corresponde a 0001-01-01T00:00:00Z a 9999-12-31T23:59:59Z). |
nanos |
Frações não negativas de um segundo com resolução de nanossegundos. Esse campo é a parte de nanossegundos da duração, não uma alternativa aos segundos. Os valores de segundos negativos com frações ainda precisam ter valores em nanossegundos não negativos que representam períodos posteriores. O valor precisa estar entre 0 e 999.999.999 (inclusive). |
ExperimentConfig
| Representação JSON |
|---|
{
"versionRelease": {
object ( |
| Campos | |
|---|---|
versionRelease |
Opcional. Versão de lançamento do experimento. |
VersionRelease
| Representação JSON |
|---|
{ "state": enum ( |
| Campos | |
|---|---|
state |
Opcional. Estado do lançamento da versão. |
trafficAllocations[] |
Opcional. Alocações de tráfego para o lançamento da versão. |
TrafficAllocation
| Representação JSON |
|---|
{ "id": string, "trafficPercentage": integer, "appVersion": string } |
| Campos | |
|---|---|
id |
Opcional. ID da alocação de tráfego. String de formato livre, com até 128 caracteres. |
trafficPercentage |
Opcional. Porcentagem de tráfego da alocação de tráfego. Precisa ser entre 0 e 100. |
appVersion |
Opcional. Versão do app da alocação de tráfego. Formato: |
ChannelType
O tipo do perfil do canal.
| Tipos enumerados | |
|---|---|
UNKNOWN |
Tipo de canal desconhecido. |
WEB_UI |
Canal da interface da Web. |
API |
Canal da API. |
TWILIO |
Canal do Twilio. |
GOOGLE_TELEPHONY_PLATFORM |
Canal da plataforma de telefonia do Google. |
CONTACT_CENTER_AS_A_SERVICE |
Canal da central de atendimento como serviço (CCaaS). |
FIVE9 |
Canal da Five9. |
CONTACT_CENTER_INTEGRATION |
Canal de integração de central de atendimento de terceiros. |
Persona
A persona do canal.
| Tipos enumerados | |
|---|---|
UNKNOWN |
Perfil UNKNOWN. |
CONCISE |
O agente mantém as respostas concisas e diretas. |
CHATTY |
O agente fornece mais contexto, explicações e detalhes |
Modalidade
Modalidade do widget da Web.
| Tipos enumerados | |
|---|---|
MODALITY_UNSPECIFIED |
Modalidade desconhecida. |
CHAT_AND_VOICE |
O widget é compatível com entrada de texto e entrada de texto por voz. |
VOICE_ONLY |
O widget só aceita entrada de texto por voz. |
CHAT_ONLY |
O widget só aceita entrada de chat. |
CHAT_VOICE_AND_VIDEO |
O widget aceita entrada de texto, voz e vídeo. |
Tema
Tema do widget da Web.
| Tipos enumerados | |
|---|---|
THEME_UNSPECIFIED |
Tema desconhecido. |
LIGHT |
Tema claro. |
DARK |
Tema escuro. |
Estado
Estado do experimento.
| Tipos enumerados | |
|---|---|
STATE_UNSPECIFIED |
Estado não especificado. |
PENDING |
Estado pendente. O experimento está pendente e não é válido. |
RUNNING |
Estado de execução. O experimento está em execução e é válido. |
DONE |
Estado concluído. O experimento foi concluído e não é mais válido. |
EXPIRED |
Estado expirado. O experimento expirou e não é mais válido. |
Anotações de ferramentas
Dica destrutiva: ✅ | Dica idempotente: ❌ | Dica somente leitura: ❌ | Dica de mundo aberto: ❌