- Resource: ChannelConfig
- Representasi JSON
- OperationsConfig
- UpsellStrategy
- UpsellConfig
- GreetingOffer
- OfferMessage
- MessageConfig
- ClosingOffer
- ClosingMessage
- CelUpsell
- SuggestedModifierGroup
- Salam
- FeaturesConfig
- OrderPickup
- OrderDineIn
- NameCollection
- GetOrderPrices
- EndSessionWithCheckoutRequest
- EnableAddressCollection
- SupportCashPayment
- InteractionMode
- DisambiguationStrategy
- DisambiguationMapping
- Jenis
- TargetItem
- TargetModifier
- Status
- Jenis
- SupplementalInstructions
- Gaya Bahasa (Tone)
- Metode
Resource: ChannelConfig
Konfigurasi saluran mewakili konfigurasi strategi operasional. Siklus proses konfigurasi saluran: * DRAFT: Konfigurasi berada dalam status draf jika tidak memiliki aturan penerapan konfigurasi terkait dan tidak ditetapkan sebagai konfigurasi default untuk merek. * ACTIVE: Konfigurasi berada dalam status aktif jika dikaitkan dengan aturan penerapan konfigurasi atau ditetapkan sebagai default merek. * Jika aktif, runtime akan menerapkan konfigurasi saluran ke toko yang cocok. Untuk memastikan fleksibilitas, hubungan antara konfigurasi saluran dan aturan penerapan konfigurasi adalah one-to-many di setiap tingkat resource: * Di tingkat merek, ada hubungan one-to-many antara konfigurasi saluran dan aturan penerapan konfigurasi. * Di tingkat toko, ada hubungan one-to-many lainnya antara konfigurasi saluran dan aturan penerapan konfigurasi. Jika beberapa konfigurasi saluran berlaku, runtime akan menentukan konfigurasi yang akan diterapkan berdasarkan urutan prioritas berikut (yang terakhir akan menimpa yang sebelumnya jika terjadi konflik): 1. Default tingkat merek 2. Pengikatan tingkat merek 3. Default tingkat toko 4. Pengikatan tingkat toko
| Representasi JSON |
|---|
{ "name": string, "displayName": string, "createTime": string, "updateTime": string, "operationsConfig": { object ( |
| Kolom | |
|---|---|
name |
ID. Nama konfigurasi saluran. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channelConfig} |
displayName |
Opsional. Nama tampilan opsional untuk konfigurasi saluran ini untuk antarmuka pengguna. Nilai dibatasi hingga 63 karakter. |
createTime |
Hanya output. Waktu pembuatan konfigurasi saluran ini. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
updateTime |
Hanya output. Waktu konfigurasi saluran ini terakhir diperbarui. Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: |
operationsConfig |
Opsional. Strategi operasional untuk konfigurasi saluran. |
state |
Hanya output. Status konfigurasi saluran. |
type |
Wajib. Jenis konfigurasi saluran. |
supplementalInstructions |
Opsional. Petunjuk tambahan untuk konfigurasi saluran. |
tone |
Opsional. Nada bicara agen. |
configApplicationRules[] |
Hanya output. Aturan penerapan konfigurasi yang terkait dengan konfigurasi saluran ini. |
OperationsConfig
Konfigurasi untuk menentukan strategi operasional.
| Representasi JSON |
|---|
{ "displayName": string, "description": string, "upsellStrategy": { object ( |
| Kolom | |
|---|---|
displayName |
Opsional. Nama strategi operasional ini. |
description |
Opsional. Deskripsi strategi operasional ini. |
upsellStrategy |
Opsional. Konfigurasi untuk perilaku upsell. |
greetings[] |
Opsional. Pesan salam yang disesuaikan untuk digunakan (per bahasa). |
defaultLanguageCode |
Opsional. Bahasa default yang digunakan untuk melayani pelanggan. |
featuresConfig |
Opsional. Konfigurasi fitur agen. |
interactionMode |
Opsional. Mode interaksi agen. |
disambiguationStrategy |
Opsional. Konfigurasi strategi untuk Kontrol Disambiguasi. |
UpsellStrategy
Menentukan strategi untuk upselling.
| Representasi JSON |
|---|
{
"maxUpsellOffers": integer,
"maxUpsellDeclines": integer,
"maxItemsInCart": integer,
"upsells": [
{
object ( |
| Kolom | |
|---|---|
maxUpsellOffers |
Opsional. Jumlah maksimum penawaran upsell yang akan ditampilkan per sesi. |
maxUpsellDeclines |
Opsional. Jumlah maksimum pelanggan dapat menolak upsell sebelum upsell berikutnya dilewati untuk sesi saat ini. |
maxItemsInCart |
Opsional. Jumlah maksimum item yang diizinkan dalam keranjang sebelum upsell lebih lanjut dilewati untuk sesi saat ini. |
upsells[] |
Opsional. Upsell yang dikonfigurasi. |
cateringGuidelines |
Opsional. Menampilkan kumpulan teks yang mewakili penghitungan penyajian yang dihasilkan secara offline dan aturan pengurutan grup untuk menu ini. Dibaca oleh LLM percakapan. |
UpsellConfig
Menentukan konfigurasi untuk instance upsell.
| Representasi JSON |
|---|
{ "displayName": string, "priority": integer, "skipOnMultiQuantityUpsoldFromItem": boolean, "skipOnPreviousTurnUpsell": boolean, "disabled": boolean, // Union field |
| Kolom | |
|---|---|
displayName |
Opsional. Nama untuk upsell. Digunakan untuk tampilan UI, serta agregasi dan analisis metrik. |
priority |
Wajib. Angka yang mewakili urutan prioritas konfigurasi upsell dibandingkan dengan semua UpsellConfig lainnya dalam UpsellStrategy tertentu. UpsellConfig dengan prioritas lebih tinggi akan diupayakan untuk di-upsell sebelum UpsellConfig dengan prioritas lebih rendah.
|
skipOnMultiQuantityUpsoldFromItem |
Opsional. Apakah akan melewati upsell ini jika item yang akan di-upsell memiliki jumlah > 1. Konfigurasi ini hanya berlaku untuk jenis upsell yang relevan: - Item ke paket - Ukuran paket - Penambahan pengubah - Minuman paket - Ukuran item - Varian paket - Item yang dipicu |
skipOnPreviousTurnUpsell |
Opsional. Apakah akan melewati upsell ini jika giliran percakapan sebelumnya adalah upsell. |
disabled |
Opsional. Menunjukkan apakah jenis upsell dinonaktifkan. Jika true, upsell tidak akan dicoba. Konfigurasi ini berguna untuk menonaktifkan jenis upsell sebagai bagian dari penggantian aturan penerapan konfigurasi. |
Kolom union upsell_type_config. Konfigurasi khusus jenis untuk upsell. upsell_type_config hanya ada berupa salah satu diantara berikut: |
|
greetingOffer |
Melakukan upsell item tertentu sebagai bagian dari pesan selamat datang agen. |
closingOffer |
Melakukan upsell item tertentu setelah pelanggan menyelesaikan pesanan mereka. |
celUpsell |
Aturan upsell yang dievaluasi secara dinamis berdasarkan Common Expression Language (CEL). |
GreetingOffer
Melakukan upsell item tertentu sebagai bagian dari pesan selamat datang agen.
| Representasi JSON |
|---|
{
"messages": [
{
object ( |
| Kolom | |
|---|---|
messages[] |
Wajib. Pesan upsell salam yang akan digunakan. |
OfferMessage
Konfigurasi umum untuk pesan penawaran salam dan penutup.
| Representasi JSON |
|---|
{
"displayName": string,
"messageFrequency": number,
"upsoldItems": [
string
],
"messageConfigs": [
{
object ( |
| Kolom | |
|---|---|
displayName |
Opsional. Nama yang akan digunakan untuk tampilan dan analisis. |
messageFrequency |
Opsional. Pecahan waktu untuk menggunakan pesan ini. Contoh: messageFrequency sebesar 0,2 berarti pesan ini akan digunakan untuk 20% sesi. Jika semua nilai messageFrequency tidak ditetapkan (0,0), setiap pesan akan digunakan untuk proporsi sesi 1/n, dengan n adalah jumlah OfferMessage yang dikonfigurasi untuk jenis penawaran. Jika hanya beberapa nilai messageFrequency yang ditetapkan, OfferMessage dengan nilai messageFrequency yang tidak ditetapkan tidak akan digunakan. |
upsoldItems[] |
Opsional. Nama item yang di-upsell dalam pesan ini. Tetapkan ini ATAU upsoldItemIds, tetapi tidak keduanya. |
messageConfigs[] |
Wajib. Pesan upsell per bahasa. |
upsoldItemIds[] |
Opsional. ID item yang di-upsell dalam pesan ini. Tetapkan ini ATAU upsoldItems, tetapi tidak keduanya. |
MessageConfig
Pesan khusus bahasa yang akan digunakan untuk upsell.
| Representasi JSON |
|---|
{ "languageCode": string, "messageText": string } |
| Kolom | |
|---|---|
languageCode |
Wajib. Kode bahasa yang akan digunakan untuk pesan ini. Kode bahasa BCP-47, seperti "en-US" atau "fr-CA". |
messageText |
Wajib. Teks pesan khusus bahasa. |
ClosingOffer
Melakukan upsell item tertentu setelah pelanggan menyelesaikan pesanan mereka.
| Representasi JSON |
|---|
{
"closingMessages": [
{
object ( |
| Kolom | |
|---|---|
closingMessages[] |
Wajib. Upsell penawaran penutup yang akan diterapkan. |
ClosingMessage
Menutup konfigurasi pesan upsell.
| Representasi JSON |
|---|
{
"offerMessage": {
object ( |
| Kolom | |
|---|---|
offerMessage |
Wajib. Konfigurasi pesan penawaran. |
skipTerms[] |
Opsional. Upsell ini akan dilewati jika salah satu istilah ini ada dalam nama item yang sudah ada dalam pesanan pelanggan. |
CelUpsell
Mewakili aturan yang telah dihitung sebelumnya yang menentukan dalam kondisi kontekstual apa serangkaian item harus di-upsell secara proaktif kepada pengguna.
| Representasi JSON |
|---|
{
"conditionExpression": string,
"suggestedMenuItems": [
string
],
"triggerReason": string,
"priority": integer,
"suggestedModifiers": [
string
],
"suggestedModifierGroups": [
{
object ( |
| Kolom | |
|---|---|
conditionExpression |
Wajib. String CEL (Common Expression Language) yang dievaluasi terhadap status sesi saat ini ( |
suggestedMenuItems[] |
Wajib. Nama semantik item yang akan disarankan jika aturan ini dipicu. |
triggerReason |
Opsional. Petunjuk bahasa alami yang diberikan kepada LLM percakapan yang menjelaskan alasan upsell ini dilakukan, sehingga LLM dapat merumuskan upsell yang alami. Contoh: |
priority |
Opsional. |
suggestedModifiers[] |
Opsional. Nama semantik pengubah yang akan disarankan jika aturan ini dipicu. |
suggestedModifierGroups[] |
Opsional. Grup pengubah yang akan disarankan jika aturan ini dipicu. |
maxModifierPerGroup |
Opsional. Jumlah maksimum pengubah yang akan disarankan per grup. |
suggestionOnly |
Opsional. Bukan upsell sungguhan, tetapi hanya untuk menampilkan opsi yang disarankan kepada pengguna. |
SuggestedModifierGroup
Grup pengubah yang disarankan.
| Representasi JSON |
|---|
{ "name": string, "suggestedModifiers": [ string ] } |
| Kolom | |
|---|---|
name |
Opsional. Nama semantik grup pengubah. |
suggestedModifiers[] |
Opsional. Nama semantik pengubah yang akan disarankan dalam grup ini. |
Salam
Merepresentasikan pesan salam untuk bahasa tertentu.
| Representasi JSON |
|---|
{ "languageCode": string, "greetingPhrases": [ string ] } |
| Kolom | |
|---|---|
languageCode |
Opsional. Kode bahasa frasa salam. Kode bahasa BCP-47, seperti "en-US" atau "fr-CA". |
greetingPhrases[] |
Opsional. Daftar frasa salam dalam bahasa yang ditentukan. |
FeaturesConfig
Konfigurasi untuk fitur agen. Daftar tombol fitur yang digunakan untuk membuat petunjuk dan alat kustom agen.
| Representasi JSON |
|---|
{ "orderPickup": { object ( |
| Kolom | |
|---|---|
orderPickup |
Opsional. Konfigurasi fitur pengambilan pesanan. |
orderDineIn |
Opsional. Konfigurasi fitur Pesan Dine-in. |
nameCollection |
Opsional. Konfigurasi fitur pengumpulan nama. |
confirmOrderInfoAtStart |
Opsional. Apakah akan mengonfirmasi info pesanan di awal sesi. Tidak digunakan lagi: diganti dengan confirmOrderInfoOnFinalize. |
confirmOrderInfoOnFinalize |
Opsional. Apakah akan mengonfirmasi info pesanan saat menyelesaikan pesanan. |
getOrderPrices |
Opsional. Mendapatkan konfigurasi fitur harga pesanan. |
endSessionWithCheckoutRequest |
Opsional. Konfigurasi fitur akhiri sesi dengan permintaan checkout. |
enableAddressCollection |
Opsional. Aktifkan konfigurasi fitur pengumpulan alamat pengiriman. |
supportCashPayment |
Opsional. Mendukung konfigurasi fitur pembayaran tunai. |
budgetBasedOrdering |
Opsional. Apakah akan mengaktifkan pengurutan berdasarkan anggaran atau tidak. |
OrderPickup
Jenis ini tidak memiliki kolom.
Memungkinkan pelanggan memesan makanan melalui agen untuk diambil.
OrderDineIn
Jenis ini tidak memiliki kolom.
Memungkinkan pelanggan memesan makanan melalui agen untuk makan di tempat
NameCollection
Jenis ini tidak memiliki kolom.
Memungkinkan agen mengumpulkan nama pelanggan selama sesi.
GetOrderPrices
Jenis ini tidak memiliki kolom.
Memungkinkan agen mendapatkan harga pesanan dari POS.
EndSessionWithCheckoutRequest
Jenis ini tidak memiliki kolom.
Memungkinkan agen mengakhiri sesi dengan permintaan checkout.
EnableAddressCollection
Jenis ini tidak memiliki kolom.
Memungkinkan agen mengumpulkan alamat pengiriman pelanggan selama sesi.
SupportCashPayment
Jenis ini tidak memiliki kolom.
Memungkinkan agen mendukung pembayaran tunai.
InteractionMode
Mode interaksi agen.
| Enum | |
|---|---|
INTERACTION_MODE_UNSPECIFIED |
Mode interaksi tidak ditentukan. |
ORDER_TAKING |
Agen berpartisipasi dalam percakapan dua arah untuk menerima pesanan. |
LISTEN_ONLY |
Agen hanya mendengarkan dan tidak berbicara. |
DisambiguationStrategy
Konfigurasi strategi untuk Kontrol Disambiguasi.
| Representasi JSON |
|---|
{
"mappings": [
{
object ( |
| Kolom | |
|---|---|
mappings[] |
Opsional. Pemetaan disambiguasi yang dikonfigurasi. |
DisambiguationMapping
Aturan pemetaan untuk memperbaiki istilah yang tidak valid atau memperjelas item yang ambigu.
| Representasi JSON |
|---|
{ "type": enum ( |
| Kolom | |
|---|---|
type |
Wajib. Jenis operasional aturan disambiguasi. |
customerTerms[] |
Wajib. Ucapan pelanggan atau string pintasan. Setiap istilah pelanggan dibatasi hingga 100 karakter. |
targets[] |
Wajib. Item menu target yang terstruktur sepenuhnya untuk disarankan atau diklarifikasi, termasuk pengubah bertingkat. |
customInstruction |
Opsional. Petunjuk frasa atau petunjuk makro bersyarat kustom opsional. |
Jenis
Jenis operasional aturan disambiguasi.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Jenis aturan tidak ditentukan. |
SINGLE_TARGET |
Digunakan untuk pemetaan target tunggal (pintasan, konfigurasi kombinasi kustom, atau sinonim yang valid). |
INVALID_ITEM |
Digunakan untuk item yang tidak valid, item yang stoknya habis, atau produk pesaing. |
DISAMBIGUATION |
Digunakan untuk input ambigu yang memerlukan klarifikasi di antara beberapa opsi target yang valid. |
TargetItem
Target alternatif item terstruktur.
| Representasi JSON |
|---|
{
"itemName": string,
"modifiers": [
{
object ( |
| Kolom | |
|---|---|
itemName |
Wajib. Nama item di katalog menu. |
modifiers[] |
Opsional. Pengubah terstruktur untuk dilampirkan ke target ini. |
itemId |
Opsional. ID unik item dalam katalog menu (menautkan langsung ke menu.proto). |
TargetModifier
Pengubah terstruktur untuk diterapkan ke item target.
| Representasi JSON |
|---|
{ "modifierName": string, "modifierGroupName": string, "modifierId": string, "modifierGroupId": string } |
| Kolom | |
|---|---|
modifierName |
Wajib. Nama pengubah yang cocok langsung dengan entri katalog. |
modifierGroupName |
Opsional. Nama grup pengubah opsional untuk mengikat pengubah. |
modifierId |
Opsional. ID unik pengubah dalam katalog menu (menautkan langsung ke menu.proto). |
modifierGroupId |
Opsional. ID unik grup pengubah di katalog menu. |
Negara bagian/Provinsi
Status konfigurasi saluran.
| Enum | |
|---|---|
STATE_UNSPECIFIED |
Status tidak ditentukan. |
DRAFT |
Konfigurasi saluran masih berupa draf dan belum siap digunakan. |
ACTIVE |
Konfigurasi saluran aktif dan dapat digunakan. |
PROMOTED |
Konfigurasi saluran dipromosikan. |
Jenis
Jenis konfigurasi saluran.
| Enum | |
|---|---|
TYPE_UNSPECIFIED |
Jenis tidak ditentukan. |
UPSELL_STRATEGY |
Konfigurasi saluran ini ditujukan untuk strategi upsell. |
AGENT_CUSTOMIZATION |
Konfigurasi saluran ditujukan untuk penyesuaian agen. |
SupplementalInstructions
Konfigurasi untuk petunjuk tambahan.
| Representasi JSON |
|---|
{ "freeformInstructions": string } |
| Kolom | |
|---|---|
freeformInstructions |
Opsional. Petunjuk bentuk bebas yang disertakan dalam perintah. |
Nada
Nada bicara agen.
| Enum | |
|---|---|
TONE_UNSPECIFIED |
Nada tidak ditentukan. |
CONCISE_AND_DIRECT |
Gaya bahasa agen ringkas dan lugas. |
PROFESSIONAL_AND_FORMAL |
Gaya bahasa agen bersifat profesional dan formal. |
FRIENDLY |
Agen menggunakan nada bicara yang ramah. |
Metode |
|
|---|---|
|
Membuat ChannelConfig. |
|
Menghapus ChannelConfig yang ditentukan. |
|
Mendapatkan ChannelConfig. |
|
Mencantumkan ChannelConfig. |
|
Memperbarui ChannelConfig yang ditentukan. |
|
Mempromosikan konfigurasi saluran yang ditentukan. |