Class: Google::Cloud::Dialogflow::CX::V3::ResponseMessage

Inherits:
Object
  • Object
show all
Extended by:
Protobuf::MessageExts::ClassMethods
Includes:
Protobuf::MessageExts
Defined in:
proto_docs/google/cloud/dialogflow/cx/v3/response_message.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.

Defined Under Namespace

Modules: ResponseType Classes: ConversationSuccess, EndInteraction, KnowledgeInfoCard, LiveAgentHandoff, MixedAudio, OutputAudioText, PlayAudio, TelephonyTransferCall, Text

Instance Attribute Summary collapse

Instance Attribute Details

#channel::String

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

Returns:

  • (::String)

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



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#conversation_success::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess

Returns Indicates that the conversation succeeded.

Returns:



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#end_interaction::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::EndInteraction (readonly)

Returns Output only. A signal that indicates the interaction with the Dialogflow agent has ended. This message is generated by Dialogflow only when the conversation reaches END_SESSION page. It is not supposed to be defined by the user.

It's guaranteed that there is at most one such message in each response.

Returns:

  • (::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::EndInteraction)

    Output only. A signal that indicates the interaction with the Dialogflow agent has ended. This message is generated by Dialogflow only when the conversation reaches END_SESSION page. It is not supposed to be defined by the user.

    It's guaranteed that there is at most one such message in each response.



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#knowledge_info_card::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::KnowledgeInfoCard

Returns Represents info card for knowledge answers, to be better rendered in Dialogflow Messenger.

Returns:



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#live_agent_handoff::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::LiveAgentHandoff

Returns Hands off conversation to a human agent.

Returns:



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#mixed_audio::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio (readonly)

Returns Output only. An audio response message composed of both the synthesized Dialogflow agent responses and responses defined via play_audio. This message is generated by Dialogflow only and not supposed to be defined by the user.

Returns:



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#output_audio_text::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::OutputAudioText

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

Returns:



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#payload::Google::Protobuf::Struct

Returns a response containing a custom, platform-specific payload.

Returns:



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#play_audio::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::PlayAudio

Returns Signal that the client should play an audio clip hosted at a client-specific URI. Dialogflow uses this to construct mixed_audio. However, Dialogflow itself does not try to read or process the URI in any way.

Returns:



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#response_type::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ResponseType

Returns Response type.



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#telephony_transfer_call::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::TelephonyTransferCall

Returns A signal that the client should transfer the phone call connected to this agent to a third-party endpoint.

Returns:



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end

#text::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::Text

Returns a text response.

Returns:



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
# File 'proto_docs/google/cloud/dialogflow/cx/v3/response_message.rb', line 97

class ResponseMessage
  include ::Google::Protobuf::MessageExts
  extend ::Google::Protobuf::MessageExts::ClassMethods

  # The text response message.
  # @!attribute [rw] text
  #   @return [::Array<::String>]
  #     Required. A collection of text response variants. If multiple variants
  #     are defined, only one text response variant is returned at runtime.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class Text
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page 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.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata for your handoff procedure. Dialogflow doesn't impose
  #     any structure on this.
  class LiveAgentHandoff
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::ConversationSuccess ConversationSuccess}.
  #
  # You may set this, for example:
  # * In the
  # {::Google::Cloud::Dialogflow::CX::V3::Page#entry_fulfillment entry_fulfillment}
  # of a {::Google::Cloud::Dialogflow::CX::V3::Page Page} if
  #   entering the page indicates that the conversation succeeded.
  # * In a webhook response when you determine that you handled the customer
  #   issue.
  # @!attribute [rw] metadata
  #   @return [::Google::Protobuf::Struct]
  #     Custom metadata. Dialogflow doesn't impose any structure on this.
  class ConversationSuccess
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # A text or ssml response that is preferentially used for TTS output audio
  # synthesis, as described in the comment on the ResponseMessage message.
  # @!attribute [rw] text
  #   @return [::String]
  #     The raw text to be synthesized.
  # @!attribute [rw] ssml
  #   @return [::String]
  #     The SSML text to be synthesized. For more information, see
  #     [SSML](/speech/text-to-speech/docs/ssml).
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class OutputAudioText
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class EndInteraction
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Specifies an audio clip to be played by the client as part of the response.
  # @!attribute [rw] audio_uri
  #   @return [::String]
  #     Required. URI of the audio clip. Dialogflow does not impose any
  #     validation on this value. It is specific to the client that reads it.
  # @!attribute [r] allow_playback_interruption
  #   @return [::Boolean]
  #     Output only. Whether the playback of this message can be interrupted by
  #     the end user's speech and the client can then starts the next Dialogflow
  #     request.
  class PlayAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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
  # {::Google::Cloud::Dialogflow::CX::V3::ResponseMessage#play_audio play_audio}.
  # This message is generated by Dialogflow only and not supposed to be
  # defined by the user.
  # @!attribute [rw] segments
  #   @return [::Array<::Google::Cloud::Dialogflow::CX::V3::ResponseMessage::MixedAudio::Segment>]
  #     Segments this audio response is composed of.
  class MixedAudio
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods

    # Represents one segment of audio.
    # @!attribute [rw] audio
    #   @return [::String]
    #     Raw audio synthesized from the Dialogflow agent's response using
    #     the output config specified in the request.
    # @!attribute [rw] uri
    #   @return [::String]
    #     Client-specific URI that points to an audio clip accessible to the
    #     client. Dialogflow does not impose any validation on it.
    # @!attribute [r] allow_playback_interruption
    #   @return [::Boolean]
    #     Output only. Whether the playback of this segment can be interrupted by
    #     the end user's speech and the client should then start the next
    #     Dialogflow request.
    class Segment
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end
  end

  # Represents the signal that telles the client to transfer the phone call
  # connected to the agent to a third-party endpoint.
  # @!attribute [rw] phone_number
  #   @return [::String]
  #     Transfer the call to a phone number
  #     in [E.164 format](https://en.wikipedia.org/wiki/E.164).
  class TelephonyTransferCall
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # 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.
  class KnowledgeInfoCard
    include ::Google::Protobuf::MessageExts
    extend ::Google::Protobuf::MessageExts::ClassMethods
  end

  # Represents different response types.
  module ResponseType
    # Not specified.
    RESPONSE_TYPE_UNSPECIFIED = 0

    # The response is from an [entry
    # prompt][google.cloud.dialogflow.cx.v3.Page.entry_fulfillment] in the
    # page.
    ENTRY_PROMPT = 1

    # The response is from [form-filling
    # prompt][google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior] in
    # the page.
    PARAMETER_PROMPT = 2

    # The response is from a [transition
    # route][google.cloud.dialogflow.cx.v3.TransitionRoute] or an [event
    # handler][EventHandler] in the page or flow or transition route group.
    HANDLER_PROMPT = 3
  end
end