Class: Google::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessage

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/dialogflow_v3/classes.rb,
lib/google/apis/dialogflow_v3/representations.rb,
lib/google/apis/dialogflow_v3/representations.rb

Overview

Represents a response message that can be returned by a conversational agent. Response messages are also used for output audio synthesis. The approach is as follows: * If at least one OutputAudioText response is present, then all OutputAudioText responses are linearly concatenated, and the result is used for output audio synthesis. * If the OutputAudioText responses are a mixture of text and SSML, then the concatenated result is treated as SSML; otherwise, the result is treated as either text or SSML as appropriate. The agent designer should ideally use either text or SSML consistently throughout the bot design. * Otherwise, all Text responses are linearly concatenated, and the result is used for output audio synthesis. This approach allows for more sophisticated user experience scenarios, where the text displayed to the user may differ from what is heard.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ GoogleCloudDialogflowCxV3ResponseMessage

Returns a new instance of GoogleCloudDialogflowCxV3ResponseMessage.



7552
7553
7554
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7552

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#channelString

The channel which the response is associated with. Clients can specify the channel via QueryParameters.channel, and only associated channel response will be returned. Corresponds to the JSON property channel

Returns:

  • (String)


7468
7469
7470
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7468

def channel
  @channel
end

#conversation_successGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageConversationSuccess

Indicates that the conversation succeeded, i.e., the bot handled the issue that the customer talked to it about. Dialogflow only uses this to determine which conversations should be counted as successful and doesn't process the metadata in this message in any way. Note that Dialogflow also considers conversations that get to the conversation end page as successful even if they don't return ConversationSuccess. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates that the conversation succeeded. * In a webhook response when you determine that you handled the customer issue. Corresponds to the JSON property conversationSuccess



7481
7482
7483
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7481

def conversation_success
  @conversation_success
end

#end_interactionGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageEndInteraction

Indicates that interaction with the Dialogflow agent has ended. This message is generated by Dialogflow only and not supposed to be defined by the user. Corresponds to the JSON property endInteraction



7487
7488
7489
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7487

def end_interaction
  @end_interaction
end

#knowledge_info_cardGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageKnowledgeInfoCard

Represents info card response. If the response contains generative knowledge prediction, Dialogflow will return a payload with Infobot Messenger compatible info card. Otherwise, the info card response is skipped. Corresponds to the JSON property knowledgeInfoCard



7494
7495
7496
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7494

def knowledge_info_card
  @knowledge_info_card
end

#live_agent_handoffGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageLiveAgentHandoff

Indicates that the conversation should be handed off to a live agent. Dialogflow only uses this to determine which conversations were handed off to a human agent for measurement purposes. What else to do with this signal is up to you and your handoff procedures. You may set this, for example: * In the entry_fulfillment of a Page if entering the page indicates something went extremely wrong in the conversation. * In a webhook response when you determine that the customer issue can only be handled by a human. Corresponds to the JSON property liveAgentHandoff



7505
7506
7507
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7505

def live_agent_handoff
  @live_agent_handoff
end

#mixed_audioGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageMixedAudio

Represents an audio message that is composed of both segments synthesized from the Dialogflow agent prompts and ones hosted externally at the specified URIs. The external URIs are specified via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user. Corresponds to the JSON property mixedAudio



7513
7514
7515
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7513

def mixed_audio
  @mixed_audio
end

#output_audio_textGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageOutputAudioText

A text or ssml response that is preferentially used for TTS output audio synthesis, as described in the comment on the ResponseMessage message. Corresponds to the JSON property outputAudioText



7519
7520
7521
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7519

def output_audio_text
  @output_audio_text
end

#payloadHash<String,Object>

Returns a response containing a custom, platform-specific payload. Corresponds to the JSON property payload

Returns:

  • (Hash<String,Object>)


7524
7525
7526
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7524

def payload
  @payload
end

#play_audioGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessagePlayAudio

Specifies an audio clip to be played by the client as part of the response. Corresponds to the JSON property playAudio



7529
7530
7531
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7529

def play_audio
  @play_audio
end

#response_typeString

Response type. Corresponds to the JSON property responseType

Returns:

  • (String)


7534
7535
7536
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7534

def response_type
  @response_type
end

#telephony_transfer_callGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageTelephonyTransferCall

Represents the signal that telles the client to transfer the phone call connected to the agent to a third-party endpoint. Corresponds to the JSON property telephonyTransferCall



7540
7541
7542
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7540

def telephony_transfer_call
  @telephony_transfer_call
end

#textGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ResponseMessageText

The text response message. Corresponds to the JSON property text



7545
7546
7547
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7545

def text
  @text
end

#tool_callGoogle::Apis::DialogflowV3::GoogleCloudDialogflowCxV3ToolCall

Represents a call of a specific tool's action with the specified inputs. Corresponds to the JSON property toolCall



7550
7551
7552
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7550

def tool_call
  @tool_call
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
# File 'lib/google/apis/dialogflow_v3/classes.rb', line 7557

def update!(**args)
  @channel = args[:channel] if args.key?(:channel)
  @conversation_success = args[:conversation_success] if args.key?(:conversation_success)
  @end_interaction = args[:end_interaction] if args.key?(:end_interaction)
  @knowledge_info_card = args[:knowledge_info_card] if args.key?(:knowledge_info_card)
  @live_agent_handoff = args[:live_agent_handoff] if args.key?(:live_agent_handoff)
  @mixed_audio = args[:mixed_audio] if args.key?(:mixed_audio)
  @output_audio_text = args[:output_audio_text] if args.key?(:output_audio_text)
  @payload = args[:payload] if args.key?(:payload)
  @play_audio = args[:play_audio] if args.key?(:play_audio)
  @response_type = args[:response_type] if args.key?(:response_type)
  @telephony_transfer_call = args[:telephony_transfer_call] if args.key?(:telephony_transfer_call)
  @text = args[:text] if args.key?(:text)
  @tool_call = args[:tool_call] if args.key?(:tool_call)
end