REST Resource: projects.locations.brands.channelConfigs

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 (OperationsConfig)
  },
  "state": enum (State),
  "type": enum (Type),
  "supplementalInstructions": {
    object (SupplementalInstructions)
  },
  "tone": enum (Tone),
  "configApplicationRules": [
    {
      object (ConfigApplicationRule)
    }
  ]
}
Kolom
name

string

ID. Nama konfigurasi saluran. Format: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channelConfig}

displayName

string

Opsional. Nama tampilan opsional untuk konfigurasi saluran ini untuk antarmuka pengguna. Nilai dibatasi hingga 63 karakter.

createTime

string (Timestamp format)

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

updateTime

string (Timestamp format)

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

operationsConfig

object (OperationsConfig)

Opsional. Strategi operasional untuk konfigurasi saluran.

state

enum (State)

Hanya output. Status konfigurasi saluran.

type

enum (Type)

Wajib. Jenis konfigurasi saluran.

supplementalInstructions

object (SupplementalInstructions)

Opsional. Petunjuk tambahan untuk konfigurasi saluran.

tone

enum (Tone)

Opsional. Nada bicara agen.

configApplicationRules[]

object (ConfigApplicationRule)

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 (UpsellStrategy)
  },
  "greetings": [
    {
      object (Greetings)
    }
  ],
  "defaultLanguageCode": string,
  "featuresConfig": {
    object (FeaturesConfig)
  },
  "interactionMode": enum (InteractionMode),
  "disambiguationStrategy": {
    object (DisambiguationStrategy)
  }
}
Kolom
displayName

string

Opsional. Nama strategi operasional ini.

description

string

Opsional. Deskripsi strategi operasional ini.

upsellStrategy

object (UpsellStrategy)

Opsional. Konfigurasi untuk perilaku upsell.

greetings[]

object (Greetings)

Opsional. Pesan salam yang disesuaikan untuk digunakan (per bahasa).

defaultLanguageCode

string

Opsional. Bahasa default yang digunakan untuk melayani pelanggan.

featuresConfig

object (FeaturesConfig)

Opsional. Konfigurasi fitur agen.

interactionMode

enum (InteractionMode)

Opsional. Mode interaksi agen.

disambiguationStrategy

object (DisambiguationStrategy)

Opsional. Konfigurasi strategi untuk Kontrol Disambiguasi.

UpsellStrategy

Menentukan strategi untuk upselling.

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

integer

Opsional. Jumlah maksimum penawaran upsell yang akan ditampilkan per sesi.

maxUpsellDeclines

integer

Opsional. Jumlah maksimum pelanggan dapat menolak upsell sebelum upsell berikutnya dilewati untuk sesi saat ini.

maxItemsInCart

integer

Opsional. Jumlah maksimum item yang diizinkan dalam keranjang sebelum upsell lebih lanjut dilewati untuk sesi saat ini.

upsells[]

object (UpsellConfig)

Opsional. Upsell yang dikonfigurasi.

cateringGuidelines

string

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 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.
}
Kolom
displayName

string

Opsional. Nama untuk upsell. Digunakan untuk tampilan UI, serta agregasi dan analisis metrik.

priority

integer

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.

  • Nilai dapat berada dalam rentang [1, inf).
  • Nilai yang lebih rendah memiliki prioritas yang lebih tinggi. Misalnya, UpsellConfig dengan prioritas 1 dalam UpsellStrategy akan selalu dicoba terlebih dahulu.
  • Dalam UpsellStrategy, setiap UpsellConfig harus memiliki prioritas bernilai unik (misalnya: hanya satu UpsellConfig yang dapat memiliki prioritas 3).
  • Nilai prioritas tidak harus berurutan dalam UpsellStrategy (misalnya: UpsellConfig dapat memiliki nilai prioritas: {1, 2, 5, 6, 9}). Prioritas konfigurasi upsell ditentukan secara relatif (dari contoh sebelumnya: 1 < 2 < 5 < 6 < 9).
skipOnMultiQuantityUpsoldFromItem

boolean

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

boolean

Opsional. Apakah akan melewati upsell ini jika giliran percakapan sebelumnya adalah upsell.

disabled

boolean

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

object (GreetingOffer)

Melakukan upsell item tertentu sebagai bagian dari pesan selamat datang agen.

closingOffer

object (ClosingOffer)

Melakukan upsell item tertentu setelah pelanggan menyelesaikan pesanan mereka.

celUpsell

object (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 (OfferMessage)
    }
  ]
}
Kolom
messages[]

object (OfferMessage)

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 (MessageConfig)
    }
  ],
  "upsoldItemIds": [
    string
  ]
}
Kolom
displayName

string

Opsional. Nama yang akan digunakan untuk tampilan dan analisis.

messageFrequency

number

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[]

string

Opsional. Nama item yang di-upsell dalam pesan ini. Tetapkan ini ATAU upsoldItemIds, tetapi tidak keduanya.

messageConfigs[]

object (MessageConfig)

Wajib. Pesan upsell per bahasa.

upsoldItemIds[]

string

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

string

Wajib. Kode bahasa yang akan digunakan untuk pesan ini. Kode bahasa BCP-47, seperti "en-US" atau "fr-CA".

messageText

string

Wajib. Teks pesan khusus bahasa.

ClosingOffer

Melakukan upsell item tertentu setelah pelanggan menyelesaikan pesanan mereka.

Representasi JSON
{
  "closingMessages": [
    {
      object (ClosingMessage)
    }
  ]
}
Kolom
closingMessages[]

object (ClosingMessage)

Wajib. Upsell penawaran penutup yang akan diterapkan.

ClosingMessage

Menutup konfigurasi pesan upsell.

Representasi JSON
{
  "offerMessage": {
    object (OfferMessage)
  },
  "skipTerms": [
    string
  ]
}
Kolom
offerMessage

object (OfferMessage)

Wajib. Konfigurasi pesan penawaran.

skipTerms[]

string

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 (SuggestedModifierGroup)
    }
  ],
  "maxModifierPerGroup": integer,
  "suggestionOnly": boolean
}
Kolom
conditionExpression

string

Wajib. String CEL (Common Expression Language) yang dievaluasi terhadap status sesi saat ini (Order dan ClientSessionMetadata). Jika bernilai True, aturan akan dipicu. Contoh: "context.weather_condition == 'HOT' && order.items.size() > 0"

suggestedMenuItems[]

string

Wajib. Nama semantik item yang akan disarankan jika aturan ini dipicu.

triggerReason

string

Opsional. Petunjuk bahasa alami yang diberikan kepada LLM percakapan yang menjelaskan alasan upsell ini dilakukan, sehingga LLM dapat merumuskan upsell yang alami. Contoh: "Suggest a cold drink because it is a hot day."

priority

integer

Opsional. priority aturan ini. Angka yang lebih besar berarti prioritas yang lebih tinggi. Jika beberapa aturan dipicu, saran aturan dengan prioritas tertinggi akan lebih diutamakan. Jika dihilangkan, priority akan ditetapkan secara default ke 0.

suggestedModifiers[]

string

Opsional. Nama semantik pengubah yang akan disarankan jika aturan ini dipicu.

suggestedModifierGroups[]

object (SuggestedModifierGroup)

Opsional. Grup pengubah yang akan disarankan jika aturan ini dipicu.

maxModifierPerGroup

integer

Opsional. Jumlah maksimum pengubah yang akan disarankan per grup.

suggestionOnly

boolean

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

string

Opsional. Nama semantik grup pengubah.

suggestedModifiers[]

string

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

string

Opsional. Kode bahasa frasa salam. Kode bahasa BCP-47, seperti "en-US" atau "fr-CA".

greetingPhrases[]

string

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 (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
}
Kolom
orderPickup

object (OrderPickup)

Opsional. Konfigurasi fitur pengambilan pesanan.

orderDineIn

object (OrderDineIn)

Opsional. Konfigurasi fitur Pesan Dine-in.

nameCollection

object (NameCollection)

Opsional. Konfigurasi fitur pengumpulan nama.

confirmOrderInfoAtStart
(deprecated)

boolean

Opsional. Apakah akan mengonfirmasi info pesanan di awal sesi. Tidak digunakan lagi: diganti dengan confirmOrderInfoOnFinalize.

confirmOrderInfoOnFinalize

boolean

Opsional. Apakah akan mengonfirmasi info pesanan saat menyelesaikan pesanan.

getOrderPrices

object (GetOrderPrices)

Opsional. Mendapatkan konfigurasi fitur harga pesanan.

endSessionWithCheckoutRequest

object (EndSessionWithCheckoutRequest)

Opsional. Konfigurasi fitur akhiri sesi dengan permintaan checkout.

enableAddressCollection

object (EnableAddressCollection)

Opsional. Aktifkan konfigurasi fitur pengumpulan alamat pengiriman.

supportCashPayment

object (SupportCashPayment)

Opsional. Mendukung konfigurasi fitur pembayaran tunai.

budgetBasedOrdering

boolean

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 (DisambiguationMapping)
    }
  ]
}
Kolom
mappings[]

object (DisambiguationMapping)

Opsional. Pemetaan disambiguasi yang dikonfigurasi.

DisambiguationMapping

Aturan pemetaan untuk memperbaiki istilah yang tidak valid atau memperjelas item yang ambigu.

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

enum (Type)

Wajib. Jenis operasional aturan disambiguasi.

customerTerms[]

string

Wajib. Ucapan pelanggan atau string pintasan. Setiap istilah pelanggan dibatasi hingga 100 karakter.

targets[]

object (TargetItem)

Wajib. Item menu target yang terstruktur sepenuhnya untuk disarankan atau diklarifikasi, termasuk pengubah bertingkat.

customInstruction

string

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 (TargetModifier)
    }
  ],
  "itemId": string
}
Kolom
itemName

string

Wajib. Nama item di katalog menu.

modifiers[]

object (TargetModifier)

Opsional. Pengubah terstruktur untuk dilampirkan ke target ini.

itemId

string

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

string

Wajib. Nama pengubah yang cocok langsung dengan entri katalog.

modifierGroupName

string

Opsional. Nama grup pengubah opsional untuk mengikat pengubah.

modifierId

string

Opsional. ID unik pengubah dalam katalog menu (menautkan langsung ke menu.proto).

modifierGroupId

string

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

string

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

create

Membuat ChannelConfig.

delete

Menghapus ChannelConfig yang ditentukan.

get

Mendapatkan ChannelConfig.

list

Mencantumkan ChannelConfig.

patch

Memperbarui ChannelConfig yang ditentukan.

promote

Mempromosikan konfigurasi saluran yang ditentukan.