REST Resource: projects.locations.brands.channelConfigs

리소스: ChannelConfig

채널 구성은 운영 전략 구성을 나타냅니다. 채널 구성 수명 주기: * DRAFT: 구성에 연결된 구성 적용 규칙이 없고 브랜드의 기본 구성으로 설정되지 않은 경우 구성이 초안 상태입니다. * ACTIVE: 구성이 구성 적용 규칙과 연결되거나 브랜드의 기본값으로 설정된 경우 활성 상태입니다. * 활성화되면 런타임은 일치하는 매장에 채널 구성을 적용합니다. 유연성을 보장하기 위해 채널 구성과 구성 적용 규칙 간의 관계는 각 리소스 수준에서 일대다입니다. * 브랜드 수준에서는 채널 구성과 구성 적용 규칙 간에 일대다 관계가 있습니다. * 매장 수준에서는 채널 구성과 구성 적용 규칙 간에 또 다른 일대다 관계가 있습니다. 여러 채널 구성을 적용할 수 있는 경우 런타임은 다음 우선순위에 따라 적용할 구성을 결정합니다 (충돌하는 경우 후자가 전자를 덮어씀). 1. 브랜드 수준 기본값 2. 브랜드 수준 결합 3. 매장 수준 기본값은 4입니다. 스토어 수준 바인딩

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)
    }
  ]
}
필드
name

string

식별자. 채널 구성 이름입니다. 형식: projects/{project}/locations/{location}/brands/{brand}/channelConfigs/{channelConfig}

displayName

string

(선택사항) 사용자 인터페이스의 이 채널 구성에 대한 표시 이름입니다(선택사항). 값은 63자(영문 기준)로 제한됩니다.

createTime

string (Timestamp format)

출력 전용입니다. 이 채널 구성이 생성된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

updateTime

string (Timestamp format)

출력 전용입니다. 이 채널 구성이 마지막으로 업데이트된 시간입니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

operationsConfig

object (OperationsConfig)

(선택사항) 채널 구성의 운영 전략입니다.

state

enum (State)

출력 전용입니다. 채널 구성의 상태입니다.

type

enum (Type)

필수 항목입니다. 채널 구성의 유형입니다.

supplementalInstructions

object (SupplementalInstructions)

(선택사항) 채널 구성에 대한 추가 안내입니다.

tone

enum (Tone)

(선택사항) 에이전트의 어조입니다.

configApplicationRules[]

object (ConfigApplicationRule)

출력 전용입니다. 이 채널 구성과 연결된 구성 적용 규칙입니다.

OperationsConfig

운영 전략을 정의하는 구성입니다.

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

string

(선택사항) 이 운영 전략의 이름입니다.

description

string

(선택사항) 이 운영 전략에 대한 설명입니다.

upsellStrategy

object (UpsellStrategy)

(선택사항) 업셀 동작 구성입니다.

greetings[]

object (Greetings)

(선택사항) 사용할 맞춤 인사말 메시지 (언어별)

defaultLanguageCode

string

(선택사항) 고객에게 광고를 게재하는 데 사용할 기본 언어입니다.

featuresConfig

object (FeaturesConfig)

(선택사항) 에이전트 기능 구성

interactionMode

enum (InteractionMode)

(선택사항) 에이전트의 상호작용 모드입니다.

disambiguationStrategy

object (DisambiguationStrategy)

(선택사항) 모호성 해소 제어의 전략 구성입니다.

UpsellStrategy

업셀링 전략을 정의합니다.

JSON 표현
{
  "maxUpsellOffers": integer,
  "maxUpsellDeclines": integer,
  "maxItemsInCart": integer,
  "upsells": [
    {
      object (UpsellConfig)
    }
  ],
  "cateringGuidelines": string
}
필드
maxUpsellOffers

integer

(선택사항) 세션당 표시할 최대 업셀 제안 수입니다.

maxUpsellDeclines

integer

(선택사항) 현재 세션에서 추가 업셀이 건너뛰기 전에 고객이 업셀을 거부할 수 있는 최대 횟수입니다.

maxItemsInCart

integer

(선택사항) 현재 세션에서 추가 업셀이 건너뛰어지기 전에 장바구니에 허용되는 최대 상품 수입니다.

upsells[]

object (UpsellConfig)

(선택사항) 구성된 업셀입니다.

cateringGuidelines

string

(선택사항) 이 메뉴의 오프라인 생성 서빙 계산 및 그룹 주문 규칙을 나타내는 텍스트 집합을 나타냅니다. 대화형 LLM에서 읽습니다.

UpsellConfig

업셀 인스턴스의 구성을 정의합니다.

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.
}
필드
displayName

string

(선택사항) 업셀의 이름입니다. UI 표시, 측정항목 집계, 분석에 사용됩니다.

priority

integer

필수 항목입니다. 지정된 UpsellStrategy 내의 다른 모든 UpsellConfig와 비교하여 업셀 구성의 우선순위 순서를 나타내는 숫자입니다. 우선순위가 높은 UpsellConfig는 우선순위가 낮은 UpsellConfig보다 먼저 업셀을 시도합니다.

  • 값은 [1, inf) 범위에 있을 수 있습니다.
  • 값이 작을수록 우선순위가 높습니다. 예를 들어 UpsellStrategy에서 우선순위가 1인 UpsellConfig가 항상 먼저 시도됩니다.
  • UpsellStrategy 내에서 각 UpsellConfig는 고유한 값의 우선순위를 가져야 합니다 (예: 하나의 UpsellConfig만 우선순위가 3일 수 있음).
  • 우선순위 값이 UpsellStrategy 내에서 연속적일 필요는 없습니다 (예: 우선순위 값이 {1, 2, 5, 6, 9}인 UpsellConfig가 있을 수 있음). 업셀 구성의 우선순위는 상대적인 기준으로 결정됩니다 (이전 예시: 1 < 2 < 5 < 6 < 9).
skipOnMultiQuantityUpsoldFromItem

boolean

(선택사항) 업셀할 상품의 수량이 1개보다 많은 경우 이 업셀을 건너뛸지 여부입니다. 이 구성은 관련 업셀 유형에만 적용됩니다. - 콤보로 변경 - 콤보 사이즈 업 - 옵션 추가 - 콤보 음료 - 단품 사이즈 업 - 콤보 변형 - 단품 트리거

skipOnPreviousTurnUpsell

boolean

(선택사항) 이전 대화 차례가 업셀이었던 경우 이 업셀을 건너뛸지 여부입니다.

disabled

boolean

(선택사항) 업셀 유형이 사용 중지되었는지 여부를 나타냅니다. true인 경우 업셀이 시도되지 않습니다. 이 구성은 구성 적용 규칙 재정의의 일부로 업셀 유형을 사용 중지하는 데 유용합니다.

통합 필드 upsell_type_config. 업셀의 유형별 구성입니다. upsell_type_config은 다음 중 하나여야 합니다.
greetingOffer

object (GreetingOffer)

에이전트 환영 메시지의 일부로 특정 항목을 업셀링합니다.

closingOffer

object (ClosingOffer)

고객이 주문을 완료한 후 특정 상품의 업셀링을 유도합니다.

celUpsell

object (CelUpsell)

Common Expression Language (CEL)를 기반으로 동적으로 평가되는 업셀 규칙입니다.

GreetingOffer

에이전트 환영 메시지의 일부로 특정 항목을 업셀링합니다.

JSON 표현
{
  "messages": [
    {
      object (OfferMessage)
    }
  ]
}
필드
messages[]

object (OfferMessage)

필수 항목입니다. 사용할 인사말 업셀 메시지입니다.

OfferMessage

인사말 및 종료 혜택 메시지의 일반적인 구성입니다.

JSON 표현
{
  "displayName": string,
  "messageFrequency": number,
  "upsoldItems": [
    string
  ],
  "messageConfigs": [
    {
      object (MessageConfig)
    }
  ],
  "upsoldItemIds": [
    string
  ]
}
필드
displayName

string

(선택사항) 표시 및 분석에 사용할 이름입니다.

messageFrequency

number

(선택사항) 이 메시지를 사용할 시간의 비율입니다. 예: messageFrequency가 0.2이면 이 메시지가 세션의 20% 에 사용됩니다. 모든 messageFrequency 값이 설정되지 않은 경우 (0.0) 각 메시지는 세션의 1/n 비율로 사용됩니다. 여기서 n은 혜택 유형에 구성된 OfferMessage의 수입니다. 일부 messageFrequency 값만 설정된 경우 messageFrequency 값이 설정되지 않은 OfferMessages는 사용되지 않습니다.

upsoldItems[]

string

(선택사항) 이 메시지에서 업셀링되는 항목의 이름입니다. 이 값 또는 upsoldItemIds를 설정하되 둘 다 설정하지는 마세요.

messageConfigs[]

object (MessageConfig)

필수 항목입니다. 언어별 업셀 메시지

upsoldItemIds[]

string

(선택사항) 이 메시지에서 업셀링되는 항목의 ID입니다. 이 항목 또는 upsoldItems를 설정하되 둘 다 설정하지는 마세요.

MessageConfig

업셀에 사용할 언어별 메시지입니다.

JSON 표현
{
  "languageCode": string,
  "messageText": string
}
필드
languageCode

string

필수 항목입니다. 이 메시지에 사용할 언어의 코드입니다. BCP-47 언어 코드입니다(예: 'en-US' 또는 'fr-CA').

messageText

string

필수 항목입니다. 언어별 메시지 텍스트입니다.

ClosingOffer

고객이 주문을 완료한 후 특정 상품의 업셀링을 유도합니다.

JSON 표현
{
  "closingMessages": [
    {
      object (ClosingMessage)
    }
  ]
}
필드
closingMessages[]

object (ClosingMessage)

필수 항목입니다. 적용할 오퍼 업셀을 종료합니다.

ClosingMessage

업셀 메시지 구성 종료

JSON 표현
{
  "offerMessage": {
    object (OfferMessage)
  },
  "skipTerms": [
    string
  ]
}
필드
offerMessage

object (OfferMessage)

필수 항목입니다. Offer 메시지 구성

skipTerms[]

string

(선택사항) 고객의 주문에 이미 포함된 상품의 이름에 이러한 용어가 포함되어 있으면 이 업셀은 건너뜁니다.

CelUpsell

어떤 상황별 조건에서 사용자에게 일련의 상품을 사전에 상향 판매해야 하는지 정의하는 사전 계산된 규칙을 나타냅니다.

JSON 표현
{
  "conditionExpression": string,
  "suggestedMenuItems": [
    string
  ],
  "triggerReason": string,
  "priority": integer,
  "suggestedModifiers": [
    string
  ],
  "suggestedModifierGroups": [
    {
      object (SuggestedModifierGroup)
    }
  ],
  "maxModifierPerGroup": integer,
  "suggestionOnly": boolean
}
필드
conditionExpression

string

필수 항목입니다. 현재 세션 상태(Order 및 ClientSessionMetadata)에 대해 평가되는 CEL(Common Expression Language) 문자열입니다. True로 평가되면 규칙이 트리거됩니다. 예: "context.weather_condition == 'HOT' && order.items.size() > 0"

suggestedMenuItems[]

string

필수 항목입니다. 이 규칙이 트리거되는 경우 추천할 항목의 시맨틱 이름입니다.

triggerReason

string

(선택사항) 자연스러운 업셀링을 구성할 수 있도록 이 업셀링이 이루어지는 이유를 설명하는 대화형 LLM에 제공되는 자연어 안내입니다. 예를 들면 "Suggest a cold drink because it is a hot day."입니다.

priority

integer

(선택사항) 이 규칙의 priority입니다. 숫자가 클수록 우선순위가 높습니다. 여러 규칙이 트리거되면 우선순위가 가장 높은 규칙의 추천이 우선 적용됩니다. 생략하면 priority의 기본값은 0입니다.

suggestedModifiers[]

string

(선택사항) 이 규칙이 트리거되는 경우 추천할 수정자의 시맨틱 이름입니다.

suggestedModifierGroups[]

object (SuggestedModifierGroup)

(선택사항) 이 규칙이 트리거되는 경우 추천할 옵션 그룹입니다.

maxModifierPerGroup

integer

(선택사항) 그룹당 추천할 최대 수정자 수입니다.

suggestionOnly

boolean

(선택사항) 실제 업셀링은 아니지만 사용자에게 추천 옵션을 표시하기 위한 것입니다.

SuggestedModifierGroup

추천 수정자 그룹입니다.

JSON 표현
{
  "name": string,
  "suggestedModifiers": [
    string
  ]
}
필드
name

string

(선택사항) 수정자 그룹의 시맨틱 이름입니다.

suggestedModifiers[]

string

(선택사항) 이 그룹 내에서 추천할 수정자의 시맨틱 이름입니다.

인사말

특정 언어의 인사말 메시지를 나타냅니다.

JSON 표현
{
  "languageCode": string,
  "greetingPhrases": [
    string
  ]
}
필드
languageCode

string

(선택사항) 인사말의 언어 코드입니다. BCP-47 언어 코드입니다(예: 'en-US' 또는 'fr-CA').

greetingPhrases[]

string

(선택사항) 지정된 언어로 된 인사말 목록입니다.

FeaturesConfig

에이전트 기능 구성입니다. 에이전트의 커스텀 요청 사항 및 도구를 생성하는 데 사용되는 기능 플래그 목록입니다.

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
}
필드
orderPickup

object (OrderPickup)

(선택사항) 주문 수령 기능 구성

orderDineIn

object (OrderDineIn)

(선택사항) 매장 식사 주문 기능 구성

nameCollection

object (NameCollection)

(선택사항) 이름 수집 기능 구성

confirmOrderInfoAtStart
(deprecated)

boolean

(선택사항) 세션 시작 시 주문 정보를 확인할지 여부입니다. 지원 중단됨: confirmOrderInfoOnFinalize로 대체되었습니다.

confirmOrderInfoOnFinalize

boolean

(선택사항) 주문을 완료할 때 주문 정보를 확인할지 여부입니다.

getOrderPrices

object (GetOrderPrices)

(선택사항) 주문 가격 기능 구성을 가져옵니다.

endSessionWithCheckoutRequest

object (EndSessionWithCheckoutRequest)

(선택사항) 체크아웃 요청 기능 구성으로 세션을 종료합니다.

enableAddressCollection

object (EnableAddressCollection)

(선택사항) 배송지 주소 수집 기능 구성을 사용 설정합니다.

supportCashPayment

object (SupportCashPayment)

(선택사항) 현금 결제 기능 구성을 지원합니다.

budgetBasedOrdering

boolean

(선택사항) 예산 기반 주문을 사용 설정할지 여부입니다.

OrderPickup

이 유형에는 필드가 없습니다.

고객이 에이전트를 통해 포장 주문을 할 수 있습니다.

OrderDineIn

이 유형에는 필드가 없습니다.

고객이 에이전트를 통해 매장 식사 음식을 주문할 수 있습니다.

NameCollection

이 유형에는 필드가 없습니다.

상담사가 세션 중에 고객 이름을 수집할 수 있습니다.

GetOrderPrices

이 유형에는 필드가 없습니다.

에이전트가 POS에서 주문 가격을 가져올 수 있습니다.

EndSessionWithCheckoutRequest

이 유형에는 필드가 없습니다.

상담사가 체크아웃 요청으로 세션을 종료할 수 있습니다.

EnableAddressCollection

이 유형에는 필드가 없습니다.

상담사가 세션 중에 고객 배송지 주소를 수집할 수 있습니다.

SupportCashPayment

이 유형에는 필드가 없습니다.

상담사가 현금 결제를 지원할 수 있습니다.

InteractionMode

에이전트의 상호작용 모드입니다.

열거형
INTERACTION_MODE_UNSPECIFIED 상호작용 모드가 지정되지 않았습니다.
ORDER_TAKING 에이전트는 양방향 대화에 참여하여 주문을 받습니다.
LISTEN_ONLY 상담사는 듣기만 하고 말하지 않습니다.

DisambiguationStrategy

모호성 해소 제어의 전략 구성입니다.

JSON 표현
{
  "mappings": [
    {
      object (DisambiguationMapping)
    }
  ]
}
필드
mappings[]

object (DisambiguationMapping)

(선택사항) 구성된 모호성 해소 매핑입니다.

DisambiguationMapping

잘못된 용어를 수정하거나 모호한 항목을 명확히 하는 매핑 규칙입니다.

JSON 표현
{
  "type": enum (Type),
  "customerTerms": [
    string
  ],
  "targets": [
    {
      object (TargetItem)
    }
  ],
  "customInstruction": string
}
필드
type

enum (Type)

필수 항목입니다. 모호성 해소 규칙의 운영 유형입니다.

customerTerms[]

string

필수 항목입니다. 고객 발화 또는 바로가기 문자열입니다. 각 고객 용어는 100자로 제한됩니다.

targets[]

object (TargetItem)

필수 항목입니다. 중첩된 수정자를 포함하여 제안하거나 명확히 할 수 있는 완전히 구조화된 타겟 메뉴 항목입니다.

customInstruction

string

(선택사항) 선택적인 커스텀 조건부 매크로 요청 사항 또는 문구 힌트입니다.

유형

모호성 해소 규칙의 운영 유형입니다.

열거형
TYPE_UNSPECIFIED 지정되지 않은 규칙 유형입니다.
SINGLE_TARGET 단일 타겟 매핑 (바로가기, 맞춤 조합 구성 또는 유효한 동의어)에 사용됩니다.
INVALID_ITEM 잘못된 상품, 재고가 없는 상품 또는 경쟁사 제품에 사용됩니다.
DISAMBIGUATION 여러 유효한 타겟 옵션 중에서 명확한 설명이 필요한 모호한 입력에 사용됩니다.

TargetItem

구조화된 항목 대체 타겟입니다.

JSON 표현
{
  "itemName": string,
  "modifiers": [
    {
      object (TargetModifier)
    }
  ],
  "itemId": string
}
필드
itemName

string

필수 항목입니다. 메뉴 카탈로그의 항목 이름입니다.

modifiers[]

object (TargetModifier)

(선택사항) 이 타겟에 연결할 구조화된 수정자입니다.

itemId

string

(선택사항) 메뉴 카탈로그에 있는 항목의 고유 ID입니다 (menu.proto에 직접 연결됨).

TargetModifier

대상 항목에 적용할 구조화된 수정자입니다.

JSON 표현
{
  "modifierName": string,
  "modifierGroupName": string,
  "modifierId": string,
  "modifierGroupId": string
}
필드
modifierName

string

필수 항목입니다. 카탈로그 항목과 직접 일치하는 수정자 이름입니다.

modifierGroupName

string

(선택사항) 수정자를 바인딩하는 선택적 수정자 그룹 이름입니다.

modifierId

string

(선택사항) 메뉴 카탈로그에 있는 수정자의 고유 ID입니다 (menu.proto에 직접 연결됨).

modifierGroupId

string

(선택사항) 메뉴 카탈로그에 있는 수정자 그룹의 고유 ID입니다.

주

채널 구성의 상태입니다.

열거형
STATE_UNSPECIFIED 상태가 지정되지 않았습니다.
DRAFT 채널 구성이 초안 상태이며 아직 사용할 준비가 되지 않았습니다.
ACTIVE 채널 구성이 활성 상태이며 사용할 수 있습니다.
PROMOTED 채널 구성이 승격됩니다.

유형

채널 구성의 유형입니다.

열거형
TYPE_UNSPECIFIED 유형이 지정되지 않았습니다.
UPSELL_STRATEGY 채널 구성은 업셀 전략을 위한 것입니다.
AGENT_CUSTOMIZATION 채널 구성은 에이전트 맞춤설정을 위한 것입니다.

SupplementalInstructions

추가 요청 사항 구성입니다.

JSON 표현
{
  "freeformInstructions": string
}
필드
freeformInstructions

string

(선택사항) 프롬프트에 포함된 자유 형식 안내입니다.

어조

에이전트의 어조입니다.

열거형
TONE_UNSPECIFIED 어조가 지정되지 않았습니다.
CONCISE_AND_DIRECT 상담사의 어조는 간결하고 직접적입니다.
PROFESSIONAL_AND_FORMAL 에이전트의 어조는 전문적이고 격식 있습니다.
FRIENDLY 상담사의 어조가 친절합니다.

메서드

create

ChannelConfig를 만듭니다.

delete

지정된 ChannelConfig를 삭제합니다.

get

ChannelConfig를 가져옵니다.

list

ChannelConfigs를 나열합니다.

patch

지정된 ChannelConfig를 업데이트합니다.

promote

지정된 채널 구성을 승격합니다.