Method: projects.locations.sessions.processOrder

执行单轮逻辑来处理用户输入并返回结果。

HTTP 请求

POST https://foodorderingaiagent.googleapis.com/v1/{config.session=projects/*/locations/*/sessions/*}:processOrder

网址采用 gRPC 转码语法。

路径参数

参数
config.session

string

必需。订单的会话。格式:projects/{project}/locations/{location}/sessions/{session}

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "config": {
    "session": string,
    "store": string,
    "laneId": string,
    "enableEchoCancellation": boolean,
    "daypartId": string,
    "featureGate": {
      "menuResponseEnabled": boolean,
      "updatedOrderStateEnabled": boolean,
      "enableOrderStatusRetrieval": boolean
    },
    "clientAppInfo": {
      "deviceModel": string,
      "osVersion": string,
      "sdkVersion": string
    },
    "mode": enum (SessionMode),
    "channelType": enum (ChannelType),
    "enableListenOnlyDualChannel": boolean,
    "testSessionStartTime": string
  },
  "turnType": enum (TurnType),

  // Union field input can be only one of the following:
  "textInput": {
    object (TextInput)
  },
  "audioInput": {
    object (AudioInput)
  },
  "eventInput": {
    object (EventInput)
  },
  "clientExecutionResult": {
    object (ClientExecutionResult)
  },
  "blobInput": {
    object (Blob)
  }
  // End of list of possible types for union field input.
}
字段
config.store

string

必需。下单的商店。格式:projects/{project}/locations/{location}/brands/{brand}/stores/{store}

config.laneId

string

可选。特定免下车通道的 ID。

config.enableEchoCancellation

boolean

可选。是否为会话启用回声消除功能。如果启用,客户端应在 AudioInput 中提供 customerAudio 和 crewAudio。

config.daypartId

string

可选。餐单的时段,包括早餐、午餐、晚餐等。这用于确定要用于订单的菜单。

config.featureGate

object (FeatureGate)

可选。会话的特性门控。此参数用于为会话启用或停用功能。

config.clientAppInfo

object (ClientAppInfo)

可选。有关客户端应用和设备环境的信息。

config.mode

enum (SessionMode)

可选。会话的模式。

config.channelType

enum (ChannelType)

可选。用于代理通信的渠道类型。

config.enableListenOnlyDualChannel

boolean

可选。是否为会话启用仅限收听的双声道。如果启用,客户端应在 AudioInput 中提供 customerAudio 和 crewAudio,CES 将在媒体处理服务器上执行 EAC 和求和。

config.testSessionStartTime

string (Timestamp format)

可选。会话的开始时间,用于测试或评估。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

turnType

enum (TurnType)

可选。请求在会话生命周期中的位置的明确指示。允许客户端确定性地控制何时注入初次会话设置变量。

联合字段 input。来自客户端的输入。input 只能是下列其中一项:
textInput

object (TextInput)

来自客户端的文本输入。

audioInput

object (AudioInput)

来自客户端的音频输入。

eventInput

object (EventInput)

来自客户端的事件输入。

clientExecutionResult

object (ClientExecutionResult)

客户端执行请求的结果。

blobInput

object (Blob)

通用二进制数据输入。镜像 http://google3/google/cloud/ces/v1main/session_service.proto?l=720

响应正文

FoodOrderingService.ProcessOrder 的响应消息。在功能上包含 BidiProcessOrderResponse 中的字段,但不包含流式传输特有的字段。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "responses": [
    {
      object (BidiProcessOrderResponse)
    }
  ]
}
字段
responses[]

object (BidiProcessOrderResponse)

仅限输出。代理对请求的响应列表,按顺序返回。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

如需了解详情,请参阅 Authentication Overview。

TextInput

来自客户端的文本输入。客户端也可以向智能体发送文本输入,而不是音频。客户端必须使用文本或音频输入,不能同时使用两者。

JSON 表示法
{
  "text": string
}
字段
text

string

必需。来自客户端的文本语音。

AudioInput

来自客户端的音频输入。输入的音频可能包含多个声道,分别对应客户、机组人员等。这些声道应全部同步,并采用配置中指定的格式。不应包含音频标头。默认情况下,音频应使用 16 位线性 PCM 音频编码和 16000 Hz 采样率。所有通道的总字节数应小于 25600 字节。

JSON 表示法
{
  "customerAudio": string,
  "crewAudio": string
}
字段
customerAudio

string (bytes format)

必需。客户音频数据。

使用 base64 编码的字符串。

crewAudio

string (bytes format)

可选。Crew 音频数据。这是与客户位于同一车道的员工的可选音频通道,用作回声消除的参考音频。

使用 base64 编码的字符串。

EventInput

来自客户端的事件输入。这用于在代理中触发特定事件。

JSON 表示法
{

  // Union field event can be only one of the following:
  "driveOffEvent": {
    object (DriveOffEvent)
  },
  "crewInterjectionEvent": {
    object (CrewInterjectionEvent)
  },
  "updateOrderStateEvent": {
    object (OrderStateUpdateEvent)
  },
  "clientEscalationEvent": {
    object (ClientEscalationEvent)
  },
  "callerHangupEvent": {
    object (CallerHangupEvent)
  },
  "posErrorInput": {
    object (PosErrorEvent)
  }
  // End of list of possible types for union field event.
}
字段
联合字段 event。下一个 ID:10 要触发的事件。event 只能是下列其中一项:
driveOffEvent

object (DriveOffEvent)

驶离事件。

crewInterjectionEvent

object (CrewInterjectionEvent)

机组人员插话事件。

updateOrderStateEvent

object (OrderStateUpdateEvent)

客户端对订单状态的更新。

clientEscalationEvent

object (ClientEscalationEvent)

客户端上报事件。

callerHangupEvent

object (CallerHangupEvent)

可选。来电者挂断事件。

posErrorInput

object (PosErrorEvent)

可选。POS 错误事件。

DriveOffEvent

驶离事件。这表示客户已驾车离开。此事件发生后,会话将关闭。

JSON 表示法
{
  "reason": string
}
字段
reason

string

可选。驶离原因,例如“订单已完成”“意外驶离”。

CrewInterjectionEvent

机组人员插话事件。这表示有工作人员在会话中插话。此活动结束后,会话将关闭。

JSON 表示法
{
  "mode": string
}
字段
mode

string

可选。机组人员插话时所用的模式,例如“headset”(耳机)、“pos”(销售终端)。

OrderStateUpdateEvent

更新订单状态请求。当订单在客户端更新时(例如,通过传统触摸界面添加或移除商品时),应发送此事件。

JSON 表示法
{
  "order": {
    object (Order)
  }
}
字段
order

object (Order)

必需。与此会话关联的订单的更新状态。

ClientEscalationEvent

表示客户端正在将会话上报给人工客服。

JSON 表示法
{
  "reason": string
}
字段
reason

string

可选。客户上报的原因,例如“payment-declined”“pos-error”“integration-error”等。

CallerHangupEvent

此类型没有字段。

表示客户提前挂断了电话(例如,对 AI 感到反感)。

PosErrorEvent

销售终端 (POS) 专属故障。

JSON 表示法
{
  "errorMessages": [
    string
  ],
  "affectedItemUids": [
    string
  ],
  "affectedExternalIds": [
    string
  ],
  "metadata": {
    string: string,
    ...
  }
}
字段
errorMessages[]

string

可选。人类可读的错误说明列表。如果同时发生多个问题(例如,多件商品缺货),或者为了更详细地说明单个复杂故障,可以提供多条出错提示。代理可以使用这些消息来通知客户或用于日志记录。

affectedItemUids[]

string

可选。由订餐 AI 智能体生成的导致错误的唯一商品 UID。对应于 UpdatedOrderState.OrderItem.uid。

affectedExternalIds[]

string

可选。导致错误的外部 ID(来自菜单)列表。应与 POS 中的实际代表一致,这些代表通常位于 menu.proto 中的集成属性下(例如,在 ItemIntegrationAttributes 或 ModifierIntegrationAttributes 中)。

metadata

map (key: string, value: string)

可选。用于调试或品牌特定信号的自由格式元数据。可用于传递品牌特定的错误代码或类别(例如,{"BRAND_ERROR_CODE": "OUT_OF_STOCK"})。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }。

ClientExecutionResult

客户端执行请求的结果。

JSON 表示法
{
  "executionId": string,

  // Union field response can be only one of the following:
  "finalizeOrderResponse": {
    object (FinalizeOrderResponse)
  },
  "orderPricesResponse": {
    object (OrderPricesResponse)
  },
  "validateDeliveryAddressResponse": {
    object (ValidateDeliveryAddressResponse)
  },
  "orderStatusResponse": {
    object (OrderStatusResponse)
  }
  // End of list of possible types for union field response.
}
字段
executionId

string

必需。此结果对应的执行请求的 ID。

联合字段 response。执行的具体结果。response 只能是下列其中一项:
finalizeOrderResponse

object (FinalizeOrderResponse)

订单最终确定的结果。

orderPricesResponse

object (OrderPricesResponse)

获取订单价格的结果。

validateDeliveryAddressResponse

object (ValidateDeliveryAddressResponse)

配送地址验证结果。

orderStatusResponse

object (OrderStatusResponse)

获取订单状态的结果。

FinalizeOrderResponse

订单最终确定的结果。

JSON 表示法
{
  "paymentFlowEnabled": boolean,
  "paymentInfo": {
    object (PaymentInfo)
  },
  "totalAmountDue": {
    object (Money)
  },
  "orderPriceInfo": {
    object (OrderPriceInfo)
  }
}
字段
paymentFlowEnabled

boolean

可选。是否在代理中启用付款处理流程。

paymentInfo

object (PaymentInfo)

可选。客户的付款信息。如果 paymentFlowEnabled 为 false,则不执行任何操作。

totalAmountDue

object (Money)

可选。订单的应付总金额。

orderPriceInfo

object (OrderPriceInfo)

可选。订单的详细价格信息。

PaymentInfo

用户的付款信息。

JSON 表示法
{
  "creditCardLastFourDigits": string,
  "creditCardCvv": string,
  "paymentMethod": enum (PaymentMethod)
}
字段
creditCardLastFourDigits

string

可选。信用卡的后四位数字。此属性用于在付款阶段验证信用卡号。

creditCardCvv

string

可选。信用卡的 CVV。

paymentMethod

enum (PaymentMethod)

可选。所用支付方式的类型。

PaymentMethod

支付方式的类型。

枚举
PAYMENT_METHOD_UNSPECIFIED 未指定支付方式。
PAYMENT_METHOD_CREDIT_CARD 信用卡。
PAYMENT_METHOD_CASH 现金。

OrderPricesResponse

获取订单价格的结果。

JSON 表示法
{
  "success": boolean,
  "orderPriceInfo": {
    object (OrderPriceInfo)
  }
}
字段
success

boolean

必需。是否成功检索到订单价格。

orderPriceInfo

object (OrderPriceInfo)

可选。扣除所有折扣、费用、税费等之后的订单总价

ValidateDeliveryAddressResponse

配送地址验证结果。

JSON 表示法
{
  "success": boolean,
  "validationStatus": enum (ValidationStatus)
}
字段
success

boolean

必需。验证是否已完成且未发生错误。

validationStatus

enum (ValidationStatus)

必需。配送地址的验证状态。

OrderStatusResponse

获取订单状态的结果。

JSON 表示法
{
  "success": boolean
}
字段
success

boolean

必需。是否成功检索到订单状态。

Blob

表示对话中的 blob 输入或输出。

JSON 表示法
{
  "mimeType": string,
  "data": string
}
字段
mimeType

string

必需。来源数据的 IANA 标准 MIME 类型。

data

string (bytes format)

必需。Blob 的原始字节。

使用 base64 编码的字符串。

配置

会话和订餐属性的配置。在每次连接开始时,客户端必须先发送一条配置消息。此操作必须在任何其他发起会话的请求之前完成。如果客户端断开连接,则应在重新连接时重复发送相同的配置消息。

JSON 表示法
{
  "session": string,
  "store": string,
  "laneId": string,
  "enableEchoCancellation": boolean,
  "daypartId": string,
  "featureGate": {
    object (FeatureGate)
  },
  "clientAppInfo": {
    object (ClientAppInfo)
  },
  "mode": enum (SessionMode),
  "channelType": enum (ChannelType),
  "enableListenOnlyDualChannel": boolean,
  "testSessionStartTime": string
}
字段
session

string

必需。订单的会话。格式:projects/{project}/locations/{location}/sessions/{session}

store

string

必需。下单的商店。格式:projects/{project}/locations/{location}/brands/{brand}/stores/{store}

laneId

string

可选。特定免下车通道的 ID。

enableEchoCancellation

boolean

可选。是否为会话启用回声消除功能。如果启用,客户端应在 AudioInput 中提供 customerAudio 和 crewAudio。

daypartId

string

可选。餐单的时段,包括早餐、午餐、晚餐等。这用于确定要用于订单的菜单。

featureGate

object (FeatureGate)

可选。会话的特性门控。此参数用于为会话启用或停用功能。

clientAppInfo

object (ClientAppInfo)

可选。有关客户端应用和设备环境的信息。

mode

enum (SessionMode)

可选。会话的模式。

channelType

enum (ChannelType)

可选。用于代理通信的渠道类型。

enableListenOnlyDualChannel

boolean

可选。是否为会话启用仅限收听的双声道。如果启用,客户端应在 AudioInput 中提供 customerAudio 和 crewAudio,CES 将在媒体处理服务器上执行 EAC 和求和。

testSessionStartTime

string (Timestamp format)

可选。会话的开始时间,用于测试或评估。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z"、"2014-10-02T15:01:23.045123456Z" 或 "2014-10-02T15:01:23+05:30"。

FeatureGate

会话的特性门控。此参数用于为会话启用或停用功能。

JSON 表示法
{
  "menuResponseEnabled": boolean,
  "updatedOrderStateEnabled": boolean,
  "enableOrderStatusRetrieval": boolean
}
字段
menuResponseEnabled

boolean

可选。如果设置了此字段,则在 BidiProcessOrderResponse 中向客户端返回菜单数据。

updatedOrderStateEnabled

boolean

可选。如果设置了此字段,系统会返回 updatedOrderState,而不是 legacyOrderStateResponse。

enableOrderStatusRetrieval

boolean

可选。如果设置,代理将支持订单状态检索。

ClientAppInfo

与客户端应用和设备环境相关的信息。这主要用于日志记录、分析和调试。

JSON 表示法
{
  "deviceModel": string,
  "osVersion": string,
  "sdkVersion": string
}
字段
deviceModel

string

可选。客户端的设备型号(例如“iPhone 13”“Pixel 7”“Kiosk v2”)。

osVersion

string

可选。客户端的操作系统版本(例如“iOS 16.1”“Android 13”)。

sdkVersion

string

可选。客户端 SDK 或应用程序的版本。

SessionMode

会话的模式。

枚举
SESSION_MODE_UNSPECIFIED 未指定会话模式。
HYBRID 该会话同时支持音频和文字。这是默认设置。
TEXT 此会话仅支持文本。

TurnType

表示会话中一元请求的生命周期位置。

枚举
TURN_TYPE_UNSPECIFIED 未指定转弯类型。
INITIALIZE 明确指明此请求会以一元模式初始化会话。设置后,初次会话变量(例如商店元数据和菜单)会注入 CES。
SUBSEQUENT 明确表示后续对话轮次或会话中更新。设置后,系统会省略初次会话变量,以防止输入词元激增。

BidiProcessOrderResponse

从 FoodOrderingService.BidiProcessOrder 方法返回的顶级消息。

JSON 表示法
{

  // Union field response can be only one of the following:
  "agentAudio": {
    object (AgentAudio)
  },
  "speechRecognition": {
    object (SpeechRecognition)
  },
  "legacyOrderStateResponse": {
    object
  },
  "interruptionSignal": {
    object (InterruptionSignal)
  },
  "agentEvent": {
    object (AgentEvent)
  },
  "clientExecutionRequest": {
    object (ClientExecutionRequest)
  },
  "updatedOrderState": {
    object (UpdatedOrderState)
  },
  "agentText": {
    object (AgentText)
  },
  "suggestedOptions": {
    object (SuggestedOptions)
  },
  "sentimentMeasurement": {
    object (SentimentMeasurement)
  },
  "turnCompleted": {
    object (TurnCompleted)
  },
  "endSession": {
    object (EndSession)
  }
  // End of list of possible types for union field response.
}
字段
联合字段 response。智能体的回答。response 只能是下列其中一项:
agentAudio

object (AgentAudio)

智能体的音频回答。

speechRecognition

object (SpeechRecognition)

智能体的语音识别结果。

legacyOrderStateResponse

object (Struct format)

会话的旧版订单状态响应。

interruptionSignal

object (InterruptionSignal)

检测到音频输入中的中断信号。

agentEvent

object (AgentEvent)

来自代理的事件。

clientExecutionRequest

object (ClientExecutionRequest)

请求会转发给客户端执行。此字段用于客户端执行,例如向订单添加代码。

updatedOrderState

object (UpdatedOrderState)

表示订单状态更新。包含订单的完整状态。

agentText

object (AgentText)

智能体提供的文字回答。

suggestedOptions

object (SuggestedOptions)

可向客户建议的选项。

sentimentMeasurement

object (SentimentMeasurement)

针对此轮对话测得的实时情感得分。

turnCompleted

object (TurnCompleted)

转向完成消息。

endSession

object (EndSession)

表示会话即将结束,这将是最后一轮对话。

代理将完成发送当前回合的所有待处理响应,然后发送最终的 turnCompleted 消息。代理不会开始任何新一轮对话。例如,一个 2 轮对话如下所示:

  • 轮次 1
  • 客户输入 1
  • … 代理回复和订单状态消息
  • turnCompleted
  • 轮次 2:
  • 客户输入 2
  • … 代理回复和订单状态消息
  • endSession
  • …待处理的代理回复和订单状态消息
  • turnCompleted

AgentAudio

智能体的音频回答。

JSON 表示法
{
  "agentAudio": string
}
字段
agentAudio

string (bytes format)

来自代理的音频数据。

使用 base64 编码的字符串。

SpeechRecognition

智能体的语音识别结果。

JSON 表示法
{
  "transcript": string,
  "languageCode": string,
  "isFinal": boolean
}
字段
transcript

string

以检测到的语言转写音频输入中的文本。

languageCode

string

转写内容的语言代码。语言代码应采用 BCP-47 格式,例如“en-US”。

isFinal

boolean

指示这是否为该轮对话的最终转写内容。

InterruptionSignal

此类型没有字段。

表示代理的音频回答已被中断(例如,被最终用户打断)。客户端应立即停止播放。

AgentEvent

来自智能体的特别活动,需要客户端采取行动。

JSON 表示法
{

  // Union field event can be only one of the following:
  "restartOrder": {
    object (RestartOrder)
  }
  // End of list of possible types for union field event.
}
字段
联合字段 event。来自代理的事件。event 只能是下列其中一项:
restartOrder

object (RestartOrder)

客户请求重新启动订单。

RestartOrder

客户要求重新下单。

JSON 表示法
{
  "confirmationStep": boolean
}
字段
confirmationStep

boolean

客服人员正在请求客户确认重启请求。

ClientExecutionRequest

向客户端发出的执行命令的请求。

JSON 表示法
{
  "executionId": string,

  // Union field request can be only one of the following:
  "finalizeOrderRequest": {
    object (FinalizeOrderRequest)
  },
  "submitOrderRequest": {
    object (SubmitOrderRequest)
  },
  "orderPricesRequest": {
    object (OrderPricesRequest)
  },
  "validateDeliveryAddressRequest": {
    object (ValidateDeliveryAddressRequest)
  },
  "orderStatusRequest": {
    object (OrderStatusRequest)
  }
  // End of list of possible types for union field request.
}
字段
executionId

string

必需。此执行请求的唯一 ID。

联合字段 request。要执行的具体请求。request 只能是下列其中一项:
finalizeOrderRequest

object (FinalizeOrderRequest)

完成订单的请求。

submitOrderRequest

object (SubmitOrderRequest)

提交订单的请求。

orderPricesRequest

object (OrderPricesRequest)

获取订单价格的请求。

validateDeliveryAddressRequest

object (ValidateDeliveryAddressRequest)

验证配送地址的请求。

orderStatusRequest

object (OrderStatusRequest)

获取订单状态的请求。

FinalizeOrderRequest

此类型没有字段。

完成订单的请求。当客户表示已完成订购并希望付款时,代理通常会发送此消息。

SubmitOrderRequest

提交订单的请求,其中包含从客户那里收集的所有必要付款信息。

JSON 表示法
{
  "paymentInfo": {
    object (PaymentInfo)
  },
  "loyaltyInfo": {
    object (LoyaltyInfo)
  },
  "tipAmount": {
    object (Money)
  }
}
字段
paymentInfo

object (PaymentInfo)

必需。订单的付款信息。

loyaltyInfo

object (LoyaltyInfo)

可选。订单消耗的会员积分。

tipAmount

object (Money)

可选。订单的小费金额。

LoyaltyInfo

表示客户的会员卡信息。

JSON 表示法
{
  "loyaltyAmount": {
    object (LoyaltyAmount)
  }
}
字段
loyaltyAmount

object (LoyaltyAmount)

必需。会员积分。这可以是会员积分余额或已使用的会员积分。

LoyaltyAmount

表示客户的会员积分。

JSON 表示法
{
  "units": string
}
字段
units

string (int64 format)

必需。积分。

OrderPricesRequest

获取订单价格的请求。

JSON 表示法
{
  "order": {
    object (Order)
  }
}
字段
order

object (Order)

可选。要获取价格的订单。如果未指定,我们可以假设请求针对的是会话中的现有订单/购物车。

ValidateDeliveryAddressRequest

请求验证在会话期间收集的配送地址。

JSON 表示法
{
  "deliveryAddress": {
    object (DeliveryAddress)
  }
}
字段
deliveryAddress

object (DeliveryAddress)

必需。要验证的配送地址。

OrderStatusRequest

此类型没有字段。

获取订单状态的请求。

UpdatedOrderState

代理返回的事件,表示订单状态的更新。

JSON 表示法
{
  "order": {
    object (Order)
  },
  "changed": boolean
}
字段
order

object (Order)

与此会话关联的订单的更新状态。

changed

boolean

仅限输出。订单状态是否有更新。

AgentText

智能体提供的文字回答。

JSON 表示法
{
  "text": string
}
字段
text

string

智能体提供的文字回答。

SuggestedOptions

可向客户建议的选项。

JSON 表示法
{
  "suggestedModifierGroups": {
    object (SuggestedModifierGroups)
  },

  // Union field suggested_options can be only one of the following:
  "suggestedItems": {
    object (SuggestedItems)
  },
  "suggestedModifiers": {
    object (SuggestedModifiers)
  }
  // End of list of possible types for union field suggested_options.
}
字段
suggestedModifierGroups

object (SuggestedModifierGroups)

一组建议的修饰符。

联合字段 suggested_options。建议的选项。suggested_options 只能是下列其中一项:
suggestedItems

object (SuggestedItems)

向客户推荐的商品列表。

suggestedModifiers

object (SuggestedModifiers)

建议客户使用的修饰符列表。

SuggestedItems

向客户推荐的商品列表。

JSON 表示法
{
  "items": [
    {
      object (SuggestedItem)
    }
  ]
}
字段
items[]

object (SuggestedItem)

要向客户推荐的商品。

SuggestedItem

要向客户推荐的商品。

JSON 表示法
{
  "itemId": string,
  "displayName": string,
  "image": {
    object (Image)
  },
  "basePrice": {
    object (Money)
  },
  "integrationAttributes": {
    object (ItemIntegrationAttributes)
  }
}
字段
itemId

string

菜单中商品的 ID。

displayName

string

要在界面上显示的此项的人类可读名称。

image

object (Image)

在界面中为此项显示的图片。

basePrice

object (Money)

商品的基本价格。这可能会受到所选修饰选项的影响。这是商品的单价。

integrationAttributes

object (ItemIntegrationAttributes)

与此实体关联的元数据,用于下游集成。

SuggestedModifiers

建议客户使用的修饰符列表。

JSON 表示法
{
  "modifiers": [
    {
      object (SuggestedModifier)
    }
  ],
  "parentUid": string
}
字段
modifiers[]

object (SuggestedModifier)

要向客户建议的修饰符。

parentUid

string

要应用修饰符的父级商品/修饰符的唯一标识符。

SuggestedModifier

向客户建议的修饰符。

JSON 表示法
{
  "modifierId": string,
  "modifierGroupId": string,
  "modifierGroupDisplayName": string,
  "displayName": string,
  "image": {
    object (Image)
  },
  "priceAdjustment": {
    object (Money)
  },
  "integrationAttributes": {
    object (ModifierIntegrationAttributes)
  },
  "alreadyIncluded": boolean
}
字段
modifierId

string

菜单中修饰符的 ID。

modifierGroupId

string

如果接受建议,应将此修饰符添加到的修饰符组的 ID。

modifierGroupDisplayName

string

此修饰符所属修饰符组的显示名称。

displayName

string

要在界面上显示的此项的人类可读名称。

image

object (Image)

在界面中为此项显示的图片。

priceAdjustment

object (Money)

与此修饰符关联的价格调整(如有)。这是修饰符的单价。

integrationAttributes

object (ModifierIntegrationAttributes)

与此实体关联的元数据,用于下游集成。

alreadyIncluded

boolean

此修饰符是否已包含在订单中。

SuggestedModifierGroups

要向客户推荐的修饰符组列表。

JSON 表示法
{
  "modifierGroups": [
    {
      object (SuggestedModGroup)
    }
  ]
}
字段
modifierGroups[]

object (SuggestedModGroup)

要向客户推荐的修饰符组。

SuggestedModGroup

向客户推荐的修饰符组。

JSON 表示法
{
  "modifierGroupId": string,
  "displayName": string,
  "modifiers": [
    {
      object (SuggestedModifier)
    }
  ],
  "maxSelectionCount": integer,
  "minSelectionCount": integer,
  "maxSelectionCountPerModifier": integer
}
字段
modifierGroupId

string

菜单中修饰符组的 ID。

displayName

string

修饰符组的显示名称。

modifiers[]

object (SuggestedModifier)

此组中的修饰符。

maxSelectionCount

integer

可从此组中选择的修饰符数量上限。

minSelectionCount

integer

必须从此组中选择的修饰符数量下限。

maxSelectionCountPerModifier

integer

限制每个修饰符在此组中可应用的次数。

SentimentMeasurement

针对此轮对话测得的实时情感得分。

JSON 表示法
{
  "score": number,
  "magnitude": number
}
字段
score

number

可选。情感得分介于 -1.0(消极情感)和 1.0(积极情感)之间。

magnitude

number

可选。情感强度,不考虑得分。

TurnCompleted

此类型没有字段。

表示 Food AI 智能体已检测到当前对话轮次结束,并且不会再为此轮次提供任何输出。

EndSession

表示代理已终止会话,原因可能是会话已成功完成(例如,用户说“再见!”)或客服人员上报。

JSON 表示法
{
  "type": enum (EndType),
  "reason": string,
  "posResponse": string,
  "agentResponse": string,
  "storeSchedule": {
    object (Schedule)
  }
}
字段
type

enum (EndType)

结束会话事件的类型。

reason

string

结束会话的原因。

posResponse

string

可选。POS 系统在订单签入后返回的响应(可选)。这是一个不透明的字符串载荷,表示 POS 交易状态。

agentResponse

string

可选。要向用户朗读/显示的最终智能体回答消息(可选)。

storeSchedule

object (Schedule)

可选。商店营业时间。仅当结束类型为 STORE_CLOSED 时,才会设置此字段。

EndType

结束会话事件的类型。

枚举
END_TYPE_UNSPECIFIED 未指定结束类型。
DRIVE_OFF 客户开车离开了。
AGENT_ESCALATION 智能体将对话上报给人工客服。
CREW_INTERJECTION 一名工作人员在会议中插话。
ORDER_COMPLETED 订单已成功完成,无需采取进一步行动。
PAYMENT_FLOW_SUCCESS 付款流程已成功完成,您无需采取进一步行动。
PAYMENT_FLOW_FAILURE 付款流程失败。
CLIENT_ESCALATION 客户将该会话上报给了人工客服。
CALLER_HANGUP 客户提前挂断了电话。
REQUESTED_CHECKOUT 客户要求结账。
REQUESTED_ORDER_STATUS 客户询问了其订单状态。
STORE_CLOSED 商店已停业。