Strumento: create_deployment
Crea un nuovo deployment nell'app specificata.
Il seguente esempio mostra come utilizzare curl per richiamare lo strumento MCP create_deployment.
| Curl Request |
|---|
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 }' |
Schema di input
Messaggio di richiesta per AgentService.CreateDeployment.
CreateDeploymentRequest
| Rappresentazione JSON |
|---|
{
"parent": string,
"deploymentId": string,
"deployment": {
object ( |
| Campi | |
|---|---|
parent |
Obbligatorio. L'app genitore. Formato: |
deploymentId |
Facoltativo. L'ID da utilizzare per il deployment, che diventerà il componente finale del nome della risorsa del deployment. Se non viene fornito, verrà assegnato automaticamente un ID univoco per il deployment. |
deployment |
Obbligatorio. Il deployment da creare. |
Deployment
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "appVersion": string, "channelProfile": { object ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome della risorsa del deployment. Formato: |
displayName |
Obbligatorio. Il nome visualizzato del deployment. |
appVersion |
Facoltativo. Il nome risorsa della versione dell'app di cui eseguire il deployment. Formato: |
channelProfile |
Obbligatorio. Il profilo del canale utilizzato nel deployment. |
createTime |
Solo output. Timestamp di creazione di questo deployment. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
updateTime |
Solo output. Timestamp dell'ultimo aggiornamento di questo deployment. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
etag |
Solo output. Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee. |
experimentConfig |
Facoltativo. Configurazione dell'esperimento per il deployment. |
ChannelProfile
| Rappresentazione JSON |
|---|
{ "profileId": string, "channelType": enum ( |
| Campi | |
|---|---|
profileId |
Facoltativo. L'identificatore univoco del profilo del canale. |
channelType |
Facoltativo. Il tipo di profilo del canale. |
personaProperty |
Facoltativo. La proprietà della persona del profilo del canale. |
disableDtmf |
Facoltativo. Indica se disattivare il DTMF (multi-frequenza a due toni). |
disableBargeInControl |
Facoltativo. Se disattivare il controllo dell'interruzione da parte dell'utente nella conversazione. - true: le interruzioni dell'utente sono disattivate mentre l'agente parla. - false: l'agente mantiene il controllo automatico su quando l'utente può interrompere. |
webWidgetConfig |
Facoltativo. La configurazione del widget web. |
noiseSuppressionLevel |
Facoltativo. Il livello di eliminazione del rumore del profilo del canale. I valori disponibili sono "low", "moderate", "high", "very_high". |
PersonaProperty
| Rappresentazione JSON |
|---|
{
"persona": enum ( |
| Campi | |
|---|---|
persona |
Facoltativo. La personalità del canale. |
WebWidgetConfig
| Rappresentazione JSON |
|---|
{ "modality": enum ( |
| Campi | |
|---|---|
modality |
Facoltativo. La modalità del widget web. |
theme |
Facoltativo. Il tema del widget web. |
webWidgetTitle |
Facoltativo. Il titolo del widget web. |
securitySettings |
Facoltativo. Le impostazioni di sicurezza del widget web. |
SecuritySettings
| Rappresentazione JSON |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| Campi | |
|---|---|
enablePublicAccess |
Facoltativo. Indica se l'accesso pubblico al widget web è abilitato. Se |
enableOriginCheck |
Facoltativo. Indica se il controllo dell'origine per il widget web è abilitato. Se |
allowedOrigins[] |
Facoltativo. Le origini autorizzate a ospitare il widget web. Un'origine è definita dalla RFC 6454. Se vuoto, tutte le origini sono consentite. Sono consentite massimo 100 origini. Esempio: "https://example.com" |
enableRecaptcha |
Facoltativo. Indica se la verifica reCAPTCHA per il widget web è abilitata. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi del tempo UTC a partire dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
ExperimentConfig
| Rappresentazione JSON |
|---|
{
"versionRelease": {
object ( |
| Campi | |
|---|---|
versionRelease |
Facoltativo. Versione rilasciata per l'esperimento. |
VersionRelease
| Rappresentazione JSON |
|---|
{ "state": enum ( |
| Campi | |
|---|---|
state |
Facoltativo. Lo stato del rilascio della versione. |
trafficAllocations[] |
Facoltativo. Allocazioni del traffico per il rilascio della versione. |
TrafficAllocation
| Rappresentazione JSON |
|---|
{ "id": string, "trafficPercentage": integer, "appVersion": string } |
| Campi | |
|---|---|
id |
Facoltativo. ID dell'assegnazione del traffico. Stringa in formato libero, fino a 128 caratteri. |
trafficPercentage |
Facoltativo. Percentuale di traffico dell'assegnazione del traffico. Deve essere compreso tra 0 e 100. |
appVersion |
Facoltativo. Versione dell'app dell'assegnazione del traffico. Formato: |
ChannelType
Il tipo di profilo del canale.
| Enum | |
|---|---|
UNKNOWN |
Tipo di canale sconosciuto. |
WEB_UI |
Canale UI web. |
API |
Canale API. |
TWILIO |
Canale Twilio. |
GOOGLE_TELEPHONY_PLATFORM |
Canale della piattaforma di telefonia Google. |
CONTACT_CENTER_AS_A_SERVICE |
Canale Contact Center as a Service (CCaaS). |
FIVE9 |
Canale Five9. |
CONTACT_CENTER_INTEGRATION |
Canale di integrazione del contact center di terze parti. |
Utente tipo
La personalità del canale.
| Enum | |
|---|---|
UNKNOWN |
Utente tipo SCONOSCIUTO. |
CONCISE |
L'agente mantiene le risposte concise e pertinenti |
CHATTY |
L'agente fornisce contesto, spiegazioni e dettagli aggiuntivi |
Modalità
Modalità del widget web.
| Enum | |
|---|---|
MODALITY_UNSPECIFIED |
Modalità sconosciuta. |
CHAT_AND_VOICE |
Il widget supporta sia l'input vocale che quello tramite chat. |
VOICE_ONLY |
Il widget supporta solo l'input vocale. |
CHAT_ONLY |
Il widget supporta solo l'input della chat. |
CHAT_VOICE_AND_VIDEO |
Il widget supporta l'input di chat, voce e video. |
Tema
Il tema del widget web.
| Enum | |
|---|---|
THEME_UNSPECIFIED |
Tema sconosciuto. |
LIGHT |
Tema chiaro. |
DARK |
Tema scuro. |
Stato
Stato dell'esperimento.
| Enum | |
|---|---|
STATE_UNSPECIFIED |
Stato non specificato. |
PENDING |
Stato in attesa. L'esperimento è in attesa e non è valido. |
RUNNING |
Stato di esecuzione. L'esperimento è in corso ed è valido. |
DONE |
Stato completato. L'esperimento è terminato e non è più valido. |
EXPIRED |
Stato scaduto. L'esperimento è scaduto e non è più valido. |
Schema di output
Un deployment rappresenta una versione immutabile e interrogabile dell'app. Viene utilizzato per eseguire il deployment di una versione dell'app con un profilo del canale specifico.
Deployment
| Rappresentazione JSON |
|---|
{ "name": string, "displayName": string, "appVersion": string, "channelProfile": { object ( |
| Campi | |
|---|---|
name |
Identificatore. Il nome della risorsa del deployment. Formato: |
displayName |
Obbligatorio. Il nome visualizzato del deployment. |
appVersion |
Facoltativo. Il nome risorsa della versione dell'app di cui eseguire il deployment. Formato: |
channelProfile |
Obbligatorio. Il profilo del canale utilizzato nel deployment. |
createTime |
Solo output. Timestamp di creazione di questo deployment. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
updateTime |
Solo output. Timestamp dell'ultimo aggiornamento di questo deployment. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
etag |
Solo output. Etag utilizzato per garantire che l'oggetto non sia stato modificato durante un'operazione di lettura, modifica e scrittura. Se l'etag è vuoto, l'aggiornamento sovrascriverà eventuali modifiche simultanee. |
experimentConfig |
Facoltativo. Configurazione dell'esperimento per il deployment. |
ChannelProfile
| Rappresentazione JSON |
|---|
{ "profileId": string, "channelType": enum ( |
| Campi | |
|---|---|
profileId |
Facoltativo. L'identificatore univoco del profilo del canale. |
channelType |
Facoltativo. Il tipo di profilo del canale. |
personaProperty |
Facoltativo. La proprietà della persona del profilo del canale. |
disableDtmf |
Facoltativo. Indica se disattivare il DTMF (multi-frequenza a due toni). |
disableBargeInControl |
Facoltativo. Se disattivare il controllo dell'interruzione da parte dell'utente nella conversazione. - true: le interruzioni dell'utente sono disattivate mentre l'agente parla. - false: l'agente mantiene il controllo automatico su quando l'utente può interrompere. |
webWidgetConfig |
Facoltativo. La configurazione del widget web. |
noiseSuppressionLevel |
Facoltativo. Il livello di eliminazione del rumore del profilo del canale. I valori disponibili sono "low", "moderate", "high", "very_high". |
PersonaProperty
| Rappresentazione JSON |
|---|
{
"persona": enum ( |
| Campi | |
|---|---|
persona |
Facoltativo. La personalità del canale. |
WebWidgetConfig
| Rappresentazione JSON |
|---|
{ "modality": enum ( |
| Campi | |
|---|---|
modality |
Facoltativo. La modalità del widget web. |
theme |
Facoltativo. Il tema del widget web. |
webWidgetTitle |
Facoltativo. Il titolo del widget web. |
securitySettings |
Facoltativo. Le impostazioni di sicurezza del widget web. |
SecuritySettings
| Rappresentazione JSON |
|---|
{ "enablePublicAccess": boolean, "enableOriginCheck": boolean, "allowedOrigins": [ string ], "enableRecaptcha": boolean } |
| Campi | |
|---|---|
enablePublicAccess |
Facoltativo. Indica se l'accesso pubblico al widget web è abilitato. Se |
enableOriginCheck |
Facoltativo. Indica se il controllo dell'origine per il widget web è abilitato. Se |
allowedOrigins[] |
Facoltativo. Le origini autorizzate a ospitare il widget web. Un'origine è definita dalla RFC 6454. Se vuoto, tutte le origini sono consentite. Sono consentite massimo 100 origini. Esempio: "https://example.com" |
enableRecaptcha |
Facoltativo. Indica se la verifica reCAPTCHA per il widget web è abilitata. |
Timestamp
| Rappresentazione JSON |
|---|
{ "seconds": string, "nanos": integer } |
| Campi | |
|---|---|
seconds |
Rappresenta i secondi del tempo UTC a partire dall'epoca Unix 1970-01-01T00:00:00Z. Deve essere compreso tra -62135596800 e 253402300799 inclusi (corrispondenti a 0001-01-01T00:00:00Z e 9999-12-31T23:59:59Z). |
nanos |
Frazioni di secondo non negative con risoluzione in nanosecondi. Questo campo è la porzione di nanosecondi della durata, non un'alternativa ai secondi. I valori negativi dei secondi con frazioni devono comunque avere valori di nanosecondi non negativi che vengono conteggiati in avanti nel tempo. Deve essere compreso tra 0 e 999.999.999 inclusi. |
ExperimentConfig
| Rappresentazione JSON |
|---|
{
"versionRelease": {
object ( |
| Campi | |
|---|---|
versionRelease |
Facoltativo. Versione rilasciata per l'esperimento. |
VersionRelease
| Rappresentazione JSON |
|---|
{ "state": enum ( |
| Campi | |
|---|---|
state |
Facoltativo. Lo stato del rilascio della versione. |
trafficAllocations[] |
Facoltativo. Allocazioni del traffico per il rilascio della versione. |
TrafficAllocation
| Rappresentazione JSON |
|---|
{ "id": string, "trafficPercentage": integer, "appVersion": string } |
| Campi | |
|---|---|
id |
Facoltativo. ID dell'assegnazione del traffico. Stringa in formato libero, fino a 128 caratteri. |
trafficPercentage |
Facoltativo. Percentuale di traffico dell'assegnazione del traffico. Deve essere compreso tra 0 e 100. |
appVersion |
Facoltativo. Versione dell'app dell'assegnazione del traffico. Formato: |
ChannelType
Il tipo di profilo del canale.
| Enum | |
|---|---|
UNKNOWN |
Tipo di canale sconosciuto. |
WEB_UI |
Canale UI web. |
API |
Canale API. |
TWILIO |
Canale Twilio. |
GOOGLE_TELEPHONY_PLATFORM |
Canale della piattaforma di telefonia Google. |
CONTACT_CENTER_AS_A_SERVICE |
Canale Contact Center as a Service (CCaaS). |
FIVE9 |
Canale Five9. |
CONTACT_CENTER_INTEGRATION |
Canale di integrazione del contact center di terze parti. |
Utente tipo
La personalità del canale.
| Enum | |
|---|---|
UNKNOWN |
Utente tipo SCONOSCIUTO. |
CONCISE |
L'agente mantiene le risposte concise e pertinenti |
CHATTY |
L'agente fornisce contesto, spiegazioni e dettagli aggiuntivi |
Modalità
Modalità del widget web.
| Enum | |
|---|---|
MODALITY_UNSPECIFIED |
Modalità sconosciuta. |
CHAT_AND_VOICE |
Il widget supporta sia l'input vocale che quello tramite chat. |
VOICE_ONLY |
Il widget supporta solo l'input vocale. |
CHAT_ONLY |
Il widget supporta solo l'input della chat. |
CHAT_VOICE_AND_VIDEO |
Il widget supporta l'input di chat, voce e video. |
Tema
Il tema del widget web.
| Enum | |
|---|---|
THEME_UNSPECIFIED |
Tema sconosciuto. |
LIGHT |
Tema chiaro. |
DARK |
Tema scuro. |
Stato
Stato dell'esperimento.
| Enum | |
|---|---|
STATE_UNSPECIFIED |
Stato non specificato. |
PENDING |
Stato in attesa. L'esperimento è in attesa e non è valido. |
RUNNING |
Stato di esecuzione. L'esperimento è in corso ed è valido. |
DONE |
Stato completato. L'esperimento è terminato e non è più valido. |
EXPIRED |
Stato scaduto. L'esperimento è scaduto e non è più valido. |
Annotazioni dello strumento
Suggerimento distruttivo: ✅ | Suggerimento idempotente: ❌ | Suggerimento di sola lettura: ❌ | Suggerimento open world: ❌