REST Resource: projects.locations.brands.channelConfigs

Risorsa: ChannelConfig

Una configurazione del canale rappresenta una configurazione della strategia operativa. Ciclo di vita della configurazione del canale: * BOZZA: una configurazione è in stato di bozza quando non ha regole di applicazione della configurazione associate e non è impostata come configurazione predefinita per il brand. * ATTIVA: una configurazione è in stato attivo quando è associata a una regola di applicazione della configurazione o è impostata come predefinita per il brand. * Quando è attivo, il runtime applica la configurazione del canale ai negozi corrispondenti. Per garantire la flessibilità, la relazione tra la configurazione del canale e la regola di applicazione della configurazione è di tipo one-to-many su ogni livello di risorsa: * A livello di brand, esiste una relazione di tipo one-to-many tra le configurazioni del canale e le regole di applicazione della configurazione. * A livello di negozio, esiste un'altra relazione one-to-many tra le configurazioni dei canali e le regole di applicazione della configurazione. Quando sono applicabili più configurazioni di canale, il runtime determina la configurazione da applicare in base al seguente ordine di precedenza (l'ultima sovrascrive la precedente in caso di conflitto): 1. Brand-level default 2. Associazione a livello di brand 3. Impostazione predefinita a livello di negozio 4. Associazione a livello di negozio

Rappresentazione JSON
{
  "name": string,
  "displayName": string,
  "createTime": string,
  "updateTime": string,
  "operationsConfig": {
    object (OperationsConfig)
  },
  "state": enum (State),
  "type": enum (Type),
  "supplementalInstructions": {
    object (SupplementalInstructions)
  },
  "tone": enum (Tone),
  "configApplicationRules": [
    {
      object (ConfigApplicationRule)
    }
  ]
}
Campi
name

string

Identificatore. Il nome della configurazione del canale. Formato: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channelConfig}

displayName

string

Facoltativo. Nome visualizzato facoltativo per questa configurazione del canale per le interfacce utente. Il valore è limitato a 63 caratteri.

createTime

string (Timestamp format)

Solo output. L'ora in cui è stata creata questa configurazione del canale.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. La data e l'ora dell'ultimo aggiornamento della configurazione del canale.

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: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

operationsConfig

object (OperationsConfig)

Facoltativo. La strategia operativa per la configurazione del canale.

state

enum (State)

Solo output. Lo stato della configurazione del canale.

type

enum (Type)

Obbligatorio. Il tipo di configurazione del canale.

supplementalInstructions

object (SupplementalInstructions)

Facoltativo. Istruzioni supplementari per la configurazione del canale.

tone

enum (Tone)

Facoltativo. Il tono dell'agente.

configApplicationRules[]

object (ConfigApplicationRule)

Solo output. Le regole di applicazione della configurazione associate a questa configurazione del canale.

OperationsConfig

Configurazioni per la definizione di una strategia operativa.

Rappresentazione JSON
{
  "displayName": string,
  "description": string,
  "upsellStrategy": {
    object (UpsellStrategy)
  },
  "greetings": [
    {
      object (Greetings)
    }
  ],
  "defaultLanguageCode": string,
  "featuresConfig": {
    object (FeaturesConfig)
  },
  "interactionMode": enum (InteractionMode),
  "disambiguationStrategy": {
    object (DisambiguationStrategy)
  }
}
Campi
displayName

string

Facoltativo. Il nome di questa strategia operativa.

description

string

Facoltativo. Una descrizione di questa strategia operativa.

upsellStrategy

object (UpsellStrategy)

Facoltativo. Configurazione per il comportamento di upsell.

greetings[]

object (Greetings)

Facoltativo. Messaggi di saluto personalizzati da utilizzare (per lingua).

defaultLanguageCode

string

Facoltativo. La lingua predefinita da utilizzare per l'assistenza ai clienti.

featuresConfig

object (FeaturesConfig)

Facoltativo. Configurazione delle funzionalità dell'agente.

interactionMode

enum (InteractionMode)

Facoltativo. La modalità di interazione dell'agente.

disambiguationStrategy

object (DisambiguationStrategy)

Facoltativo. Configurazione della strategia per il controllo di disambiguazione.

UpsellStrategy

Definisce la strategia di upselling.

Rappresentazione JSON
{
  "maxUpsellOffers": integer,
  "maxUpsellDeclines": integer,
  "maxItemsInCart": integer,
  "upsells": [
    {
      object (UpsellConfig)
    }
  ],
  "cateringGuidelines": string
}
Campi
maxUpsellOffers

integer

Facoltativo. Il numero massimo di offerte di upsell da presentare per sessione.

maxUpsellDeclines

integer

Facoltativo. Il numero massimo di volte in cui un cliente può rifiutare un upsell prima che gli upsell successivi vengano ignorati per la sessione corrente.

maxItemsInCart

integer

Facoltativo. Il numero massimo di articoli consentiti nel carrello prima che vengano saltati ulteriori upsell per la sessione corrente.

upsells[]

object (UpsellConfig)

Facoltativo. Gli upsell configurati.

cateringGuidelines

string

Facoltativo. Rappresenta un insieme di testo che rappresenta i calcoli di pubblicazione generati offline e le regole di ordinamento dei gruppi per questo menu. Letto dall'LLM conversazionale.

UpsellConfig

Definisce la configurazione di un'istanza di upsell.

Rappresentazione JSON
{
  "displayName": string,
  "priority": integer,
  "skipOnMultiQuantityUpsoldFromItem": boolean,
  "skipOnPreviousTurnUpsell": boolean,
  "disabled": boolean,

  // Union field upsell_type_config can be only one of the following:
  "greetingOffer": {
    object (GreetingOffer)
  },
  "closingOffer": {
    object (ClosingOffer)
  },
  "celUpsell": {
    object (CelUpsell)
  }
  // End of list of possible types for union field upsell_type_config.
}
Campi
displayName

string

Facoltativo. Nome dell'upsell. Viene utilizzato per la visualizzazione della UI, nonché per l'aggregazione e l'analisi delle metriche.

priority

integer

Obbligatorio. Numero che rappresenta l'ordine di priorità della configurazione di upsell rispetto a tutti gli altri UpsellConfig all'interno di una determinata UpsellStrategy. L'upsell degli UpsellConfig con priorità più alta verrà tentato prima di quelli con priorità più bassa.

  • I valori possono essere compresi nell'intervallo [1, inf).
  • I valori più bassi hanno una priorità più alta. Ad esempio, un UpsellConfig con priorità 1 in un UpsellStrategy verrà sempre tentato per primo.
  • All'interno di un UpsellStrategy, ogni UpsellConfig deve avere una priorità con un valore univoco (ad esempio, solo un UpsellConfig può avere una priorità pari a 3).
  • I valori di priorità non devono necessariamente essere contigui all'interno di un UpsellStrategy (ad esempio, possono esserci UpsellConfig con valori di priorità: {1, 2, 5, 6, 9}). La precedenza delle configurazioni di upsell viene determinata su base relativa (dall'esempio precedente: 1 < 2 < 5 < 6 < 9).
skipOnMultiQuantityUpsoldFromItem

boolean

Facoltativo. Indica se saltare questo upsell se l'articolo da cui eseguire l'upsell ha una quantità > 1. Questa configurazione si applica solo ai tipi di upsell pertinenti: - Da articolo a combinazione - Combinazione di dimensioni maggiori - Modificatore aggiuntivo - Bevanda combinata - Articolo di dimensioni maggiori - Variante combinata - Attivato dall'articolo

skipOnPreviousTurnUpsell

boolean

Facoltativo. Indica se saltare questo upsell se il turno di conversazione precedente era un upsell.

disabled

boolean

Facoltativo. Indica se il tipo di upsell è disattivato. Se impostato su true, l'upsell non verrà tentato. Questa configurazione è utile per disattivare un tipo di upsell nell'ambito di un override della regola di applicazione della configurazione.

Campo unione upsell_type_config. La configurazione specifica per tipo dell'upsell. upsell_type_config può essere solo uno dei seguenti tipi:
greetingOffer

object (GreetingOffer)

Fai l'upselling di articoli specifici come parte del messaggio di benvenuto dell'agente.

closingOffer

object (ClosingOffer)

Fai l'upselling di articoli specifici dopo che un cliente ha completato l'ordine.

celUpsell

object (CelUpsell)

Regola di upsell valutata dinamicamente in base al Common Expression Language (CEL).

GreetingOffer

Fai l'upselling di articoli specifici come parte del messaggio di benvenuto dell'agente.

Rappresentazione JSON
{
  "messages": [
    {
      object (OfferMessage)
    }
  ]
}
Campi
messages[]

object (OfferMessage)

Obbligatorio. Messaggi di saluto per l'upsell da utilizzare.

OfferMessage

Configurazione comune per i messaggi di saluto e di chiusura dell'offerta.

Rappresentazione JSON
{
  "displayName": string,
  "messageFrequency": number,
  "upsoldItems": [
    string
  ],
  "messageConfigs": [
    {
      object (MessageConfig)
    }
  ],
  "upsoldItemIds": [
    string
  ]
}
Campi
displayName

string

Facoltativo. Nome da utilizzare per la visualizzazione e l'analisi.

messageFrequency

number

Facoltativo. Frazione del tempo di utilizzo di questo messaggio. Ad esempio, un valore messageFrequency pari a 0,2 significa che questo messaggio verrà utilizzato per il 20% delle sessioni. Se tutti i valori messageFrequency non sono impostati (0.0), ogni messaggio verrà utilizzato per una proporzione di sessioni pari a 1/n, dove n è il numero di OfferMessage configurati per il tipo di offerta. Se vengono impostati solo alcuni valori messageFrequency, gli OfferMessage con valori messageFrequency non impostati non verranno utilizzati.

upsoldItems[]

string

Facoltativo. Nomi degli articoli oggetto di upselling in questo messaggio. Imposta questo valore O upsoldItemIds, ma non entrambi.

messageConfigs[]

object (MessageConfig)

Obbligatorio. Messaggi di upsell per lingua.

upsoldItemIds[]

string

Facoltativo. ID degli articoli oggetto di upsell in questo messaggio. Imposta questo campo O upsoldItems, ma non entrambi.

MessageConfig

Messaggio specifico per la lingua da utilizzare per un upsell.

Rappresentazione JSON
{
  "languageCode": string,
  "messageText": string
}
Campi
languageCode

string

Obbligatorio. Codice della lingua da utilizzare per questo messaggio. Codice lingua BCP-47, ad esempio "en-US" o "fr-CA".

messageText

string

Obbligatorio. Testo del messaggio specifico per la lingua.

ClosingOffer

Fai l'upselling di articoli specifici dopo che un cliente ha completato l'ordine.

Rappresentazione JSON
{
  "closingMessages": [
    {
      object (ClosingMessage)
    }
  ]
}
Campi
closingMessages[]

object (ClosingMessage)

Obbligatorio. Chiusura degli upsell dell'offerta da applicare.

ClosingMessage

Chiusura della configurazione del messaggio di upsell.

Rappresentazione JSON
{
  "offerMessage": {
    object (OfferMessage)
  },
  "skipTerms": [
    string
  ]
}
Campi
offerMessage

object (OfferMessage)

Obbligatorio. Configurazione del messaggio dell'offerta.

skipTerms[]

string

Facoltativo. Questo upsell verrà saltato se uno di questi termini è presente nel nome di un articolo già presente nell'ordine del cliente.

CelUpsell

Rappresenta una regola precalcolata che definisce in quali condizioni contestuali un insieme di elementi deve essere proposto in modo proattivo all'utente per l'upselling.

Rappresentazione JSON
{
  "conditionExpression": string,
  "suggestedMenuItems": [
    string
  ],
  "triggerReason": string,
  "priority": integer,
  "suggestedModifiers": [
    string
  ],
  "suggestedModifierGroups": [
    {
      object (SuggestedModifierGroup)
    }
  ],
  "maxModifierPerGroup": integer,
  "suggestionOnly": boolean
}
Campi
conditionExpression

string

Obbligatorio. Una stringa CEL (Common Expression Language) valutata in base allo stato della sessione corrente (Order e ClientSessionMetadata). Se restituisce True, la regola viene attivata. Esempio: "context.weather_condition == 'HOT' && order.items.size() > 0"

suggestedMenuItems[]

string

Obbligatorio. I nomi semantici degli elementi da suggerire se questa regola viene attivata.

triggerReason

string

Facoltativo. Un'istruzione in linguaggio naturale fornita all'LLM conversazionale che spiega perché viene effettuato questo upsell, in modo che possa formulare un upsell naturale. Esempio: "Suggest a cold drink because it is a hot day."

priority

integer

Facoltativo. La priority di questa regola. I numeri più alti indicano una priorità più alta. Se vengono attivate più regole, vengono preferiti i suggerimenti della regola con la priorità più alta. Se omesso, il valore predefinito di priority è 0.

suggestedModifiers[]

string

Facoltativo. I nomi semantici dei modificatori da suggerire se questa regola viene attivata.

suggestedModifierGroups[]

object (SuggestedModifierGroup)

Facoltativo. I gruppi di modificatori da suggerire se questa regola viene attivata.

maxModifierPerGroup

integer

Facoltativo. Numero massimo di modificatori da suggerire per gruppo.

suggestionOnly

boolean

Facoltativo. Non si tratta di un vero e proprio upsell, ma solo di mostrare all'utente le opzioni suggerite.

SuggestedModifierGroup

Un gruppo di modificatori suggerito.

Rappresentazione JSON
{
  "name": string,
  "suggestedModifiers": [
    string
  ]
}
Campi
name

string

Facoltativo. Il nome semantico del gruppo di modificatori.

suggestedModifiers[]

string

Facoltativo. I nomi semantici dei modificatori da suggerire all'interno di questo gruppo.

Saluti

Rappresenta i messaggi di saluto per una lingua specifica.

Rappresentazione JSON
{
  "languageCode": string,
  "greetingPhrases": [
    string
  ]
}
Campi
languageCode

string

Facoltativo. Il codice lingua delle frasi di saluto. Codice lingua BCP-47, ad esempio "en-US" o "fr-CA".

greetingPhrases[]

string

Facoltativo. Un elenco di frasi di saluto nella lingua specificata.

FeaturesConfig

Configurazioni per le funzionalità dell'agente. Elenco di flag di funzionalità utilizzato per generare istruzioni e strumenti personalizzati dell'agente.

Rappresentazione JSON
{
  "orderPickup": {
    object (OrderPickup)
  },
  "orderDineIn": {
    object (OrderDineIn)
  },
  "nameCollection": {
    object (NameCollection)
  },
  "confirmOrderInfoAtStart": boolean,
  "confirmOrderInfoOnFinalize": boolean,
  "getOrderPrices": {
    object (GetOrderPrices)
  },
  "endSessionWithCheckoutRequest": {
    object (EndSessionWithCheckoutRequest)
  },
  "enableAddressCollection": {
    object (EnableAddressCollection)
  },
  "supportCashPayment": {
    object (SupportCashPayment)
  },
  "budgetBasedOrdering": boolean
}
Campi
orderPickup

object (OrderPickup)

Facoltativo. Configurazione della funzionalità di ritiro degli ordini.

orderDineIn

object (OrderDineIn)

Facoltativo. Configurazione della funzionalità Ordina per consumazione sul posto.

nameCollection

object (NameCollection)

Facoltativo. Configurazione della funzionalità di raccolta dei nomi.

confirmOrderInfoAtStart
(deprecated)

boolean

Facoltativo. Se confermare le informazioni dell'ordine all'inizio della sessione. Ritirato: sostituito da confirmOrderInfoOnFinalize.

confirmOrderInfoOnFinalize

boolean

Facoltativo. Se confermare le informazioni dell'ordine al momento della finalizzazione.

getOrderPrices

object (GetOrderPrices)

Facoltativo. Ottieni la configurazione della funzionalità dei prezzi degli ordini.

endSessionWithCheckoutRequest

object (EndSessionWithCheckoutRequest)

Facoltativo. Termina la sessione con la configurazione della funzionalità di richiesta di checkout.

enableAddressCollection

object (EnableAddressCollection)

Facoltativo. Attiva la configurazione della funzionalità di raccolta degli indirizzi di consegna.

supportCashPayment

object (SupportCashPayment)

Facoltativo. Supporto della configurazione della funzionalità di pagamento in contanti.

budgetBasedOrdering

boolean

Facoltativo. Indica se attivare l'ordinamento in base al budget.

OrderPickup

Questo tipo non ha campi.

Consente al cliente di ordinare cibo tramite l'agente per il ritiro.

OrderDineIn

Questo tipo non ha campi.

Consente al cliente di ordinare cibo tramite l'agente per la consumazione sul posto

NameCollection

Questo tipo non ha campi.

Consente all'agente di raccogliere il nome del cliente durante la sessione.

GetOrderPrices

Questo tipo non ha campi.

Consente all'agente di ottenere i prezzi degli ordini dal POS.

EndSessionWithCheckoutRequest

Questo tipo non ha campi.

Consente all'agente di terminare la sessione con una richiesta di checkout.

EnableAddressCollection

Questo tipo non ha campi.

Consente all'agente di raccogliere l'indirizzo di consegna del cliente durante la sessione.

SupportCashPayment

Questo tipo non ha campi.

Consente all'agente di supportare il pagamento in contanti.

InteractionMode

La modalità di interazione dell'agente.

Enum
INTERACTION_MODE_UNSPECIFIED La modalità di interazione non è specificata.
ORDER_TAKING L'agente partecipa a una conversazione bidirezionale per prendere gli ordini.
LISTEN_ONLY L'agente ascolta soltanto e non parla.

DisambiguationStrategy

Configurazione della strategia per il controllo di disambiguazione.

Rappresentazione JSON
{
  "mappings": [
    {
      object (DisambiguationMapping)
    }
  ]
}
Campi
mappings[]

object (DisambiguationMapping)

Facoltativo. Le mappature di disambiguazione configurate.

DisambiguationMapping

Una regola di mappatura per correggere i termini non validi o chiarire gli elementi ambigui.

Rappresentazione JSON
{
  "type": enum (Type),
  "customerTerms": [
    string
  ],
  "targets": [
    {
      object (TargetItem)
    }
  ],
  "customInstruction": string
}
Campi
type

enum (Type)

Obbligatorio. Il tipo operativo della regola di disambiguazione.

customerTerms[]

string

Obbligatorio. Frasi dei clienti o stringhe di scorciatoie. Ogni termine del cliente ha un limite di 100 caratteri.

targets[]

object (TargetItem)

Obbligatorio. Voci di menu target completamente strutturate da suggerire o chiarire, inclusi i modificatori nidificati.

customInstruction

string

Facoltativo. Istruzioni macro condizionali personalizzate facoltative o suggerimenti di frasi.

Tipo

Il tipo operativo della regola di disambiguazione.

Enum
TYPE_UNSPECIFIED Tipo di regola non specificato.
SINGLE_TARGET Utilizzato per le mappature con un singolo target (scorciatoie, configurazioni di combinazioni personalizzate o sinonimi validi).
INVALID_ITEM Utilizzato per articoli non validi, articoli non disponibili o prodotti della concorrenza.
DISAMBIGUATION Utilizzato per input ambigui che richiedono chiarimenti tra più opzioni di destinazione valide.

TargetItem

Un target alternativo per l'elemento strutturato.

Rappresentazione JSON
{
  "itemName": string,
  "modifiers": [
    {
      object (TargetModifier)
    }
  ],
  "itemId": string
}
Campi
itemName

string

Obbligatorio. Il nome dell'elemento nel catalogo del menu.

modifiers[]

object (TargetModifier)

Facoltativo. Modificatori strutturati da collegare a questo target.

itemId

string

Facoltativo. L'ID univoco dell'elemento nel catalogo del menu (collegamento diretto a menu.proto).

TargetModifier

Un modificatore strutturato da applicare all'elemento di destinazione.

Rappresentazione JSON
{
  "modifierName": string,
  "modifierGroupName": string,
  "modifierId": string,
  "modifierGroupId": string
}
Campi
modifierName

string

Obbligatorio. Il nome del modificatore che corrisponde direttamente alla voce del catalogo.

modifierGroupName

string

Facoltativo. Nome del gruppo di modificatori facoltativo per associare il modificatore.

modifierId

string

Facoltativo. L'ID univoco del modificatore nel catalogo del menu (collegato direttamente a menu.proto).

modifierGroupId

string

Facoltativo. L'ID univoco del gruppo di modificatori nel catalogo del menu.

Stato

Stato della configurazione del canale.

Enum
STATE_UNSPECIFIED Stato non specificato.
DRAFT La configurazione del canale è una bozza e non è ancora pronta per l'uso.
ACTIVE La configurazione del canale è attiva e può essere utilizzata.
PROMOTED La configurazione del canale viene promossa.

Tipo

Il tipo di configurazione del canale.

Enum
TYPE_UNSPECIFIED Il tipo non è specificato.
UPSELL_STRATEGY La configurazione del canale è per la strategia di upsell.
AGENT_CUSTOMIZATION La configurazione del canale serve per la personalizzazione dell'agente.

SupplementalInstructions

Configurazioni per le istruzioni supplementari.

Rappresentazione JSON
{
  "freeformInstructions": string
}
Campi
freeformInstructions

string

Facoltativo. Istruzioni in formato libero incluse nel prompt.

Tono

Il tono dell'agente.

Enum
TONE_UNSPECIFIED Il tono non è specificato.
CONCISE_AND_DIRECT Il tono dell'agente è conciso e diretto.
PROFESSIONAL_AND_FORMAL Il tono dell'agente è professionale e formale.
FRIENDLY Il tono dell'agente è amichevole.

Metodi

create

Crea un ChannelConfig.

delete

Elimina la risorsa ChannelConfig specificata.

get

Recupera un ChannelConfig.

list

Elenca i ChannelConfig.

patch

Aggiorna la risorsa ChannelConfig specificata.

promote

Promuove la configurazione del canale specificata.