google-apis-contactcenterinsights_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 530c5c6e70911a40a88138f332f7368a48d2179b297cd796532e379b5ca64800
4
+ data.tar.gz: 2f74f1501f7b9a3433641b439322047f217c0c2f2327804f489d14e74282b798
5
+ SHA512:
6
+ metadata.gz: b8ea5334c3f01eccad11c5512f2434045824725ed3f9e691ef7b7ef523414fdaa623f67e004afc10dd02166ae93d69ce58158f9c015f2ff6998be03aad314861
7
+ data.tar.gz: 33237749b045a83bd2fb3870052ef4363677bb7495e78843bef40f95fe1a30303d8e78dc816753055168f4356f945dedce15d1a7a633dd44b6e0b74642a9b793
data/.yardopts ADDED
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-contactcenterinsights_v1
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/contactcenterinsights_v1/*.rb
9
+ lib/google/apis/contactcenterinsights_v1.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-contactcenterinsights_v1
2
+
3
+ ### v0.1.0 (2021-09-03)
4
+
5
+ * Regenerated from discovery document revision 20210902
6
+ * Regenerated using generator version 0.4.0
7
+
data/LICENSE.md ADDED
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
data/OVERVIEW.md ADDED
@@ -0,0 +1,96 @@
1
+ # Simple REST client for version V1 of the Contact Center AI Insights API
2
+
3
+ This is a simple client library for version V1 of the Contact Center AI Insights API. It provides:
4
+
5
+ * A client object that connects to the HTTP/JSON REST endpoint for the service.
6
+ * Ruby objects for data structures related to the service.
7
+ * Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts.
8
+ * Control of retry, pagination, and timeouts.
9
+
10
+ Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information.
11
+
12
+ ## Getting started
13
+
14
+ ### Before you begin
15
+
16
+ There are a few setup steps you need to complete before you can use this library:
17
+
18
+ 1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
19
+ 2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).
20
+ 3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/contactcenterinsights.googleapis.com) in the console.
21
+
22
+ ### Installation
23
+
24
+ Add this line to your application's Gemfile:
25
+
26
+ ```ruby
27
+ gem 'google-apis-contactcenterinsights_v1', '~> 0.1'
28
+ ```
29
+
30
+ And then execute:
31
+
32
+ ```
33
+ $ bundle
34
+ ```
35
+
36
+ Or install it yourself as:
37
+
38
+ ```
39
+ $ gem install google-apis-contactcenterinsights_v1
40
+ ```
41
+
42
+ ### Creating a client object
43
+
44
+ Once the gem is installed, you can load the client code and instantiate a client.
45
+
46
+ ```ruby
47
+ # Load the client
48
+ require "google/apis/contactcenterinsights_v1"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::ContactcenterinsightsV1::ContactcenterinsightsService.new
52
+
53
+ # Authenticate calls
54
+ client.authentication = # ... use the googleauth gem to create credentials
55
+ ```
56
+
57
+ See the class reference docs for information on the methods you can call from a client.
58
+
59
+ ## Documentation
60
+
61
+ More detailed descriptions of the Google simple REST clients are available in two documents.
62
+
63
+ * The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
64
+ * The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
65
+
66
+ (Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Contactcenterinsights service in particular.)
67
+
68
+ For reference information on specific calls in the Contact Center AI Insights API, see the {Google::Apis::ContactcenterinsightsV1::ContactcenterinsightsService class reference docs}.
69
+
70
+ ## Which client should I use?
71
+
72
+ Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**.
73
+
74
+ This library, `google-apis-contactcenterinsights_v1`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
75
+
76
+ Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
77
+
78
+ Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
79
+
80
+ **For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
81
+
82
+ The [product documentation](https://cloud.google.com/contact-center/insights/docs) may provide guidance regarding the preferred client library to use.
83
+
84
+ ## Supported Ruby versions
85
+
86
+ This library is supported on Ruby 2.5+.
87
+
88
+ Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
89
+
90
+ ## License
91
+
92
+ This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}.
93
+
94
+ ## Support
95
+
96
+ Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
@@ -0,0 +1,3034 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module ContactcenterinsightsV1
24
+
25
+ # The analysis resource.
26
+ class GoogleCloudContactcenterinsightsV1Analysis
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # The result of an analysis.
30
+ # Corresponds to the JSON property `analysisResult`
31
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1AnalysisResult]
32
+ attr_accessor :analysis_result
33
+
34
+ # Output only. The time at which the analysis was created, which occurs when the
35
+ # long-running operation completes.
36
+ # Corresponds to the JSON property `createTime`
37
+ # @return [String]
38
+ attr_accessor :create_time
39
+
40
+ # Immutable. The resource name of the analysis. Format: projects/`project`/
41
+ # locations/`location`/conversations/`conversation`/analyses/`analysis`
42
+ # Corresponds to the JSON property `name`
43
+ # @return [String]
44
+ attr_accessor :name
45
+
46
+ # Output only. The time at which the analysis was requested.
47
+ # Corresponds to the JSON property `requestTime`
48
+ # @return [String]
49
+ attr_accessor :request_time
50
+
51
+ def initialize(**args)
52
+ update!(**args)
53
+ end
54
+
55
+ # Update properties of this object
56
+ def update!(**args)
57
+ @analysis_result = args[:analysis_result] if args.key?(:analysis_result)
58
+ @create_time = args[:create_time] if args.key?(:create_time)
59
+ @name = args[:name] if args.key?(:name)
60
+ @request_time = args[:request_time] if args.key?(:request_time)
61
+ end
62
+ end
63
+
64
+ # The result of an analysis.
65
+ class GoogleCloudContactcenterinsightsV1AnalysisResult
66
+ include Google::Apis::Core::Hashable
67
+
68
+ # Call-specific metadata created during analysis.
69
+ # Corresponds to the JSON property `callAnalysisMetadata`
70
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata]
71
+ attr_accessor :call_analysis_metadata
72
+
73
+ # The time at which the analysis ended.
74
+ # Corresponds to the JSON property `endTime`
75
+ # @return [String]
76
+ attr_accessor :end_time
77
+
78
+ def initialize(**args)
79
+ update!(**args)
80
+ end
81
+
82
+ # Update properties of this object
83
+ def update!(**args)
84
+ @call_analysis_metadata = args[:call_analysis_metadata] if args.key?(:call_analysis_metadata)
85
+ @end_time = args[:end_time] if args.key?(:end_time)
86
+ end
87
+ end
88
+
89
+ # Call-specific metadata created during analysis.
90
+ class GoogleCloudContactcenterinsightsV1AnalysisResultCallAnalysisMetadata
91
+ include Google::Apis::Core::Hashable
92
+
93
+ # A list of call annotations that apply to this call.
94
+ # Corresponds to the JSON property `annotations`
95
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1CallAnnotation>]
96
+ attr_accessor :annotations
97
+
98
+ # All the entities in the call.
99
+ # Corresponds to the JSON property `entities`
100
+ # @return [Hash<String,Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1Entity>]
101
+ attr_accessor :entities
102
+
103
+ # All the matched intents in the call.
104
+ # Corresponds to the JSON property `intents`
105
+ # @return [Hash<String,Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1Intent>]
106
+ attr_accessor :intents
107
+
108
+ # Issue Modeling result on a conversation.
109
+ # Corresponds to the JSON property `issueModelResult`
110
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1IssueModelResult]
111
+ attr_accessor :issue_model_result
112
+
113
+ # All the matched phrase matchers in the call.
114
+ # Corresponds to the JSON property `phraseMatchers`
115
+ # @return [Hash<String,Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1PhraseMatchData>]
116
+ attr_accessor :phrase_matchers
117
+
118
+ # Overall conversation-level sentiment for each channel of the call.
119
+ # Corresponds to the JSON property `sentiments`
120
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ConversationLevelSentiment>]
121
+ attr_accessor :sentiments
122
+
123
+ def initialize(**args)
124
+ update!(**args)
125
+ end
126
+
127
+ # Update properties of this object
128
+ def update!(**args)
129
+ @annotations = args[:annotations] if args.key?(:annotations)
130
+ @entities = args[:entities] if args.key?(:entities)
131
+ @intents = args[:intents] if args.key?(:intents)
132
+ @issue_model_result = args[:issue_model_result] if args.key?(:issue_model_result)
133
+ @phrase_matchers = args[:phrase_matchers] if args.key?(:phrase_matchers)
134
+ @sentiments = args[:sentiments] if args.key?(:sentiments)
135
+ end
136
+ end
137
+
138
+ # A point in a conversation that marks the start or the end of an annotation.
139
+ class GoogleCloudContactcenterinsightsV1AnnotationBoundary
140
+ include Google::Apis::Core::Hashable
141
+
142
+ # The index in the sequence of transcribed pieces of the conversation where the
143
+ # boundary is located. This index starts at zero.
144
+ # Corresponds to the JSON property `transcriptIndex`
145
+ # @return [Fixnum]
146
+ attr_accessor :transcript_index
147
+
148
+ # The word index of this boundary with respect to the first word in the
149
+ # transcript piece. This index starts at zero.
150
+ # Corresponds to the JSON property `wordIndex`
151
+ # @return [Fixnum]
152
+ attr_accessor :word_index
153
+
154
+ def initialize(**args)
155
+ update!(**args)
156
+ end
157
+
158
+ # Update properties of this object
159
+ def update!(**args)
160
+ @transcript_index = args[:transcript_index] if args.key?(:transcript_index)
161
+ @word_index = args[:word_index] if args.key?(:word_index)
162
+ end
163
+ end
164
+
165
+ # The feedback that the customer has about a certain answer in the conversation.
166
+ class GoogleCloudContactcenterinsightsV1AnswerFeedback
167
+ include Google::Apis::Core::Hashable
168
+
169
+ # Indicates whether an answer or item was clicked by the human agent.
170
+ # Corresponds to the JSON property `clicked`
171
+ # @return [Boolean]
172
+ attr_accessor :clicked
173
+ alias_method :clicked?, :clicked
174
+
175
+ # The correctness level of an answer.
176
+ # Corresponds to the JSON property `correctnessLevel`
177
+ # @return [String]
178
+ attr_accessor :correctness_level
179
+
180
+ # Indicates whether an answer or item was displayed to the human agent in the
181
+ # agent desktop UI.
182
+ # Corresponds to the JSON property `displayed`
183
+ # @return [Boolean]
184
+ attr_accessor :displayed
185
+ alias_method :displayed?, :displayed
186
+
187
+ def initialize(**args)
188
+ update!(**args)
189
+ end
190
+
191
+ # Update properties of this object
192
+ def update!(**args)
193
+ @clicked = args[:clicked] if args.key?(:clicked)
194
+ @correctness_level = args[:correctness_level] if args.key?(:correctness_level)
195
+ @displayed = args[:displayed] if args.key?(:displayed)
196
+ end
197
+ end
198
+
199
+ # Agent Assist Article Suggestion data.
200
+ class GoogleCloudContactcenterinsightsV1ArticleSuggestionData
201
+ include Google::Apis::Core::Hashable
202
+
203
+ # The system's confidence score that this article is a good match for this
204
+ # conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely
205
+ # certain).
206
+ # Corresponds to the JSON property `confidenceScore`
207
+ # @return [Float]
208
+ attr_accessor :confidence_score
209
+
210
+ # Map that contains metadata about the Article Suggestion and the document that
211
+ # it originates from.
212
+ # Corresponds to the JSON property `metadata`
213
+ # @return [Hash<String,String>]
214
+ attr_accessor :metadata
215
+
216
+ # Name of the query record. Format: projects/`project`/locations/`location`/
217
+ # queryRecords/`query_record`
218
+ # Corresponds to the JSON property `queryRecord`
219
+ # @return [String]
220
+ attr_accessor :query_record
221
+
222
+ # The knowledge document that this answer was extracted from. Format: projects/`
223
+ # project`/knowledgeBases/`knowledge_base`/documents/`document`
224
+ # Corresponds to the JSON property `source`
225
+ # @return [String]
226
+ attr_accessor :source
227
+
228
+ # Article title.
229
+ # Corresponds to the JSON property `title`
230
+ # @return [String]
231
+ attr_accessor :title
232
+
233
+ # Article URI.
234
+ # Corresponds to the JSON property `uri`
235
+ # @return [String]
236
+ attr_accessor :uri
237
+
238
+ def initialize(**args)
239
+ update!(**args)
240
+ end
241
+
242
+ # Update properties of this object
243
+ def update!(**args)
244
+ @confidence_score = args[:confidence_score] if args.key?(:confidence_score)
245
+ @metadata = args[:metadata] if args.key?(:metadata)
246
+ @query_record = args[:query_record] if args.key?(:query_record)
247
+ @source = args[:source] if args.key?(:source)
248
+ @title = args[:title] if args.key?(:title)
249
+ @uri = args[:uri] if args.key?(:uri)
250
+ end
251
+ end
252
+
253
+ # Response of querying an issue model's statistics.
254
+ class GoogleCloudContactcenterinsightsV1CalculateIssueModelStatsResponse
255
+ include Google::Apis::Core::Hashable
256
+
257
+ # Aggregated statistics about an issue model.
258
+ # Corresponds to the JSON property `currentStats`
259
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1IssueModelLabelStats]
260
+ attr_accessor :current_stats
261
+
262
+ def initialize(**args)
263
+ update!(**args)
264
+ end
265
+
266
+ # Update properties of this object
267
+ def update!(**args)
268
+ @current_stats = args[:current_stats] if args.key?(:current_stats)
269
+ end
270
+ end
271
+
272
+ # The response for calculating conversation statistics.
273
+ class GoogleCloudContactcenterinsightsV1CalculateStatsResponse
274
+ include Google::Apis::Core::Hashable
275
+
276
+ # The average duration of all conversations. The average is calculated using
277
+ # only conversations that have a time duration.
278
+ # Corresponds to the JSON property `averageDuration`
279
+ # @return [String]
280
+ attr_accessor :average_duration
281
+
282
+ # The average number of turns per conversation.
283
+ # Corresponds to the JSON property `averageTurnCount`
284
+ # @return [Fixnum]
285
+ attr_accessor :average_turn_count
286
+
287
+ # The total number of conversations.
288
+ # Corresponds to the JSON property `conversationCount`
289
+ # @return [Fixnum]
290
+ attr_accessor :conversation_count
291
+
292
+ # A time series representing conversations over time.
293
+ # Corresponds to the JSON property `conversationCountTimeSeries`
294
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries]
295
+ attr_accessor :conversation_count_time_series
296
+
297
+ # A map associating each custom highlighter resource name with its respective
298
+ # number of matches in the set of conversations.
299
+ # Corresponds to the JSON property `customHighlighterMatches`
300
+ # @return [Hash<String,Fixnum>]
301
+ attr_accessor :custom_highlighter_matches
302
+
303
+ # A map associating each issue resource name with its respective number of
304
+ # matches in the set of conversations. Key has the format: `projects//locations//
305
+ # issueModels//issues/`
306
+ # Corresponds to the JSON property `issueMatches`
307
+ # @return [Hash<String,Fixnum>]
308
+ attr_accessor :issue_matches
309
+
310
+ # A map associating each smart highlighter display name with its respective
311
+ # number of matches in the set of conversations.
312
+ # Corresponds to the JSON property `smartHighlighterMatches`
313
+ # @return [Hash<String,Fixnum>]
314
+ attr_accessor :smart_highlighter_matches
315
+
316
+ def initialize(**args)
317
+ update!(**args)
318
+ end
319
+
320
+ # Update properties of this object
321
+ def update!(**args)
322
+ @average_duration = args[:average_duration] if args.key?(:average_duration)
323
+ @average_turn_count = args[:average_turn_count] if args.key?(:average_turn_count)
324
+ @conversation_count = args[:conversation_count] if args.key?(:conversation_count)
325
+ @conversation_count_time_series = args[:conversation_count_time_series] if args.key?(:conversation_count_time_series)
326
+ @custom_highlighter_matches = args[:custom_highlighter_matches] if args.key?(:custom_highlighter_matches)
327
+ @issue_matches = args[:issue_matches] if args.key?(:issue_matches)
328
+ @smart_highlighter_matches = args[:smart_highlighter_matches] if args.key?(:smart_highlighter_matches)
329
+ end
330
+ end
331
+
332
+ # A time series representing conversations over time.
333
+ class GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeries
334
+ include Google::Apis::Core::Hashable
335
+
336
+ # The duration of each interval.
337
+ # Corresponds to the JSON property `intervalDuration`
338
+ # @return [String]
339
+ attr_accessor :interval_duration
340
+
341
+ # An ordered list of intervals from earliest to latest, where each interval
342
+ # represents the number of conversations that transpired during the time window.
343
+ # Corresponds to the JSON property `points`
344
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval>]
345
+ attr_accessor :points
346
+
347
+ def initialize(**args)
348
+ update!(**args)
349
+ end
350
+
351
+ # Update properties of this object
352
+ def update!(**args)
353
+ @interval_duration = args[:interval_duration] if args.key?(:interval_duration)
354
+ @points = args[:points] if args.key?(:points)
355
+ end
356
+ end
357
+
358
+ # A single interval in a time series.
359
+ class GoogleCloudContactcenterinsightsV1CalculateStatsResponseTimeSeriesInterval
360
+ include Google::Apis::Core::Hashable
361
+
362
+ # The number of conversations created in this interval.
363
+ # Corresponds to the JSON property `conversationCount`
364
+ # @return [Fixnum]
365
+ attr_accessor :conversation_count
366
+
367
+ # The start time of this interval.
368
+ # Corresponds to the JSON property `startTime`
369
+ # @return [String]
370
+ attr_accessor :start_time
371
+
372
+ def initialize(**args)
373
+ update!(**args)
374
+ end
375
+
376
+ # Update properties of this object
377
+ def update!(**args)
378
+ @conversation_count = args[:conversation_count] if args.key?(:conversation_count)
379
+ @start_time = args[:start_time] if args.key?(:start_time)
380
+ end
381
+ end
382
+
383
+ # A piece of metadata that applies to a window of a call.
384
+ class GoogleCloudContactcenterinsightsV1CallAnnotation
385
+ include Google::Apis::Core::Hashable
386
+
387
+ # A point in a conversation that marks the start or the end of an annotation.
388
+ # Corresponds to the JSON property `annotationEndBoundary`
389
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1AnnotationBoundary]
390
+ attr_accessor :annotation_end_boundary
391
+
392
+ # A point in a conversation that marks the start or the end of an annotation.
393
+ # Corresponds to the JSON property `annotationStartBoundary`
394
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1AnnotationBoundary]
395
+ attr_accessor :annotation_start_boundary
396
+
397
+ # The channel of the audio where the annotation occurs. For single-channel audio,
398
+ # this field is not populated.
399
+ # Corresponds to the JSON property `channelTag`
400
+ # @return [Fixnum]
401
+ attr_accessor :channel_tag
402
+
403
+ # The data for an entity mention annotation. This represents a mention of an `
404
+ # Entity` in the conversation.
405
+ # Corresponds to the JSON property `entityMentionData`
406
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1EntityMentionData]
407
+ attr_accessor :entity_mention_data
408
+
409
+ # The data for a hold annotation.
410
+ # Corresponds to the JSON property `holdData`
411
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1HoldData]
412
+ attr_accessor :hold_data
413
+
414
+ # The data for an intent match. Represents an intent match for a text segment in
415
+ # the conversation. A text segment can be part of a sentence, a complete
416
+ # sentence, or an utterance with multiple sentences.
417
+ # Corresponds to the JSON property `intentMatchData`
418
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1IntentMatchData]
419
+ attr_accessor :intent_match_data
420
+
421
+ # The data for an interruption annotation.
422
+ # Corresponds to the JSON property `interruptionData`
423
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1InterruptionData]
424
+ attr_accessor :interruption_data
425
+
426
+ # The data for a matched phrase matcher. Represents information identifying a
427
+ # phrase matcher for a given match.
428
+ # Corresponds to the JSON property `phraseMatchData`
429
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1PhraseMatchData]
430
+ attr_accessor :phrase_match_data
431
+
432
+ # The data for a sentiment annotation.
433
+ # Corresponds to the JSON property `sentimentData`
434
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1SentimentData]
435
+ attr_accessor :sentiment_data
436
+
437
+ # The data for a silence annotation.
438
+ # Corresponds to the JSON property `silenceData`
439
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1SilenceData]
440
+ attr_accessor :silence_data
441
+
442
+ def initialize(**args)
443
+ update!(**args)
444
+ end
445
+
446
+ # Update properties of this object
447
+ def update!(**args)
448
+ @annotation_end_boundary = args[:annotation_end_boundary] if args.key?(:annotation_end_boundary)
449
+ @annotation_start_boundary = args[:annotation_start_boundary] if args.key?(:annotation_start_boundary)
450
+ @channel_tag = args[:channel_tag] if args.key?(:channel_tag)
451
+ @entity_mention_data = args[:entity_mention_data] if args.key?(:entity_mention_data)
452
+ @hold_data = args[:hold_data] if args.key?(:hold_data)
453
+ @intent_match_data = args[:intent_match_data] if args.key?(:intent_match_data)
454
+ @interruption_data = args[:interruption_data] if args.key?(:interruption_data)
455
+ @phrase_match_data = args[:phrase_match_data] if args.key?(:phrase_match_data)
456
+ @sentiment_data = args[:sentiment_data] if args.key?(:sentiment_data)
457
+ @silence_data = args[:silence_data] if args.key?(:silence_data)
458
+ end
459
+ end
460
+
461
+ # The conversation resource.
462
+ class GoogleCloudContactcenterinsightsV1Conversation
463
+ include Google::Apis::Core::Hashable
464
+
465
+ # An opaque, user-specified string representing the human agent who handled the
466
+ # conversation.
467
+ # Corresponds to the JSON property `agentId`
468
+ # @return [String]
469
+ attr_accessor :agent_id
470
+
471
+ # Call-specific metadata.
472
+ # Corresponds to the JSON property `callMetadata`
473
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ConversationCallMetadata]
474
+ attr_accessor :call_metadata
475
+
476
+ # Output only. The time at which the conversation was created.
477
+ # Corresponds to the JSON property `createTime`
478
+ # @return [String]
479
+ attr_accessor :create_time
480
+
481
+ # The conversation source, which is a combination of transcript and audio.
482
+ # Corresponds to the JSON property `dataSource`
483
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ConversationDataSource]
484
+ attr_accessor :data_source
485
+
486
+ # Output only. All the matched Dialogflow intents in the call. The key
487
+ # corresponds to a Dialogflow intent, format: projects/`project`/agent/`agent`/
488
+ # intents/`intent`
489
+ # Corresponds to the JSON property `dialogflowIntents`
490
+ # @return [Hash<String,Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1DialogflowIntent>]
491
+ attr_accessor :dialogflow_intents
492
+
493
+ # Output only. The duration of the conversation.
494
+ # Corresponds to the JSON property `duration`
495
+ # @return [String]
496
+ attr_accessor :duration
497
+
498
+ # The time at which this conversation should expire. After this time, the
499
+ # conversation data and any associated analyses will be deleted.
500
+ # Corresponds to the JSON property `expireTime`
501
+ # @return [String]
502
+ attr_accessor :expire_time
503
+
504
+ # A map for the user to specify any custom fields. A maximum of 20 labels per
505
+ # conversation is allowed, with a maximum of 256 characters per entry.
506
+ # Corresponds to the JSON property `labels`
507
+ # @return [Hash<String,String>]
508
+ attr_accessor :labels
509
+
510
+ # A user-specified language code for the conversation.
511
+ # Corresponds to the JSON property `languageCode`
512
+ # @return [String]
513
+ attr_accessor :language_code
514
+
515
+ # The analysis resource.
516
+ # Corresponds to the JSON property `latestAnalysis`
517
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1Analysis]
518
+ attr_accessor :latest_analysis
519
+
520
+ # Immutable. The conversation medium.
521
+ # Corresponds to the JSON property `medium`
522
+ # @return [String]
523
+ attr_accessor :medium
524
+
525
+ # Immutable. The resource name of the conversation. Format: projects/`project`/
526
+ # locations/`location`/conversations/`conversation`
527
+ # Corresponds to the JSON property `name`
528
+ # @return [String]
529
+ attr_accessor :name
530
+
531
+ # Output only. The annotations that were generated during the customer and agent
532
+ # interaction.
533
+ # Corresponds to the JSON property `runtimeAnnotations`
534
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1RuntimeAnnotation>]
535
+ attr_accessor :runtime_annotations
536
+
537
+ # The time at which the conversation started.
538
+ # Corresponds to the JSON property `startTime`
539
+ # @return [String]
540
+ attr_accessor :start_time
541
+
542
+ # A message representing the transcript of a conversation.
543
+ # Corresponds to the JSON property `transcript`
544
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ConversationTranscript]
545
+ attr_accessor :transcript
546
+
547
+ # Input only. The TTL for this resource. If specified, then this TTL will be
548
+ # used to calculate the expire time.
549
+ # Corresponds to the JSON property `ttl`
550
+ # @return [String]
551
+ attr_accessor :ttl
552
+
553
+ # Output only. The number of turns in the conversation.
554
+ # Corresponds to the JSON property `turnCount`
555
+ # @return [Fixnum]
556
+ attr_accessor :turn_count
557
+
558
+ # Output only. The most recent time at which the conversation was updated.
559
+ # Corresponds to the JSON property `updateTime`
560
+ # @return [String]
561
+ attr_accessor :update_time
562
+
563
+ def initialize(**args)
564
+ update!(**args)
565
+ end
566
+
567
+ # Update properties of this object
568
+ def update!(**args)
569
+ @agent_id = args[:agent_id] if args.key?(:agent_id)
570
+ @call_metadata = args[:call_metadata] if args.key?(:call_metadata)
571
+ @create_time = args[:create_time] if args.key?(:create_time)
572
+ @data_source = args[:data_source] if args.key?(:data_source)
573
+ @dialogflow_intents = args[:dialogflow_intents] if args.key?(:dialogflow_intents)
574
+ @duration = args[:duration] if args.key?(:duration)
575
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
576
+ @labels = args[:labels] if args.key?(:labels)
577
+ @language_code = args[:language_code] if args.key?(:language_code)
578
+ @latest_analysis = args[:latest_analysis] if args.key?(:latest_analysis)
579
+ @medium = args[:medium] if args.key?(:medium)
580
+ @name = args[:name] if args.key?(:name)
581
+ @runtime_annotations = args[:runtime_annotations] if args.key?(:runtime_annotations)
582
+ @start_time = args[:start_time] if args.key?(:start_time)
583
+ @transcript = args[:transcript] if args.key?(:transcript)
584
+ @ttl = args[:ttl] if args.key?(:ttl)
585
+ @turn_count = args[:turn_count] if args.key?(:turn_count)
586
+ @update_time = args[:update_time] if args.key?(:update_time)
587
+ end
588
+ end
589
+
590
+ # Call-specific metadata.
591
+ class GoogleCloudContactcenterinsightsV1ConversationCallMetadata
592
+ include Google::Apis::Core::Hashable
593
+
594
+ # The audio channel that contains the agent.
595
+ # Corresponds to the JSON property `agentChannel`
596
+ # @return [Fixnum]
597
+ attr_accessor :agent_channel
598
+
599
+ # The audio channel that contains the customer.
600
+ # Corresponds to the JSON property `customerChannel`
601
+ # @return [Fixnum]
602
+ attr_accessor :customer_channel
603
+
604
+ def initialize(**args)
605
+ update!(**args)
606
+ end
607
+
608
+ # Update properties of this object
609
+ def update!(**args)
610
+ @agent_channel = args[:agent_channel] if args.key?(:agent_channel)
611
+ @customer_channel = args[:customer_channel] if args.key?(:customer_channel)
612
+ end
613
+ end
614
+
615
+ # The conversation source, which is a combination of transcript and audio.
616
+ class GoogleCloudContactcenterinsightsV1ConversationDataSource
617
+ include Google::Apis::Core::Hashable
618
+
619
+ # A Dialogflow source of conversation data.
620
+ # Corresponds to the JSON property `dialogflowSource`
621
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1DialogflowSource]
622
+ attr_accessor :dialogflow_source
623
+
624
+ # A Cloud Storage source of conversation data.
625
+ # Corresponds to the JSON property `gcsSource`
626
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1GcsSource]
627
+ attr_accessor :gcs_source
628
+
629
+ def initialize(**args)
630
+ update!(**args)
631
+ end
632
+
633
+ # Update properties of this object
634
+ def update!(**args)
635
+ @dialogflow_source = args[:dialogflow_source] if args.key?(:dialogflow_source)
636
+ @gcs_source = args[:gcs_source] if args.key?(:gcs_source)
637
+ end
638
+ end
639
+
640
+ # One channel of conversation-level sentiment data.
641
+ class GoogleCloudContactcenterinsightsV1ConversationLevelSentiment
642
+ include Google::Apis::Core::Hashable
643
+
644
+ # The channel of the audio that the data applies to.
645
+ # Corresponds to the JSON property `channelTag`
646
+ # @return [Fixnum]
647
+ attr_accessor :channel_tag
648
+
649
+ # The data for a sentiment annotation.
650
+ # Corresponds to the JSON property `sentimentData`
651
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1SentimentData]
652
+ attr_accessor :sentiment_data
653
+
654
+ def initialize(**args)
655
+ update!(**args)
656
+ end
657
+
658
+ # Update properties of this object
659
+ def update!(**args)
660
+ @channel_tag = args[:channel_tag] if args.key?(:channel_tag)
661
+ @sentiment_data = args[:sentiment_data] if args.key?(:sentiment_data)
662
+ end
663
+ end
664
+
665
+ # The call participant speaking for a given utterance.
666
+ class GoogleCloudContactcenterinsightsV1ConversationParticipant
667
+ include Google::Apis::Core::Hashable
668
+
669
+ # Deprecated. Use `dialogflow_participant_name` instead. The name of the
670
+ # Dialogflow participant. Format: projects/`project`/locations/`location`/
671
+ # conversations/`conversation`/participants/`participant`
672
+ # Corresponds to the JSON property `dialogflowParticipant`
673
+ # @return [String]
674
+ attr_accessor :dialogflow_participant
675
+
676
+ # The name of the participant provided by Dialogflow. Format: projects/`project`/
677
+ # locations/`location`/conversations/`conversation`/participants/`participant`
678
+ # Corresponds to the JSON property `dialogflowParticipantName`
679
+ # @return [String]
680
+ attr_accessor :dialogflow_participant_name
681
+
682
+ # The role of the participant.
683
+ # Corresponds to the JSON property `role`
684
+ # @return [String]
685
+ attr_accessor :role
686
+
687
+ # A user-specified ID representing the participant.
688
+ # Corresponds to the JSON property `userId`
689
+ # @return [String]
690
+ attr_accessor :user_id
691
+
692
+ def initialize(**args)
693
+ update!(**args)
694
+ end
695
+
696
+ # Update properties of this object
697
+ def update!(**args)
698
+ @dialogflow_participant = args[:dialogflow_participant] if args.key?(:dialogflow_participant)
699
+ @dialogflow_participant_name = args[:dialogflow_participant_name] if args.key?(:dialogflow_participant_name)
700
+ @role = args[:role] if args.key?(:role)
701
+ @user_id = args[:user_id] if args.key?(:user_id)
702
+ end
703
+ end
704
+
705
+ # A message representing the transcript of a conversation.
706
+ class GoogleCloudContactcenterinsightsV1ConversationTranscript
707
+ include Google::Apis::Core::Hashable
708
+
709
+ # A list of sequential transcript segments that comprise the conversation.
710
+ # Corresponds to the JSON property `transcriptSegments`
711
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment>]
712
+ attr_accessor :transcript_segments
713
+
714
+ def initialize(**args)
715
+ update!(**args)
716
+ end
717
+
718
+ # Update properties of this object
719
+ def update!(**args)
720
+ @transcript_segments = args[:transcript_segments] if args.key?(:transcript_segments)
721
+ end
722
+ end
723
+
724
+ # A segment of a full transcript.
725
+ class GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegment
726
+ include Google::Apis::Core::Hashable
727
+
728
+ # For conversations derived from multi-channel audio, this is the channel number
729
+ # corresponding to the audio from that channel. For audioChannelCount = N, its
730
+ # output values can range from '1' to 'N'. A channel tag of 0 indicates that the
731
+ # audio is mono.
732
+ # Corresponds to the JSON property `channelTag`
733
+ # @return [Fixnum]
734
+ attr_accessor :channel_tag
735
+
736
+ # A confidence estimate between 0.0 and 1.0 of the fidelity of this segment. A
737
+ # default value of 0.0 indicates that the value is unset.
738
+ # Corresponds to the JSON property `confidence`
739
+ # @return [Float]
740
+ attr_accessor :confidence
741
+
742
+ # The language code of this segment as a [BCP-47](https://www.rfc-editor.org/rfc/
743
+ # bcp/bcp47.txt) language tag. Example: "en-US".
744
+ # Corresponds to the JSON property `languageCode`
745
+ # @return [String]
746
+ attr_accessor :language_code
747
+
748
+ # The call participant speaking for a given utterance.
749
+ # Corresponds to the JSON property `segmentParticipant`
750
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ConversationParticipant]
751
+ attr_accessor :segment_participant
752
+
753
+ # The text of this segment.
754
+ # Corresponds to the JSON property `text`
755
+ # @return [String]
756
+ attr_accessor :text
757
+
758
+ # A list of the word-specific information for each word in the segment.
759
+ # Corresponds to the JSON property `words`
760
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo>]
761
+ attr_accessor :words
762
+
763
+ def initialize(**args)
764
+ update!(**args)
765
+ end
766
+
767
+ # Update properties of this object
768
+ def update!(**args)
769
+ @channel_tag = args[:channel_tag] if args.key?(:channel_tag)
770
+ @confidence = args[:confidence] if args.key?(:confidence)
771
+ @language_code = args[:language_code] if args.key?(:language_code)
772
+ @segment_participant = args[:segment_participant] if args.key?(:segment_participant)
773
+ @text = args[:text] if args.key?(:text)
774
+ @words = args[:words] if args.key?(:words)
775
+ end
776
+ end
777
+
778
+ # Word-level info for words in a transcript.
779
+ class GoogleCloudContactcenterinsightsV1ConversationTranscriptTranscriptSegmentWordInfo
780
+ include Google::Apis::Core::Hashable
781
+
782
+ # A confidence estimate between 0.0 and 1.0 of the fidelity of this word. A
783
+ # default value of 0.0 indicates that the value is unset.
784
+ # Corresponds to the JSON property `confidence`
785
+ # @return [Float]
786
+ attr_accessor :confidence
787
+
788
+ # Time offset of the end of this word relative to the beginning of the total
789
+ # conversation.
790
+ # Corresponds to the JSON property `endOffset`
791
+ # @return [String]
792
+ attr_accessor :end_offset
793
+
794
+ # Time offset of the start of this word relative to the beginning of the total
795
+ # conversation.
796
+ # Corresponds to the JSON property `startOffset`
797
+ # @return [String]
798
+ attr_accessor :start_offset
799
+
800
+ # The word itself. Includes punctuation marks that surround the word.
801
+ # Corresponds to the JSON property `word`
802
+ # @return [String]
803
+ attr_accessor :word
804
+
805
+ def initialize(**args)
806
+ update!(**args)
807
+ end
808
+
809
+ # Update properties of this object
810
+ def update!(**args)
811
+ @confidence = args[:confidence] if args.key?(:confidence)
812
+ @end_offset = args[:end_offset] if args.key?(:end_offset)
813
+ @start_offset = args[:start_offset] if args.key?(:start_offset)
814
+ @word = args[:word] if args.key?(:word)
815
+ end
816
+ end
817
+
818
+ # Metadata for a create analysis operation.
819
+ class GoogleCloudContactcenterinsightsV1CreateAnalysisOperationMetadata
820
+ include Google::Apis::Core::Hashable
821
+
822
+ # Output only. The Conversation that this Analysis Operation belongs to.
823
+ # Corresponds to the JSON property `conversation`
824
+ # @return [String]
825
+ attr_accessor :conversation
826
+
827
+ # Output only. The time the operation was created.
828
+ # Corresponds to the JSON property `createTime`
829
+ # @return [String]
830
+ attr_accessor :create_time
831
+
832
+ # Output only. The time the operation finished running.
833
+ # Corresponds to the JSON property `endTime`
834
+ # @return [String]
835
+ attr_accessor :end_time
836
+
837
+ def initialize(**args)
838
+ update!(**args)
839
+ end
840
+
841
+ # Update properties of this object
842
+ def update!(**args)
843
+ @conversation = args[:conversation] if args.key?(:conversation)
844
+ @create_time = args[:create_time] if args.key?(:create_time)
845
+ @end_time = args[:end_time] if args.key?(:end_time)
846
+ end
847
+ end
848
+
849
+ # Metadata for creating an issue model.
850
+ class GoogleCloudContactcenterinsightsV1CreateIssueModelMetadata
851
+ include Google::Apis::Core::Hashable
852
+
853
+ # Output only. The time the operation was created.
854
+ # Corresponds to the JSON property `createTime`
855
+ # @return [String]
856
+ attr_accessor :create_time
857
+
858
+ # Output only. The time the operation finished running.
859
+ # Corresponds to the JSON property `endTime`
860
+ # @return [String]
861
+ attr_accessor :end_time
862
+
863
+ # The request to create an issue model.
864
+ # Corresponds to the JSON property `request`
865
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1CreateIssueModelRequest]
866
+ attr_accessor :request
867
+
868
+ def initialize(**args)
869
+ update!(**args)
870
+ end
871
+
872
+ # Update properties of this object
873
+ def update!(**args)
874
+ @create_time = args[:create_time] if args.key?(:create_time)
875
+ @end_time = args[:end_time] if args.key?(:end_time)
876
+ @request = args[:request] if args.key?(:request)
877
+ end
878
+ end
879
+
880
+ # The request to create an issue model.
881
+ class GoogleCloudContactcenterinsightsV1CreateIssueModelRequest
882
+ include Google::Apis::Core::Hashable
883
+
884
+ # The issue model resource.
885
+ # Corresponds to the JSON property `issueModel`
886
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1IssueModel]
887
+ attr_accessor :issue_model
888
+
889
+ # Required. The parent resource of the issue model.
890
+ # Corresponds to the JSON property `parent`
891
+ # @return [String]
892
+ attr_accessor :parent
893
+
894
+ def initialize(**args)
895
+ update!(**args)
896
+ end
897
+
898
+ # Update properties of this object
899
+ def update!(**args)
900
+ @issue_model = args[:issue_model] if args.key?(:issue_model)
901
+ @parent = args[:parent] if args.key?(:parent)
902
+ end
903
+ end
904
+
905
+ # Metadata for deleting an issue model.
906
+ class GoogleCloudContactcenterinsightsV1DeleteIssueModelMetadata
907
+ include Google::Apis::Core::Hashable
908
+
909
+ # Output only. The time the operation was created.
910
+ # Corresponds to the JSON property `createTime`
911
+ # @return [String]
912
+ attr_accessor :create_time
913
+
914
+ # Output only. The time the operation finished running.
915
+ # Corresponds to the JSON property `endTime`
916
+ # @return [String]
917
+ attr_accessor :end_time
918
+
919
+ # The request to delete an issue model.
920
+ # Corresponds to the JSON property `request`
921
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest]
922
+ attr_accessor :request
923
+
924
+ def initialize(**args)
925
+ update!(**args)
926
+ end
927
+
928
+ # Update properties of this object
929
+ def update!(**args)
930
+ @create_time = args[:create_time] if args.key?(:create_time)
931
+ @end_time = args[:end_time] if args.key?(:end_time)
932
+ @request = args[:request] if args.key?(:request)
933
+ end
934
+ end
935
+
936
+ # The request to delete an issue model.
937
+ class GoogleCloudContactcenterinsightsV1DeleteIssueModelRequest
938
+ include Google::Apis::Core::Hashable
939
+
940
+ # Required. The name of the issue model to delete.
941
+ # Corresponds to the JSON property `name`
942
+ # @return [String]
943
+ attr_accessor :name
944
+
945
+ def initialize(**args)
946
+ update!(**args)
947
+ end
948
+
949
+ # Update properties of this object
950
+ def update!(**args)
951
+ @name = args[:name] if args.key?(:name)
952
+ end
953
+ end
954
+
955
+ # Metadata for deploying an issue model.
956
+ class GoogleCloudContactcenterinsightsV1DeployIssueModelMetadata
957
+ include Google::Apis::Core::Hashable
958
+
959
+ # Output only. The time the operation was created.
960
+ # Corresponds to the JSON property `createTime`
961
+ # @return [String]
962
+ attr_accessor :create_time
963
+
964
+ # Output only. The time the operation finished running.
965
+ # Corresponds to the JSON property `endTime`
966
+ # @return [String]
967
+ attr_accessor :end_time
968
+
969
+ # The request to deploy an issue model.
970
+ # Corresponds to the JSON property `request`
971
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1DeployIssueModelRequest]
972
+ attr_accessor :request
973
+
974
+ def initialize(**args)
975
+ update!(**args)
976
+ end
977
+
978
+ # Update properties of this object
979
+ def update!(**args)
980
+ @create_time = args[:create_time] if args.key?(:create_time)
981
+ @end_time = args[:end_time] if args.key?(:end_time)
982
+ @request = args[:request] if args.key?(:request)
983
+ end
984
+ end
985
+
986
+ # The request to deploy an issue model.
987
+ class GoogleCloudContactcenterinsightsV1DeployIssueModelRequest
988
+ include Google::Apis::Core::Hashable
989
+
990
+ # Required. The issue model to deploy.
991
+ # Corresponds to the JSON property `name`
992
+ # @return [String]
993
+ attr_accessor :name
994
+
995
+ def initialize(**args)
996
+ update!(**args)
997
+ end
998
+
999
+ # Update properties of this object
1000
+ def update!(**args)
1001
+ @name = args[:name] if args.key?(:name)
1002
+ end
1003
+ end
1004
+
1005
+ # The response to deploy an issue model.
1006
+ class GoogleCloudContactcenterinsightsV1DeployIssueModelResponse
1007
+ include Google::Apis::Core::Hashable
1008
+
1009
+ def initialize(**args)
1010
+ update!(**args)
1011
+ end
1012
+
1013
+ # Update properties of this object
1014
+ def update!(**args)
1015
+ end
1016
+ end
1017
+
1018
+ # The data for a Dialogflow intent. Represents a detected intent in the
1019
+ # conversation, e.g. MAKES_PROMISE.
1020
+ class GoogleCloudContactcenterinsightsV1DialogflowIntent
1021
+ include Google::Apis::Core::Hashable
1022
+
1023
+ # The human-readable name of the intent.
1024
+ # Corresponds to the JSON property `displayName`
1025
+ # @return [String]
1026
+ attr_accessor :display_name
1027
+
1028
+ def initialize(**args)
1029
+ update!(**args)
1030
+ end
1031
+
1032
+ # Update properties of this object
1033
+ def update!(**args)
1034
+ @display_name = args[:display_name] if args.key?(:display_name)
1035
+ end
1036
+ end
1037
+
1038
+ # Dialogflow interaction data.
1039
+ class GoogleCloudContactcenterinsightsV1DialogflowInteractionData
1040
+ include Google::Apis::Core::Hashable
1041
+
1042
+ # The confidence of the match ranging from 0.0 (completely uncertain) to 1.0 (
1043
+ # completely certain).
1044
+ # Corresponds to the JSON property `confidence`
1045
+ # @return [Float]
1046
+ attr_accessor :confidence
1047
+
1048
+ # The Dialogflow intent resource path. Format: projects/`project`/agent/`agent`/
1049
+ # intents/`intent`
1050
+ # Corresponds to the JSON property `dialogflowIntentId`
1051
+ # @return [String]
1052
+ attr_accessor :dialogflow_intent_id
1053
+
1054
+ def initialize(**args)
1055
+ update!(**args)
1056
+ end
1057
+
1058
+ # Update properties of this object
1059
+ def update!(**args)
1060
+ @confidence = args[:confidence] if args.key?(:confidence)
1061
+ @dialogflow_intent_id = args[:dialogflow_intent_id] if args.key?(:dialogflow_intent_id)
1062
+ end
1063
+ end
1064
+
1065
+ # A Dialogflow source of conversation data.
1066
+ class GoogleCloudContactcenterinsightsV1DialogflowSource
1067
+ include Google::Apis::Core::Hashable
1068
+
1069
+ # Cloud Storage URI that points to a file that contains the conversation audio.
1070
+ # Corresponds to the JSON property `audioUri`
1071
+ # @return [String]
1072
+ attr_accessor :audio_uri
1073
+
1074
+ # Output only. The name of the Dialogflow conversation that this conversation
1075
+ # resource is derived from. Format: projects/`project`/locations/`location`/
1076
+ # conversations/`conversation`
1077
+ # Corresponds to the JSON property `dialogflowConversation`
1078
+ # @return [String]
1079
+ attr_accessor :dialogflow_conversation
1080
+
1081
+ def initialize(**args)
1082
+ update!(**args)
1083
+ end
1084
+
1085
+ # Update properties of this object
1086
+ def update!(**args)
1087
+ @audio_uri = args[:audio_uri] if args.key?(:audio_uri)
1088
+ @dialogflow_conversation = args[:dialogflow_conversation] if args.key?(:dialogflow_conversation)
1089
+ end
1090
+ end
1091
+
1092
+ # The data for an entity annotation. Represents a phrase in the conversation
1093
+ # that is a known entity, such as a person, an organization, or location.
1094
+ class GoogleCloudContactcenterinsightsV1Entity
1095
+ include Google::Apis::Core::Hashable
1096
+
1097
+ # The representative name for the entity.
1098
+ # Corresponds to the JSON property `displayName`
1099
+ # @return [String]
1100
+ attr_accessor :display_name
1101
+
1102
+ # Metadata associated with the entity. For most entity types, the metadata is a
1103
+ # Wikipedia URL (`wikipedia_url`) and Knowledge Graph MID (`mid`), if they are
1104
+ # available. For the metadata associated with other entity types, see the Type
1105
+ # table below.
1106
+ # Corresponds to the JSON property `metadata`
1107
+ # @return [Hash<String,String>]
1108
+ attr_accessor :metadata
1109
+
1110
+ # The salience score associated with the entity in the [0, 1.0] range. The
1111
+ # salience score for an entity provides information about the importance or
1112
+ # centrality of that entity to the entire document text. Scores closer to 0 are
1113
+ # less salient, while scores closer to 1.0 are highly salient.
1114
+ # Corresponds to the JSON property `salience`
1115
+ # @return [Float]
1116
+ attr_accessor :salience
1117
+
1118
+ # The data for a sentiment annotation.
1119
+ # Corresponds to the JSON property `sentiment`
1120
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1SentimentData]
1121
+ attr_accessor :sentiment
1122
+
1123
+ # The entity type.
1124
+ # Corresponds to the JSON property `type`
1125
+ # @return [String]
1126
+ attr_accessor :type
1127
+
1128
+ def initialize(**args)
1129
+ update!(**args)
1130
+ end
1131
+
1132
+ # Update properties of this object
1133
+ def update!(**args)
1134
+ @display_name = args[:display_name] if args.key?(:display_name)
1135
+ @metadata = args[:metadata] if args.key?(:metadata)
1136
+ @salience = args[:salience] if args.key?(:salience)
1137
+ @sentiment = args[:sentiment] if args.key?(:sentiment)
1138
+ @type = args[:type] if args.key?(:type)
1139
+ end
1140
+ end
1141
+
1142
+ # The data for an entity mention annotation. This represents a mention of an `
1143
+ # Entity` in the conversation.
1144
+ class GoogleCloudContactcenterinsightsV1EntityMentionData
1145
+ include Google::Apis::Core::Hashable
1146
+
1147
+ # The key of this entity in conversation entities. Can be used to retrieve the
1148
+ # exact `Entity` this mention is attached to.
1149
+ # Corresponds to the JSON property `entityUniqueId`
1150
+ # @return [String]
1151
+ attr_accessor :entity_unique_id
1152
+
1153
+ # The data for a sentiment annotation.
1154
+ # Corresponds to the JSON property `sentiment`
1155
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1SentimentData]
1156
+ attr_accessor :sentiment
1157
+
1158
+ # The type of the entity mention.
1159
+ # Corresponds to the JSON property `type`
1160
+ # @return [String]
1161
+ attr_accessor :type
1162
+
1163
+ def initialize(**args)
1164
+ update!(**args)
1165
+ end
1166
+
1167
+ # Update properties of this object
1168
+ def update!(**args)
1169
+ @entity_unique_id = args[:entity_unique_id] if args.key?(:entity_unique_id)
1170
+ @sentiment = args[:sentiment] if args.key?(:sentiment)
1171
+ @type = args[:type] if args.key?(:type)
1172
+ end
1173
+ end
1174
+
1175
+ # Exact match configuration.
1176
+ class GoogleCloudContactcenterinsightsV1ExactMatchConfig
1177
+ include Google::Apis::Core::Hashable
1178
+
1179
+ # Whether to consider case sensitivity when performing an exact match.
1180
+ # Corresponds to the JSON property `caseSensitive`
1181
+ # @return [Boolean]
1182
+ attr_accessor :case_sensitive
1183
+ alias_method :case_sensitive?, :case_sensitive
1184
+
1185
+ def initialize(**args)
1186
+ update!(**args)
1187
+ end
1188
+
1189
+ # Update properties of this object
1190
+ def update!(**args)
1191
+ @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive)
1192
+ end
1193
+ end
1194
+
1195
+ # Metadata for an export insights operation.
1196
+ class GoogleCloudContactcenterinsightsV1ExportInsightsDataMetadata
1197
+ include Google::Apis::Core::Hashable
1198
+
1199
+ # Output only. The time the operation was created.
1200
+ # Corresponds to the JSON property `createTime`
1201
+ # @return [String]
1202
+ attr_accessor :create_time
1203
+
1204
+ # Output only. The time the operation finished running.
1205
+ # Corresponds to the JSON property `endTime`
1206
+ # @return [String]
1207
+ attr_accessor :end_time
1208
+
1209
+ # Partial errors during export operation that might cause the operation output
1210
+ # to be incomplete.
1211
+ # Corresponds to the JSON property `partialErrors`
1212
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleRpcStatus>]
1213
+ attr_accessor :partial_errors
1214
+
1215
+ # The request to export insights.
1216
+ # Corresponds to the JSON property `request`
1217
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest]
1218
+ attr_accessor :request
1219
+
1220
+ def initialize(**args)
1221
+ update!(**args)
1222
+ end
1223
+
1224
+ # Update properties of this object
1225
+ def update!(**args)
1226
+ @create_time = args[:create_time] if args.key?(:create_time)
1227
+ @end_time = args[:end_time] if args.key?(:end_time)
1228
+ @partial_errors = args[:partial_errors] if args.key?(:partial_errors)
1229
+ @request = args[:request] if args.key?(:request)
1230
+ end
1231
+ end
1232
+
1233
+ # The request to export insights.
1234
+ class GoogleCloudContactcenterinsightsV1ExportInsightsDataRequest
1235
+ include Google::Apis::Core::Hashable
1236
+
1237
+ # A BigQuery Table Reference.
1238
+ # Corresponds to the JSON property `bigQueryDestination`
1239
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination]
1240
+ attr_accessor :big_query_destination
1241
+
1242
+ # A filter to reduce results to a specific subset. Useful for exporting
1243
+ # conversations with specific properties.
1244
+ # Corresponds to the JSON property `filter`
1245
+ # @return [String]
1246
+ attr_accessor :filter
1247
+
1248
+ # A fully qualified KMS key name for BigQuery tables protected by CMEK. Format:
1249
+ # projects/`project`/locations/`location`/keyRings/`keyring`/cryptoKeys/`key`/
1250
+ # cryptoKeyVersions/`version`
1251
+ # Corresponds to the JSON property `kmsKey`
1252
+ # @return [String]
1253
+ attr_accessor :kms_key
1254
+
1255
+ # Required. The parent resource to export data from.
1256
+ # Corresponds to the JSON property `parent`
1257
+ # @return [String]
1258
+ attr_accessor :parent
1259
+
1260
+ def initialize(**args)
1261
+ update!(**args)
1262
+ end
1263
+
1264
+ # Update properties of this object
1265
+ def update!(**args)
1266
+ @big_query_destination = args[:big_query_destination] if args.key?(:big_query_destination)
1267
+ @filter = args[:filter] if args.key?(:filter)
1268
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
1269
+ @parent = args[:parent] if args.key?(:parent)
1270
+ end
1271
+ end
1272
+
1273
+ # A BigQuery Table Reference.
1274
+ class GoogleCloudContactcenterinsightsV1ExportInsightsDataRequestBigQueryDestination
1275
+ include Google::Apis::Core::Hashable
1276
+
1277
+ # Required. The name of the BigQuery dataset that the snapshot result should be
1278
+ # exported to. If this dataset does not exist, the export call returns an
1279
+ # INVALID_ARGUMENT error.
1280
+ # Corresponds to the JSON property `dataset`
1281
+ # @return [String]
1282
+ attr_accessor :dataset
1283
+
1284
+ # A project ID or number. If specified, then export will attempt to write data
1285
+ # to this project instead of the resource project. Otherwise, the resource
1286
+ # project will be used.
1287
+ # Corresponds to the JSON property `projectId`
1288
+ # @return [String]
1289
+ attr_accessor :project_id
1290
+
1291
+ # The BigQuery table name to which the insights data should be written. If this
1292
+ # table does not exist, the export call returns an INVALID_ARGUMENT error.
1293
+ # Corresponds to the JSON property `table`
1294
+ # @return [String]
1295
+ attr_accessor :table
1296
+
1297
+ def initialize(**args)
1298
+ update!(**args)
1299
+ end
1300
+
1301
+ # Update properties of this object
1302
+ def update!(**args)
1303
+ @dataset = args[:dataset] if args.key?(:dataset)
1304
+ @project_id = args[:project_id] if args.key?(:project_id)
1305
+ @table = args[:table] if args.key?(:table)
1306
+ end
1307
+ end
1308
+
1309
+ # Response for an export insights operation.
1310
+ class GoogleCloudContactcenterinsightsV1ExportInsightsDataResponse
1311
+ include Google::Apis::Core::Hashable
1312
+
1313
+ def initialize(**args)
1314
+ update!(**args)
1315
+ end
1316
+
1317
+ # Update properties of this object
1318
+ def update!(**args)
1319
+ end
1320
+ end
1321
+
1322
+ # Agent Assist frequently-asked-question answer data.
1323
+ class GoogleCloudContactcenterinsightsV1FaqAnswerData
1324
+ include Google::Apis::Core::Hashable
1325
+
1326
+ # The piece of text from the `source` knowledge base document.
1327
+ # Corresponds to the JSON property `answer`
1328
+ # @return [String]
1329
+ attr_accessor :answer
1330
+
1331
+ # The system's confidence score that this answer is a good match for this
1332
+ # conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely
1333
+ # certain).
1334
+ # Corresponds to the JSON property `confidenceScore`
1335
+ # @return [Float]
1336
+ attr_accessor :confidence_score
1337
+
1338
+ # Map that contains metadata about the FAQ answer and the document that it
1339
+ # originates from.
1340
+ # Corresponds to the JSON property `metadata`
1341
+ # @return [Hash<String,String>]
1342
+ attr_accessor :metadata
1343
+
1344
+ # Name of the query record. Format: projects/`project`/locations/`location`/
1345
+ # queryRecords/`query_record`.
1346
+ # Corresponds to the JSON property `queryRecord`
1347
+ # @return [String]
1348
+ attr_accessor :query_record
1349
+
1350
+ # The corresponding FAQ question.
1351
+ # Corresponds to the JSON property `question`
1352
+ # @return [String]
1353
+ attr_accessor :question
1354
+
1355
+ # The knowledge document that this answer was extracted from. Format: projects/`
1356
+ # project`/knowledgeBases/`knowledge_base`/documents/`document`.
1357
+ # Corresponds to the JSON property `source`
1358
+ # @return [String]
1359
+ attr_accessor :source
1360
+
1361
+ def initialize(**args)
1362
+ update!(**args)
1363
+ end
1364
+
1365
+ # Update properties of this object
1366
+ def update!(**args)
1367
+ @answer = args[:answer] if args.key?(:answer)
1368
+ @confidence_score = args[:confidence_score] if args.key?(:confidence_score)
1369
+ @metadata = args[:metadata] if args.key?(:metadata)
1370
+ @query_record = args[:query_record] if args.key?(:query_record)
1371
+ @question = args[:question] if args.key?(:question)
1372
+ @source = args[:source] if args.key?(:source)
1373
+ end
1374
+ end
1375
+
1376
+ # A Cloud Storage source of conversation data.
1377
+ class GoogleCloudContactcenterinsightsV1GcsSource
1378
+ include Google::Apis::Core::Hashable
1379
+
1380
+ # Cloud Storage URI that points to a file that contains the conversation audio.
1381
+ # Corresponds to the JSON property `audioUri`
1382
+ # @return [String]
1383
+ attr_accessor :audio_uri
1384
+
1385
+ # Immutable. Cloud Storage URI that points to a file that contains the
1386
+ # conversation transcript.
1387
+ # Corresponds to the JSON property `transcriptUri`
1388
+ # @return [String]
1389
+ attr_accessor :transcript_uri
1390
+
1391
+ def initialize(**args)
1392
+ update!(**args)
1393
+ end
1394
+
1395
+ # Update properties of this object
1396
+ def update!(**args)
1397
+ @audio_uri = args[:audio_uri] if args.key?(:audio_uri)
1398
+ @transcript_uri = args[:transcript_uri] if args.key?(:transcript_uri)
1399
+ end
1400
+ end
1401
+
1402
+ # The data for a hold annotation.
1403
+ class GoogleCloudContactcenterinsightsV1HoldData
1404
+ include Google::Apis::Core::Hashable
1405
+
1406
+ def initialize(**args)
1407
+ update!(**args)
1408
+ end
1409
+
1410
+ # Update properties of this object
1411
+ def update!(**args)
1412
+ end
1413
+ end
1414
+
1415
+ # The data for an intent. Represents a detected intent in the conversation, for
1416
+ # example MAKES_PROMISE.
1417
+ class GoogleCloudContactcenterinsightsV1Intent
1418
+ include Google::Apis::Core::Hashable
1419
+
1420
+ # The human-readable name of the intent.
1421
+ # Corresponds to the JSON property `displayName`
1422
+ # @return [String]
1423
+ attr_accessor :display_name
1424
+
1425
+ # The unique identifier of the intent.
1426
+ # Corresponds to the JSON property `id`
1427
+ # @return [String]
1428
+ attr_accessor :id
1429
+
1430
+ def initialize(**args)
1431
+ update!(**args)
1432
+ end
1433
+
1434
+ # Update properties of this object
1435
+ def update!(**args)
1436
+ @display_name = args[:display_name] if args.key?(:display_name)
1437
+ @id = args[:id] if args.key?(:id)
1438
+ end
1439
+ end
1440
+
1441
+ # The data for an intent match. Represents an intent match for a text segment in
1442
+ # the conversation. A text segment can be part of a sentence, a complete
1443
+ # sentence, or an utterance with multiple sentences.
1444
+ class GoogleCloudContactcenterinsightsV1IntentMatchData
1445
+ include Google::Apis::Core::Hashable
1446
+
1447
+ # The id of the matched intent. Can be used to retrieve the corresponding intent
1448
+ # information.
1449
+ # Corresponds to the JSON property `intentUniqueId`
1450
+ # @return [String]
1451
+ attr_accessor :intent_unique_id
1452
+
1453
+ def initialize(**args)
1454
+ update!(**args)
1455
+ end
1456
+
1457
+ # Update properties of this object
1458
+ def update!(**args)
1459
+ @intent_unique_id = args[:intent_unique_id] if args.key?(:intent_unique_id)
1460
+ end
1461
+ end
1462
+
1463
+ # The data for an interruption annotation.
1464
+ class GoogleCloudContactcenterinsightsV1InterruptionData
1465
+ include Google::Apis::Core::Hashable
1466
+
1467
+ def initialize(**args)
1468
+ update!(**args)
1469
+ end
1470
+
1471
+ # Update properties of this object
1472
+ def update!(**args)
1473
+ end
1474
+ end
1475
+
1476
+ # The issue resource.
1477
+ class GoogleCloudContactcenterinsightsV1Issue
1478
+ include Google::Apis::Core::Hashable
1479
+
1480
+ # Output only. The time at which this issue was created.
1481
+ # Corresponds to the JSON property `createTime`
1482
+ # @return [String]
1483
+ attr_accessor :create_time
1484
+
1485
+ # The representative name for the issue.
1486
+ # Corresponds to the JSON property `displayName`
1487
+ # @return [String]
1488
+ attr_accessor :display_name
1489
+
1490
+ # Immutable. The resource name of the issue. Format: projects/`project`/
1491
+ # locations/`location`/issueModels/`issue_model`/issues/`issue`
1492
+ # Corresponds to the JSON property `name`
1493
+ # @return [String]
1494
+ attr_accessor :name
1495
+
1496
+ # Output only. The most recent time that this issue was updated.
1497
+ # Corresponds to the JSON property `updateTime`
1498
+ # @return [String]
1499
+ attr_accessor :update_time
1500
+
1501
+ def initialize(**args)
1502
+ update!(**args)
1503
+ end
1504
+
1505
+ # Update properties of this object
1506
+ def update!(**args)
1507
+ @create_time = args[:create_time] if args.key?(:create_time)
1508
+ @display_name = args[:display_name] if args.key?(:display_name)
1509
+ @name = args[:name] if args.key?(:name)
1510
+ @update_time = args[:update_time] if args.key?(:update_time)
1511
+ end
1512
+ end
1513
+
1514
+ # Information about the issue.
1515
+ class GoogleCloudContactcenterinsightsV1IssueAssignment
1516
+ include Google::Apis::Core::Hashable
1517
+
1518
+ # Immutable. Display name of the assigned issue. This field is set at time of
1519
+ # analyis and immutable since then.
1520
+ # Corresponds to the JSON property `displayName`
1521
+ # @return [String]
1522
+ attr_accessor :display_name
1523
+
1524
+ # Resource name of the assigned issue.
1525
+ # Corresponds to the JSON property `issue`
1526
+ # @return [String]
1527
+ attr_accessor :issue
1528
+
1529
+ # Score indicating the likelihood of the issue assignment. currently bounded on [
1530
+ # 0,1].
1531
+ # Corresponds to the JSON property `score`
1532
+ # @return [Float]
1533
+ attr_accessor :score
1534
+
1535
+ def initialize(**args)
1536
+ update!(**args)
1537
+ end
1538
+
1539
+ # Update properties of this object
1540
+ def update!(**args)
1541
+ @display_name = args[:display_name] if args.key?(:display_name)
1542
+ @issue = args[:issue] if args.key?(:issue)
1543
+ @score = args[:score] if args.key?(:score)
1544
+ end
1545
+ end
1546
+
1547
+ # The issue model resource.
1548
+ class GoogleCloudContactcenterinsightsV1IssueModel
1549
+ include Google::Apis::Core::Hashable
1550
+
1551
+ # Output only. The time at which this issue model was created.
1552
+ # Corresponds to the JSON property `createTime`
1553
+ # @return [String]
1554
+ attr_accessor :create_time
1555
+
1556
+ # The representative name for the issue model.
1557
+ # Corresponds to the JSON property `displayName`
1558
+ # @return [String]
1559
+ attr_accessor :display_name
1560
+
1561
+ # Configs for the input data used to create the issue model.
1562
+ # Corresponds to the JSON property `inputDataConfig`
1563
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig]
1564
+ attr_accessor :input_data_config
1565
+
1566
+ # Immutable. The resource name of the issue model. Format: projects/`project`/
1567
+ # locations/`location`/issueModels/`issue_model`
1568
+ # Corresponds to the JSON property `name`
1569
+ # @return [String]
1570
+ attr_accessor :name
1571
+
1572
+ # Output only. State of the model.
1573
+ # Corresponds to the JSON property `state`
1574
+ # @return [String]
1575
+ attr_accessor :state
1576
+
1577
+ # Aggregated statistics about an issue model.
1578
+ # Corresponds to the JSON property `trainingStats`
1579
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1IssueModelLabelStats]
1580
+ attr_accessor :training_stats
1581
+
1582
+ # Output only. The most recent time at which the issue model was updated.
1583
+ # Corresponds to the JSON property `updateTime`
1584
+ # @return [String]
1585
+ attr_accessor :update_time
1586
+
1587
+ def initialize(**args)
1588
+ update!(**args)
1589
+ end
1590
+
1591
+ # Update properties of this object
1592
+ def update!(**args)
1593
+ @create_time = args[:create_time] if args.key?(:create_time)
1594
+ @display_name = args[:display_name] if args.key?(:display_name)
1595
+ @input_data_config = args[:input_data_config] if args.key?(:input_data_config)
1596
+ @name = args[:name] if args.key?(:name)
1597
+ @state = args[:state] if args.key?(:state)
1598
+ @training_stats = args[:training_stats] if args.key?(:training_stats)
1599
+ @update_time = args[:update_time] if args.key?(:update_time)
1600
+ end
1601
+ end
1602
+
1603
+ # Configs for the input data used to create the issue model.
1604
+ class GoogleCloudContactcenterinsightsV1IssueModelInputDataConfig
1605
+ include Google::Apis::Core::Hashable
1606
+
1607
+ # Required.
1608
+ # Corresponds to the JSON property `medium`
1609
+ # @return [String]
1610
+ attr_accessor :medium
1611
+
1612
+ # Output only. Number of conversations used in training. Output only.
1613
+ # Corresponds to the JSON property `trainingConversationsCount`
1614
+ # @return [Fixnum]
1615
+ attr_accessor :training_conversations_count
1616
+
1617
+ def initialize(**args)
1618
+ update!(**args)
1619
+ end
1620
+
1621
+ # Update properties of this object
1622
+ def update!(**args)
1623
+ @medium = args[:medium] if args.key?(:medium)
1624
+ @training_conversations_count = args[:training_conversations_count] if args.key?(:training_conversations_count)
1625
+ end
1626
+ end
1627
+
1628
+ # Aggregated statistics about an issue model.
1629
+ class GoogleCloudContactcenterinsightsV1IssueModelLabelStats
1630
+ include Google::Apis::Core::Hashable
1631
+
1632
+ # Number of conversations the issue model has analyzed at this point in time.
1633
+ # Corresponds to the JSON property `analyzedConversationsCount`
1634
+ # @return [Fixnum]
1635
+ attr_accessor :analyzed_conversations_count
1636
+
1637
+ # Statistics on each issue. Key is the issue's resource name.
1638
+ # Corresponds to the JSON property `issueStats`
1639
+ # @return [Hash<String,Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats>]
1640
+ attr_accessor :issue_stats
1641
+
1642
+ # Number of analyzed conversations for which no issue was applicable at this
1643
+ # point in time.
1644
+ # Corresponds to the JSON property `unclassifiedConversationsCount`
1645
+ # @return [Fixnum]
1646
+ attr_accessor :unclassified_conversations_count
1647
+
1648
+ def initialize(**args)
1649
+ update!(**args)
1650
+ end
1651
+
1652
+ # Update properties of this object
1653
+ def update!(**args)
1654
+ @analyzed_conversations_count = args[:analyzed_conversations_count] if args.key?(:analyzed_conversations_count)
1655
+ @issue_stats = args[:issue_stats] if args.key?(:issue_stats)
1656
+ @unclassified_conversations_count = args[:unclassified_conversations_count] if args.key?(:unclassified_conversations_count)
1657
+ end
1658
+ end
1659
+
1660
+ # Aggregated statistics about an issue.
1661
+ class GoogleCloudContactcenterinsightsV1IssueModelLabelStatsIssueStats
1662
+ include Google::Apis::Core::Hashable
1663
+
1664
+ # Issue resource. Format: projects/`project`/locations/`location`/issueModels/`
1665
+ # issue_model`/issues/`issue`
1666
+ # Corresponds to the JSON property `issue`
1667
+ # @return [String]
1668
+ attr_accessor :issue
1669
+
1670
+ # Number of conversations attached to the issue at this point in time.
1671
+ # Corresponds to the JSON property `labeledConversationsCount`
1672
+ # @return [Fixnum]
1673
+ attr_accessor :labeled_conversations_count
1674
+
1675
+ def initialize(**args)
1676
+ update!(**args)
1677
+ end
1678
+
1679
+ # Update properties of this object
1680
+ def update!(**args)
1681
+ @issue = args[:issue] if args.key?(:issue)
1682
+ @labeled_conversations_count = args[:labeled_conversations_count] if args.key?(:labeled_conversations_count)
1683
+ end
1684
+ end
1685
+
1686
+ # Issue Modeling result on a conversation.
1687
+ class GoogleCloudContactcenterinsightsV1IssueModelResult
1688
+ include Google::Apis::Core::Hashable
1689
+
1690
+ # Issue model that generates the result.
1691
+ # Corresponds to the JSON property `issueModel`
1692
+ # @return [String]
1693
+ attr_accessor :issue_model
1694
+
1695
+ # All the matched issues.
1696
+ # Corresponds to the JSON property `issues`
1697
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1IssueAssignment>]
1698
+ attr_accessor :issues
1699
+
1700
+ def initialize(**args)
1701
+ update!(**args)
1702
+ end
1703
+
1704
+ # Update properties of this object
1705
+ def update!(**args)
1706
+ @issue_model = args[:issue_model] if args.key?(:issue_model)
1707
+ @issues = args[:issues] if args.key?(:issues)
1708
+ end
1709
+ end
1710
+
1711
+ # The response to list analyses.
1712
+ class GoogleCloudContactcenterinsightsV1ListAnalysesResponse
1713
+ include Google::Apis::Core::Hashable
1714
+
1715
+ # The analyses that match the request.
1716
+ # Corresponds to the JSON property `analyses`
1717
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1Analysis>]
1718
+ attr_accessor :analyses
1719
+
1720
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1721
+ # field is omitted, there are no subsequent pages.
1722
+ # Corresponds to the JSON property `nextPageToken`
1723
+ # @return [String]
1724
+ attr_accessor :next_page_token
1725
+
1726
+ def initialize(**args)
1727
+ update!(**args)
1728
+ end
1729
+
1730
+ # Update properties of this object
1731
+ def update!(**args)
1732
+ @analyses = args[:analyses] if args.key?(:analyses)
1733
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1734
+ end
1735
+ end
1736
+
1737
+ # The response of listing conversations.
1738
+ class GoogleCloudContactcenterinsightsV1ListConversationsResponse
1739
+ include Google::Apis::Core::Hashable
1740
+
1741
+ # The conversations that match the request.
1742
+ # Corresponds to the JSON property `conversations`
1743
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1Conversation>]
1744
+ attr_accessor :conversations
1745
+
1746
+ # A token which can be sent as `page_token` to retrieve the next page. If this
1747
+ # field is set, it means there is another page available. If it is not set, it
1748
+ # means no other pages are available.
1749
+ # Corresponds to the JSON property `nextPageToken`
1750
+ # @return [String]
1751
+ attr_accessor :next_page_token
1752
+
1753
+ def initialize(**args)
1754
+ update!(**args)
1755
+ end
1756
+
1757
+ # Update properties of this object
1758
+ def update!(**args)
1759
+ @conversations = args[:conversations] if args.key?(:conversations)
1760
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1761
+ end
1762
+ end
1763
+
1764
+ # The response of listing issue models.
1765
+ class GoogleCloudContactcenterinsightsV1ListIssueModelsResponse
1766
+ include Google::Apis::Core::Hashable
1767
+
1768
+ # The issue models that match the request.
1769
+ # Corresponds to the JSON property `issueModels`
1770
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1IssueModel>]
1771
+ attr_accessor :issue_models
1772
+
1773
+ def initialize(**args)
1774
+ update!(**args)
1775
+ end
1776
+
1777
+ # Update properties of this object
1778
+ def update!(**args)
1779
+ @issue_models = args[:issue_models] if args.key?(:issue_models)
1780
+ end
1781
+ end
1782
+
1783
+ # The response of listing issues.
1784
+ class GoogleCloudContactcenterinsightsV1ListIssuesResponse
1785
+ include Google::Apis::Core::Hashable
1786
+
1787
+ # The issues that match the request.
1788
+ # Corresponds to the JSON property `issues`
1789
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1Issue>]
1790
+ attr_accessor :issues
1791
+
1792
+ def initialize(**args)
1793
+ update!(**args)
1794
+ end
1795
+
1796
+ # Update properties of this object
1797
+ def update!(**args)
1798
+ @issues = args[:issues] if args.key?(:issues)
1799
+ end
1800
+ end
1801
+
1802
+ # The response of listing phrase matchers.
1803
+ class GoogleCloudContactcenterinsightsV1ListPhraseMatchersResponse
1804
+ include Google::Apis::Core::Hashable
1805
+
1806
+ # A token, which can be sent as `page_token` to retrieve the next page. If this
1807
+ # field is omitted, there are no subsequent pages.
1808
+ # Corresponds to the JSON property `nextPageToken`
1809
+ # @return [String]
1810
+ attr_accessor :next_page_token
1811
+
1812
+ # The phrase matchers that match the request.
1813
+ # Corresponds to the JSON property `phraseMatchers`
1814
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1PhraseMatcher>]
1815
+ attr_accessor :phrase_matchers
1816
+
1817
+ def initialize(**args)
1818
+ update!(**args)
1819
+ end
1820
+
1821
+ # Update properties of this object
1822
+ def update!(**args)
1823
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1824
+ @phrase_matchers = args[:phrase_matchers] if args.key?(:phrase_matchers)
1825
+ end
1826
+ end
1827
+
1828
+ # The data for a matched phrase matcher. Represents information identifying a
1829
+ # phrase matcher for a given match.
1830
+ class GoogleCloudContactcenterinsightsV1PhraseMatchData
1831
+ include Google::Apis::Core::Hashable
1832
+
1833
+ # The human-readable name of the phrase matcher.
1834
+ # Corresponds to the JSON property `displayName`
1835
+ # @return [String]
1836
+ attr_accessor :display_name
1837
+
1838
+ # The unique identifier (the resource name) of the phrase matcher.
1839
+ # Corresponds to the JSON property `phraseMatcher`
1840
+ # @return [String]
1841
+ attr_accessor :phrase_matcher
1842
+
1843
+ def initialize(**args)
1844
+ update!(**args)
1845
+ end
1846
+
1847
+ # Update properties of this object
1848
+ def update!(**args)
1849
+ @display_name = args[:display_name] if args.key?(:display_name)
1850
+ @phrase_matcher = args[:phrase_matcher] if args.key?(:phrase_matcher)
1851
+ end
1852
+ end
1853
+
1854
+ # The data for a phrase match rule.
1855
+ class GoogleCloudContactcenterinsightsV1PhraseMatchRule
1856
+ include Google::Apis::Core::Hashable
1857
+
1858
+ # Configuration information of a phrase match rule.
1859
+ # Corresponds to the JSON property `config`
1860
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig]
1861
+ attr_accessor :config
1862
+
1863
+ # Specifies whether the phrase must be missing from the transcript segment or
1864
+ # present in the transcript segment.
1865
+ # Corresponds to the JSON property `negated`
1866
+ # @return [Boolean]
1867
+ attr_accessor :negated
1868
+ alias_method :negated?, :negated
1869
+
1870
+ # Required. The phrase to be matched.
1871
+ # Corresponds to the JSON property `query`
1872
+ # @return [String]
1873
+ attr_accessor :query
1874
+
1875
+ def initialize(**args)
1876
+ update!(**args)
1877
+ end
1878
+
1879
+ # Update properties of this object
1880
+ def update!(**args)
1881
+ @config = args[:config] if args.key?(:config)
1882
+ @negated = args[:negated] if args.key?(:negated)
1883
+ @query = args[:query] if args.key?(:query)
1884
+ end
1885
+ end
1886
+
1887
+ # Configuration information of a phrase match rule.
1888
+ class GoogleCloudContactcenterinsightsV1PhraseMatchRuleConfig
1889
+ include Google::Apis::Core::Hashable
1890
+
1891
+ # Exact match configuration.
1892
+ # Corresponds to the JSON property `exactMatchConfig`
1893
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ExactMatchConfig]
1894
+ attr_accessor :exact_match_config
1895
+
1896
+ def initialize(**args)
1897
+ update!(**args)
1898
+ end
1899
+
1900
+ # Update properties of this object
1901
+ def update!(**args)
1902
+ @exact_match_config = args[:exact_match_config] if args.key?(:exact_match_config)
1903
+ end
1904
+ end
1905
+
1906
+ # A message representing a rule in the phrase matcher.
1907
+ class GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup
1908
+ include Google::Apis::Core::Hashable
1909
+
1910
+ # A list of phase match rules that are included in this group.
1911
+ # Corresponds to the JSON property `phraseMatchRules`
1912
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1PhraseMatchRule>]
1913
+ attr_accessor :phrase_match_rules
1914
+
1915
+ # Required. The type of this phrase match rule group.
1916
+ # Corresponds to the JSON property `type`
1917
+ # @return [String]
1918
+ attr_accessor :type
1919
+
1920
+ def initialize(**args)
1921
+ update!(**args)
1922
+ end
1923
+
1924
+ # Update properties of this object
1925
+ def update!(**args)
1926
+ @phrase_match_rules = args[:phrase_match_rules] if args.key?(:phrase_match_rules)
1927
+ @type = args[:type] if args.key?(:type)
1928
+ end
1929
+ end
1930
+
1931
+ # The phrase matcher resource.
1932
+ class GoogleCloudContactcenterinsightsV1PhraseMatcher
1933
+ include Google::Apis::Core::Hashable
1934
+
1935
+ # Output only. The most recent time at which the activation status was updated.
1936
+ # Corresponds to the JSON property `activationUpdateTime`
1937
+ # @return [String]
1938
+ attr_accessor :activation_update_time
1939
+
1940
+ # Applies the phrase matcher only when it is active.
1941
+ # Corresponds to the JSON property `active`
1942
+ # @return [Boolean]
1943
+ attr_accessor :active
1944
+ alias_method :active?, :active
1945
+
1946
+ # The human-readable name of the phrase matcher.
1947
+ # Corresponds to the JSON property `displayName`
1948
+ # @return [String]
1949
+ attr_accessor :display_name
1950
+
1951
+ # The resource name of the phrase matcher. Format: projects/`project`/locations/`
1952
+ # location`/phraseMatchers/`phrase_matcher`
1953
+ # Corresponds to the JSON property `name`
1954
+ # @return [String]
1955
+ attr_accessor :name
1956
+
1957
+ # A list of phase match rule groups that are included in this matcher.
1958
+ # Corresponds to the JSON property `phraseMatchRuleGroups`
1959
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1PhraseMatchRuleGroup>]
1960
+ attr_accessor :phrase_match_rule_groups
1961
+
1962
+ # Output only. The timestamp of when the revision was created. It is also the
1963
+ # create time when a new matcher is added.
1964
+ # Corresponds to the JSON property `revisionCreateTime`
1965
+ # @return [String]
1966
+ attr_accessor :revision_create_time
1967
+
1968
+ # Output only. Immutable. The revision ID of the phrase matcher. A new revision
1969
+ # is committed whenever the matcher is changed, except when it is activated or
1970
+ # deactivated. A server generated random ID will be used. Example: locations/
1971
+ # global/phraseMatchers/my-first-matcher@1234567
1972
+ # Corresponds to the JSON property `revisionId`
1973
+ # @return [String]
1974
+ attr_accessor :revision_id
1975
+
1976
+ # The role whose utterances the phrase matcher should be matched against. If the
1977
+ # role is ROLE_UNSPECIFIED it will be matched against any utterances in the
1978
+ # transcript.
1979
+ # Corresponds to the JSON property `roleMatch`
1980
+ # @return [String]
1981
+ attr_accessor :role_match
1982
+
1983
+ # Required. The type of this phrase matcher.
1984
+ # Corresponds to the JSON property `type`
1985
+ # @return [String]
1986
+ attr_accessor :type
1987
+
1988
+ # The customized version tag to use for the phrase matcher. If not specified, it
1989
+ # will default to `revision_id`.
1990
+ # Corresponds to the JSON property `versionTag`
1991
+ # @return [String]
1992
+ attr_accessor :version_tag
1993
+
1994
+ def initialize(**args)
1995
+ update!(**args)
1996
+ end
1997
+
1998
+ # Update properties of this object
1999
+ def update!(**args)
2000
+ @activation_update_time = args[:activation_update_time] if args.key?(:activation_update_time)
2001
+ @active = args[:active] if args.key?(:active)
2002
+ @display_name = args[:display_name] if args.key?(:display_name)
2003
+ @name = args[:name] if args.key?(:name)
2004
+ @phrase_match_rule_groups = args[:phrase_match_rule_groups] if args.key?(:phrase_match_rule_groups)
2005
+ @revision_create_time = args[:revision_create_time] if args.key?(:revision_create_time)
2006
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
2007
+ @role_match = args[:role_match] if args.key?(:role_match)
2008
+ @type = args[:type] if args.key?(:type)
2009
+ @version_tag = args[:version_tag] if args.key?(:version_tag)
2010
+ end
2011
+ end
2012
+
2013
+ # An annotation that was generated during the customer and agent interaction.
2014
+ class GoogleCloudContactcenterinsightsV1RuntimeAnnotation
2015
+ include Google::Apis::Core::Hashable
2016
+
2017
+ # The unique identifier of the annotation. Format: projects/`project`/locations/`
2018
+ # location`/conversationDatasets/`dataset`/conversationDataItems/`data_item`/
2019
+ # conversationAnnotations/`annotation`
2020
+ # Corresponds to the JSON property `annotationId`
2021
+ # @return [String]
2022
+ attr_accessor :annotation_id
2023
+
2024
+ # The feedback that the customer has about a certain answer in the conversation.
2025
+ # Corresponds to the JSON property `answerFeedback`
2026
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1AnswerFeedback]
2027
+ attr_accessor :answer_feedback
2028
+
2029
+ # Agent Assist Article Suggestion data.
2030
+ # Corresponds to the JSON property `articleSuggestion`
2031
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1ArticleSuggestionData]
2032
+ attr_accessor :article_suggestion
2033
+
2034
+ # The time at which this annotation was created.
2035
+ # Corresponds to the JSON property `createTime`
2036
+ # @return [String]
2037
+ attr_accessor :create_time
2038
+
2039
+ # Dialogflow interaction data.
2040
+ # Corresponds to the JSON property `dialogflowInteraction`
2041
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1DialogflowInteractionData]
2042
+ attr_accessor :dialogflow_interaction
2043
+
2044
+ # A point in a conversation that marks the start or the end of an annotation.
2045
+ # Corresponds to the JSON property `endBoundary`
2046
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1AnnotationBoundary]
2047
+ attr_accessor :end_boundary
2048
+
2049
+ # Agent Assist frequently-asked-question answer data.
2050
+ # Corresponds to the JSON property `faqAnswer`
2051
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1FaqAnswerData]
2052
+ attr_accessor :faq_answer
2053
+
2054
+ # Agent Assist Smart Compose suggestion data.
2055
+ # Corresponds to the JSON property `smartComposeSuggestion`
2056
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData]
2057
+ attr_accessor :smart_compose_suggestion
2058
+
2059
+ # Agent Assist Smart Reply data.
2060
+ # Corresponds to the JSON property `smartReply`
2061
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1SmartReplyData]
2062
+ attr_accessor :smart_reply
2063
+
2064
+ # A point in a conversation that marks the start or the end of an annotation.
2065
+ # Corresponds to the JSON property `startBoundary`
2066
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1AnnotationBoundary]
2067
+ attr_accessor :start_boundary
2068
+
2069
+ def initialize(**args)
2070
+ update!(**args)
2071
+ end
2072
+
2073
+ # Update properties of this object
2074
+ def update!(**args)
2075
+ @annotation_id = args[:annotation_id] if args.key?(:annotation_id)
2076
+ @answer_feedback = args[:answer_feedback] if args.key?(:answer_feedback)
2077
+ @article_suggestion = args[:article_suggestion] if args.key?(:article_suggestion)
2078
+ @create_time = args[:create_time] if args.key?(:create_time)
2079
+ @dialogflow_interaction = args[:dialogflow_interaction] if args.key?(:dialogflow_interaction)
2080
+ @end_boundary = args[:end_boundary] if args.key?(:end_boundary)
2081
+ @faq_answer = args[:faq_answer] if args.key?(:faq_answer)
2082
+ @smart_compose_suggestion = args[:smart_compose_suggestion] if args.key?(:smart_compose_suggestion)
2083
+ @smart_reply = args[:smart_reply] if args.key?(:smart_reply)
2084
+ @start_boundary = args[:start_boundary] if args.key?(:start_boundary)
2085
+ end
2086
+ end
2087
+
2088
+ # The data for a sentiment annotation.
2089
+ class GoogleCloudContactcenterinsightsV1SentimentData
2090
+ include Google::Apis::Core::Hashable
2091
+
2092
+ # A non-negative number from 0 to infinity which represents the abolute
2093
+ # magnitude of sentiment regardless of score.
2094
+ # Corresponds to the JSON property `magnitude`
2095
+ # @return [Float]
2096
+ attr_accessor :magnitude
2097
+
2098
+ # The sentiment score between -1.0 (negative) and 1.0 (positive).
2099
+ # Corresponds to the JSON property `score`
2100
+ # @return [Float]
2101
+ attr_accessor :score
2102
+
2103
+ def initialize(**args)
2104
+ update!(**args)
2105
+ end
2106
+
2107
+ # Update properties of this object
2108
+ def update!(**args)
2109
+ @magnitude = args[:magnitude] if args.key?(:magnitude)
2110
+ @score = args[:score] if args.key?(:score)
2111
+ end
2112
+ end
2113
+
2114
+ # The settings resource.
2115
+ class GoogleCloudContactcenterinsightsV1Settings
2116
+ include Google::Apis::Core::Hashable
2117
+
2118
+ # Default configuration when creating Analyses in Insights.
2119
+ # Corresponds to the JSON property `analysisConfig`
2120
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig]
2121
+ attr_accessor :analysis_config
2122
+
2123
+ # The default TTL for newly-created conversations. If a conversation has a
2124
+ # specified expiration, that value will be used instead. Changing this value
2125
+ # will not change the expiration of existing conversations. Conversations with
2126
+ # no expire time persist until they are deleted.
2127
+ # Corresponds to the JSON property `conversationTtl`
2128
+ # @return [String]
2129
+ attr_accessor :conversation_ttl
2130
+
2131
+ # Output only. The time at which the settings was created.
2132
+ # Corresponds to the JSON property `createTime`
2133
+ # @return [String]
2134
+ attr_accessor :create_time
2135
+
2136
+ # A language code to be applied to each transcript segment unless the segment
2137
+ # already specifies a language code. Language code defaults to "en-US" if it is
2138
+ # neither specified on the segment nor here.
2139
+ # Corresponds to the JSON property `languageCode`
2140
+ # @return [String]
2141
+ attr_accessor :language_code
2142
+
2143
+ # Immutable. The resource name of the settings resource. Format: projects/`
2144
+ # project`/locations/`location`/settings
2145
+ # Corresponds to the JSON property `name`
2146
+ # @return [String]
2147
+ attr_accessor :name
2148
+
2149
+ # A map that maps a notification trigger to a Pub/Sub topic. Each time a
2150
+ # specified trigger occurs, Insights will notify the corresponding Pub/Sub topic.
2151
+ # Keys are notification triggers. Supported keys are: * "all-triggers": Notify
2152
+ # each time any of the supported triggers occurs. * "create-analysis": Notify
2153
+ # each time an analysis is created. * "create-conversation": Notify each time a
2154
+ # conversation is created. * "export-insights-data": Notify each time an export
2155
+ # is complete. * "update-conversation": Notify each time a conversation is
2156
+ # updated via UpdateConversation. Values are Pub/Sub topics. The format of each
2157
+ # Pub/Sub topic is: projects/`project`/topics/`topic`
2158
+ # Corresponds to the JSON property `pubsubNotificationSettings`
2159
+ # @return [Hash<String,String>]
2160
+ attr_accessor :pubsub_notification_settings
2161
+
2162
+ # Output only. The time at which the settings were last updated.
2163
+ # Corresponds to the JSON property `updateTime`
2164
+ # @return [String]
2165
+ attr_accessor :update_time
2166
+
2167
+ def initialize(**args)
2168
+ update!(**args)
2169
+ end
2170
+
2171
+ # Update properties of this object
2172
+ def update!(**args)
2173
+ @analysis_config = args[:analysis_config] if args.key?(:analysis_config)
2174
+ @conversation_ttl = args[:conversation_ttl] if args.key?(:conversation_ttl)
2175
+ @create_time = args[:create_time] if args.key?(:create_time)
2176
+ @language_code = args[:language_code] if args.key?(:language_code)
2177
+ @name = args[:name] if args.key?(:name)
2178
+ @pubsub_notification_settings = args[:pubsub_notification_settings] if args.key?(:pubsub_notification_settings)
2179
+ @update_time = args[:update_time] if args.key?(:update_time)
2180
+ end
2181
+ end
2182
+
2183
+ # Default configuration when creating Analyses in Insights.
2184
+ class GoogleCloudContactcenterinsightsV1SettingsAnalysisConfig
2185
+ include Google::Apis::Core::Hashable
2186
+
2187
+ # Percentage of conversations created using Dialogflow runtime integration to
2188
+ # analyze automatically, between [0, 100].
2189
+ # Corresponds to the JSON property `runtimeIntegrationAnalysisPercentage`
2190
+ # @return [Float]
2191
+ attr_accessor :runtime_integration_analysis_percentage
2192
+
2193
+ def initialize(**args)
2194
+ update!(**args)
2195
+ end
2196
+
2197
+ # Update properties of this object
2198
+ def update!(**args)
2199
+ @runtime_integration_analysis_percentage = args[:runtime_integration_analysis_percentage] if args.key?(:runtime_integration_analysis_percentage)
2200
+ end
2201
+ end
2202
+
2203
+ # The data for a silence annotation.
2204
+ class GoogleCloudContactcenterinsightsV1SilenceData
2205
+ include Google::Apis::Core::Hashable
2206
+
2207
+ def initialize(**args)
2208
+ update!(**args)
2209
+ end
2210
+
2211
+ # Update properties of this object
2212
+ def update!(**args)
2213
+ end
2214
+ end
2215
+
2216
+ # Agent Assist Smart Compose suggestion data.
2217
+ class GoogleCloudContactcenterinsightsV1SmartComposeSuggestionData
2218
+ include Google::Apis::Core::Hashable
2219
+
2220
+ # The system's confidence score that this suggestion is a good match for this
2221
+ # conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely
2222
+ # certain).
2223
+ # Corresponds to the JSON property `confidenceScore`
2224
+ # @return [Float]
2225
+ attr_accessor :confidence_score
2226
+
2227
+ # Map that contains metadata about the Smart Compose suggestion and the document
2228
+ # from which it originates.
2229
+ # Corresponds to the JSON property `metadata`
2230
+ # @return [Hash<String,String>]
2231
+ attr_accessor :metadata
2232
+
2233
+ # Name of the query record. Format: projects/`project`/locations/`location`/
2234
+ # queryRecords/`query_record`
2235
+ # Corresponds to the JSON property `queryRecord`
2236
+ # @return [String]
2237
+ attr_accessor :query_record
2238
+
2239
+ # The content of the suggestion.
2240
+ # Corresponds to the JSON property `suggestion`
2241
+ # @return [String]
2242
+ attr_accessor :suggestion
2243
+
2244
+ def initialize(**args)
2245
+ update!(**args)
2246
+ end
2247
+
2248
+ # Update properties of this object
2249
+ def update!(**args)
2250
+ @confidence_score = args[:confidence_score] if args.key?(:confidence_score)
2251
+ @metadata = args[:metadata] if args.key?(:metadata)
2252
+ @query_record = args[:query_record] if args.key?(:query_record)
2253
+ @suggestion = args[:suggestion] if args.key?(:suggestion)
2254
+ end
2255
+ end
2256
+
2257
+ # Agent Assist Smart Reply data.
2258
+ class GoogleCloudContactcenterinsightsV1SmartReplyData
2259
+ include Google::Apis::Core::Hashable
2260
+
2261
+ # The system's confidence score that this reply is a good match for this
2262
+ # conversation, ranging from 0.0 (completely uncertain) to 1.0 (completely
2263
+ # certain).
2264
+ # Corresponds to the JSON property `confidenceScore`
2265
+ # @return [Float]
2266
+ attr_accessor :confidence_score
2267
+
2268
+ # Map that contains metadata about the Smart Reply and the document from which
2269
+ # it originates.
2270
+ # Corresponds to the JSON property `metadata`
2271
+ # @return [Hash<String,String>]
2272
+ attr_accessor :metadata
2273
+
2274
+ # Name of the query record. Format: projects/`project`/locations/`location`/
2275
+ # queryRecords/`query_record`
2276
+ # Corresponds to the JSON property `queryRecord`
2277
+ # @return [String]
2278
+ attr_accessor :query_record
2279
+
2280
+ # The content of the reply.
2281
+ # Corresponds to the JSON property `reply`
2282
+ # @return [String]
2283
+ attr_accessor :reply
2284
+
2285
+ def initialize(**args)
2286
+ update!(**args)
2287
+ end
2288
+
2289
+ # Update properties of this object
2290
+ def update!(**args)
2291
+ @confidence_score = args[:confidence_score] if args.key?(:confidence_score)
2292
+ @metadata = args[:metadata] if args.key?(:metadata)
2293
+ @query_record = args[:query_record] if args.key?(:query_record)
2294
+ @reply = args[:reply] if args.key?(:reply)
2295
+ end
2296
+ end
2297
+
2298
+ # Metadata for undeploying an issue model.
2299
+ class GoogleCloudContactcenterinsightsV1UndeployIssueModelMetadata
2300
+ include Google::Apis::Core::Hashable
2301
+
2302
+ # Output only. The time the operation was created.
2303
+ # Corresponds to the JSON property `createTime`
2304
+ # @return [String]
2305
+ attr_accessor :create_time
2306
+
2307
+ # Output only. The time the operation finished running.
2308
+ # Corresponds to the JSON property `endTime`
2309
+ # @return [String]
2310
+ attr_accessor :end_time
2311
+
2312
+ # The request to undeploy an issue model.
2313
+ # Corresponds to the JSON property `request`
2314
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest]
2315
+ attr_accessor :request
2316
+
2317
+ def initialize(**args)
2318
+ update!(**args)
2319
+ end
2320
+
2321
+ # Update properties of this object
2322
+ def update!(**args)
2323
+ @create_time = args[:create_time] if args.key?(:create_time)
2324
+ @end_time = args[:end_time] if args.key?(:end_time)
2325
+ @request = args[:request] if args.key?(:request)
2326
+ end
2327
+ end
2328
+
2329
+ # The request to undeploy an issue model.
2330
+ class GoogleCloudContactcenterinsightsV1UndeployIssueModelRequest
2331
+ include Google::Apis::Core::Hashable
2332
+
2333
+ # Required. The issue model to undeploy.
2334
+ # Corresponds to the JSON property `name`
2335
+ # @return [String]
2336
+ attr_accessor :name
2337
+
2338
+ def initialize(**args)
2339
+ update!(**args)
2340
+ end
2341
+
2342
+ # Update properties of this object
2343
+ def update!(**args)
2344
+ @name = args[:name] if args.key?(:name)
2345
+ end
2346
+ end
2347
+
2348
+ # The response to undeploy an issue model.
2349
+ class GoogleCloudContactcenterinsightsV1UndeployIssueModelResponse
2350
+ include Google::Apis::Core::Hashable
2351
+
2352
+ def initialize(**args)
2353
+ update!(**args)
2354
+ end
2355
+
2356
+ # Update properties of this object
2357
+ def update!(**args)
2358
+ end
2359
+ end
2360
+
2361
+ # Metadata for a create analysis operation.
2362
+ class GoogleCloudContactcenterinsightsV1alpha1CreateAnalysisOperationMetadata
2363
+ include Google::Apis::Core::Hashable
2364
+
2365
+ # Output only. The Conversation that this Analysis Operation belongs to.
2366
+ # Corresponds to the JSON property `conversation`
2367
+ # @return [String]
2368
+ attr_accessor :conversation
2369
+
2370
+ # Output only. The time the operation was created.
2371
+ # Corresponds to the JSON property `createTime`
2372
+ # @return [String]
2373
+ attr_accessor :create_time
2374
+
2375
+ # Output only. The time the operation finished running.
2376
+ # Corresponds to the JSON property `endTime`
2377
+ # @return [String]
2378
+ attr_accessor :end_time
2379
+
2380
+ def initialize(**args)
2381
+ update!(**args)
2382
+ end
2383
+
2384
+ # Update properties of this object
2385
+ def update!(**args)
2386
+ @conversation = args[:conversation] if args.key?(:conversation)
2387
+ @create_time = args[:create_time] if args.key?(:create_time)
2388
+ @end_time = args[:end_time] if args.key?(:end_time)
2389
+ end
2390
+ end
2391
+
2392
+ # Metadata for creating an issue model.
2393
+ class GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelMetadata
2394
+ include Google::Apis::Core::Hashable
2395
+
2396
+ # Output only. The time the operation was created.
2397
+ # Corresponds to the JSON property `createTime`
2398
+ # @return [String]
2399
+ attr_accessor :create_time
2400
+
2401
+ # Output only. The time the operation finished running.
2402
+ # Corresponds to the JSON property `endTime`
2403
+ # @return [String]
2404
+ attr_accessor :end_time
2405
+
2406
+ # The request to create an issue model.
2407
+ # Corresponds to the JSON property `request`
2408
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest]
2409
+ attr_accessor :request
2410
+
2411
+ def initialize(**args)
2412
+ update!(**args)
2413
+ end
2414
+
2415
+ # Update properties of this object
2416
+ def update!(**args)
2417
+ @create_time = args[:create_time] if args.key?(:create_time)
2418
+ @end_time = args[:end_time] if args.key?(:end_time)
2419
+ @request = args[:request] if args.key?(:request)
2420
+ end
2421
+ end
2422
+
2423
+ # The request to create an issue model.
2424
+ class GoogleCloudContactcenterinsightsV1alpha1CreateIssueModelRequest
2425
+ include Google::Apis::Core::Hashable
2426
+
2427
+ # The issue model resource.
2428
+ # Corresponds to the JSON property `issueModel`
2429
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1IssueModel]
2430
+ attr_accessor :issue_model
2431
+
2432
+ # Required. The parent resource of the issue model.
2433
+ # Corresponds to the JSON property `parent`
2434
+ # @return [String]
2435
+ attr_accessor :parent
2436
+
2437
+ def initialize(**args)
2438
+ update!(**args)
2439
+ end
2440
+
2441
+ # Update properties of this object
2442
+ def update!(**args)
2443
+ @issue_model = args[:issue_model] if args.key?(:issue_model)
2444
+ @parent = args[:parent] if args.key?(:parent)
2445
+ end
2446
+ end
2447
+
2448
+ # Metadata for deleting an issue model.
2449
+ class GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelMetadata
2450
+ include Google::Apis::Core::Hashable
2451
+
2452
+ # Output only. The time the operation was created.
2453
+ # Corresponds to the JSON property `createTime`
2454
+ # @return [String]
2455
+ attr_accessor :create_time
2456
+
2457
+ # Output only. The time the operation finished running.
2458
+ # Corresponds to the JSON property `endTime`
2459
+ # @return [String]
2460
+ attr_accessor :end_time
2461
+
2462
+ # The request to delete an issue model.
2463
+ # Corresponds to the JSON property `request`
2464
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest]
2465
+ attr_accessor :request
2466
+
2467
+ def initialize(**args)
2468
+ update!(**args)
2469
+ end
2470
+
2471
+ # Update properties of this object
2472
+ def update!(**args)
2473
+ @create_time = args[:create_time] if args.key?(:create_time)
2474
+ @end_time = args[:end_time] if args.key?(:end_time)
2475
+ @request = args[:request] if args.key?(:request)
2476
+ end
2477
+ end
2478
+
2479
+ # The request to delete an issue model.
2480
+ class GoogleCloudContactcenterinsightsV1alpha1DeleteIssueModelRequest
2481
+ include Google::Apis::Core::Hashable
2482
+
2483
+ # Required. The name of the issue model to delete.
2484
+ # Corresponds to the JSON property `name`
2485
+ # @return [String]
2486
+ attr_accessor :name
2487
+
2488
+ def initialize(**args)
2489
+ update!(**args)
2490
+ end
2491
+
2492
+ # Update properties of this object
2493
+ def update!(**args)
2494
+ @name = args[:name] if args.key?(:name)
2495
+ end
2496
+ end
2497
+
2498
+ # Metadata for deploying an issue model.
2499
+ class GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelMetadata
2500
+ include Google::Apis::Core::Hashable
2501
+
2502
+ # Output only. The time the operation was created.
2503
+ # Corresponds to the JSON property `createTime`
2504
+ # @return [String]
2505
+ attr_accessor :create_time
2506
+
2507
+ # Output only. The time the operation finished running.
2508
+ # Corresponds to the JSON property `endTime`
2509
+ # @return [String]
2510
+ attr_accessor :end_time
2511
+
2512
+ # The request to deploy an issue model.
2513
+ # Corresponds to the JSON property `request`
2514
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest]
2515
+ attr_accessor :request
2516
+
2517
+ def initialize(**args)
2518
+ update!(**args)
2519
+ end
2520
+
2521
+ # Update properties of this object
2522
+ def update!(**args)
2523
+ @create_time = args[:create_time] if args.key?(:create_time)
2524
+ @end_time = args[:end_time] if args.key?(:end_time)
2525
+ @request = args[:request] if args.key?(:request)
2526
+ end
2527
+ end
2528
+
2529
+ # The request to deploy an issue model.
2530
+ class GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelRequest
2531
+ include Google::Apis::Core::Hashable
2532
+
2533
+ # Required. The issue model to deploy.
2534
+ # Corresponds to the JSON property `name`
2535
+ # @return [String]
2536
+ attr_accessor :name
2537
+
2538
+ def initialize(**args)
2539
+ update!(**args)
2540
+ end
2541
+
2542
+ # Update properties of this object
2543
+ def update!(**args)
2544
+ @name = args[:name] if args.key?(:name)
2545
+ end
2546
+ end
2547
+
2548
+ # The response to deploy an issue model.
2549
+ class GoogleCloudContactcenterinsightsV1alpha1DeployIssueModelResponse
2550
+ include Google::Apis::Core::Hashable
2551
+
2552
+ def initialize(**args)
2553
+ update!(**args)
2554
+ end
2555
+
2556
+ # Update properties of this object
2557
+ def update!(**args)
2558
+ end
2559
+ end
2560
+
2561
+ # Metadata for an export insights operation.
2562
+ class GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataMetadata
2563
+ include Google::Apis::Core::Hashable
2564
+
2565
+ # Output only. The time the operation was created.
2566
+ # Corresponds to the JSON property `createTime`
2567
+ # @return [String]
2568
+ attr_accessor :create_time
2569
+
2570
+ # Output only. The time the operation finished running.
2571
+ # Corresponds to the JSON property `endTime`
2572
+ # @return [String]
2573
+ attr_accessor :end_time
2574
+
2575
+ # Partial errors during export operation that might cause the operation output
2576
+ # to be incomplete.
2577
+ # Corresponds to the JSON property `partialErrors`
2578
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleRpcStatus>]
2579
+ attr_accessor :partial_errors
2580
+
2581
+ # The request to export insights.
2582
+ # Corresponds to the JSON property `request`
2583
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest]
2584
+ attr_accessor :request
2585
+
2586
+ def initialize(**args)
2587
+ update!(**args)
2588
+ end
2589
+
2590
+ # Update properties of this object
2591
+ def update!(**args)
2592
+ @create_time = args[:create_time] if args.key?(:create_time)
2593
+ @end_time = args[:end_time] if args.key?(:end_time)
2594
+ @partial_errors = args[:partial_errors] if args.key?(:partial_errors)
2595
+ @request = args[:request] if args.key?(:request)
2596
+ end
2597
+ end
2598
+
2599
+ # The request to export insights.
2600
+ class GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequest
2601
+ include Google::Apis::Core::Hashable
2602
+
2603
+ # A BigQuery Table Reference.
2604
+ # Corresponds to the JSON property `bigQueryDestination`
2605
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination]
2606
+ attr_accessor :big_query_destination
2607
+
2608
+ # A filter to reduce results to a specific subset. Useful for exporting
2609
+ # conversations with specific properties.
2610
+ # Corresponds to the JSON property `filter`
2611
+ # @return [String]
2612
+ attr_accessor :filter
2613
+
2614
+ # A fully qualified KMS key name for BigQuery tables protected by CMEK. Format:
2615
+ # projects/`project`/locations/`location`/keyRings/`keyring`/cryptoKeys/`key`/
2616
+ # cryptoKeyVersions/`version`
2617
+ # Corresponds to the JSON property `kmsKey`
2618
+ # @return [String]
2619
+ attr_accessor :kms_key
2620
+
2621
+ # Required. The parent resource to export data from.
2622
+ # Corresponds to the JSON property `parent`
2623
+ # @return [String]
2624
+ attr_accessor :parent
2625
+
2626
+ def initialize(**args)
2627
+ update!(**args)
2628
+ end
2629
+
2630
+ # Update properties of this object
2631
+ def update!(**args)
2632
+ @big_query_destination = args[:big_query_destination] if args.key?(:big_query_destination)
2633
+ @filter = args[:filter] if args.key?(:filter)
2634
+ @kms_key = args[:kms_key] if args.key?(:kms_key)
2635
+ @parent = args[:parent] if args.key?(:parent)
2636
+ end
2637
+ end
2638
+
2639
+ # A BigQuery Table Reference.
2640
+ class GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataRequestBigQueryDestination
2641
+ include Google::Apis::Core::Hashable
2642
+
2643
+ # Required. The name of the BigQuery dataset that the snapshot result should be
2644
+ # exported to. If this dataset does not exist, the export call returns an
2645
+ # INVALID_ARGUMENT error.
2646
+ # Corresponds to the JSON property `dataset`
2647
+ # @return [String]
2648
+ attr_accessor :dataset
2649
+
2650
+ # A project ID or number. If specified, then export will attempt to write data
2651
+ # to this project instead of the resource project. Otherwise, the resource
2652
+ # project will be used.
2653
+ # Corresponds to the JSON property `projectId`
2654
+ # @return [String]
2655
+ attr_accessor :project_id
2656
+
2657
+ # The BigQuery table name to which the insights data should be written. If this
2658
+ # table does not exist, the export call returns an INVALID_ARGUMENT error.
2659
+ # Corresponds to the JSON property `table`
2660
+ # @return [String]
2661
+ attr_accessor :table
2662
+
2663
+ def initialize(**args)
2664
+ update!(**args)
2665
+ end
2666
+
2667
+ # Update properties of this object
2668
+ def update!(**args)
2669
+ @dataset = args[:dataset] if args.key?(:dataset)
2670
+ @project_id = args[:project_id] if args.key?(:project_id)
2671
+ @table = args[:table] if args.key?(:table)
2672
+ end
2673
+ end
2674
+
2675
+ # Response for an export insights operation.
2676
+ class GoogleCloudContactcenterinsightsV1alpha1ExportInsightsDataResponse
2677
+ include Google::Apis::Core::Hashable
2678
+
2679
+ def initialize(**args)
2680
+ update!(**args)
2681
+ end
2682
+
2683
+ # Update properties of this object
2684
+ def update!(**args)
2685
+ end
2686
+ end
2687
+
2688
+ # The issue model resource.
2689
+ class GoogleCloudContactcenterinsightsV1alpha1IssueModel
2690
+ include Google::Apis::Core::Hashable
2691
+
2692
+ # Output only. The time at which this issue model was created.
2693
+ # Corresponds to the JSON property `createTime`
2694
+ # @return [String]
2695
+ attr_accessor :create_time
2696
+
2697
+ # The representative name for the issue model.
2698
+ # Corresponds to the JSON property `displayName`
2699
+ # @return [String]
2700
+ attr_accessor :display_name
2701
+
2702
+ # Configs for the input data used to create the issue model.
2703
+ # Corresponds to the JSON property `inputDataConfig`
2704
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig]
2705
+ attr_accessor :input_data_config
2706
+
2707
+ # Immutable. The resource name of the issue model. Format: projects/`project`/
2708
+ # locations/`location`/issueModels/`issue_model`
2709
+ # Corresponds to the JSON property `name`
2710
+ # @return [String]
2711
+ attr_accessor :name
2712
+
2713
+ # Output only. State of the model.
2714
+ # Corresponds to the JSON property `state`
2715
+ # @return [String]
2716
+ attr_accessor :state
2717
+
2718
+ # Aggregated statistics about an issue model.
2719
+ # Corresponds to the JSON property `trainingStats`
2720
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats]
2721
+ attr_accessor :training_stats
2722
+
2723
+ # Output only. The most recent time at which the issue model was updated.
2724
+ # Corresponds to the JSON property `updateTime`
2725
+ # @return [String]
2726
+ attr_accessor :update_time
2727
+
2728
+ def initialize(**args)
2729
+ update!(**args)
2730
+ end
2731
+
2732
+ # Update properties of this object
2733
+ def update!(**args)
2734
+ @create_time = args[:create_time] if args.key?(:create_time)
2735
+ @display_name = args[:display_name] if args.key?(:display_name)
2736
+ @input_data_config = args[:input_data_config] if args.key?(:input_data_config)
2737
+ @name = args[:name] if args.key?(:name)
2738
+ @state = args[:state] if args.key?(:state)
2739
+ @training_stats = args[:training_stats] if args.key?(:training_stats)
2740
+ @update_time = args[:update_time] if args.key?(:update_time)
2741
+ end
2742
+ end
2743
+
2744
+ # Configs for the input data used to create the issue model.
2745
+ class GoogleCloudContactcenterinsightsV1alpha1IssueModelInputDataConfig
2746
+ include Google::Apis::Core::Hashable
2747
+
2748
+ # Required.
2749
+ # Corresponds to the JSON property `medium`
2750
+ # @return [String]
2751
+ attr_accessor :medium
2752
+
2753
+ # Output only. Number of conversations used in training. Output only.
2754
+ # Corresponds to the JSON property `trainingConversationsCount`
2755
+ # @return [Fixnum]
2756
+ attr_accessor :training_conversations_count
2757
+
2758
+ def initialize(**args)
2759
+ update!(**args)
2760
+ end
2761
+
2762
+ # Update properties of this object
2763
+ def update!(**args)
2764
+ @medium = args[:medium] if args.key?(:medium)
2765
+ @training_conversations_count = args[:training_conversations_count] if args.key?(:training_conversations_count)
2766
+ end
2767
+ end
2768
+
2769
+ # Aggregated statistics about an issue model.
2770
+ class GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStats
2771
+ include Google::Apis::Core::Hashable
2772
+
2773
+ # Number of conversations the issue model has analyzed at this point in time.
2774
+ # Corresponds to the JSON property `analyzedConversationsCount`
2775
+ # @return [Fixnum]
2776
+ attr_accessor :analyzed_conversations_count
2777
+
2778
+ # Statistics on each issue. Key is the issue's resource name.
2779
+ # Corresponds to the JSON property `issueStats`
2780
+ # @return [Hash<String,Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats>]
2781
+ attr_accessor :issue_stats
2782
+
2783
+ # Number of analyzed conversations for which no issue was applicable at this
2784
+ # point in time.
2785
+ # Corresponds to the JSON property `unclassifiedConversationsCount`
2786
+ # @return [Fixnum]
2787
+ attr_accessor :unclassified_conversations_count
2788
+
2789
+ def initialize(**args)
2790
+ update!(**args)
2791
+ end
2792
+
2793
+ # Update properties of this object
2794
+ def update!(**args)
2795
+ @analyzed_conversations_count = args[:analyzed_conversations_count] if args.key?(:analyzed_conversations_count)
2796
+ @issue_stats = args[:issue_stats] if args.key?(:issue_stats)
2797
+ @unclassified_conversations_count = args[:unclassified_conversations_count] if args.key?(:unclassified_conversations_count)
2798
+ end
2799
+ end
2800
+
2801
+ # Aggregated statistics about an issue.
2802
+ class GoogleCloudContactcenterinsightsV1alpha1IssueModelLabelStatsIssueStats
2803
+ include Google::Apis::Core::Hashable
2804
+
2805
+ # Issue resource. Format: projects/`project`/locations/`location`/issueModels/`
2806
+ # issue_model`/issues/`issue`
2807
+ # Corresponds to the JSON property `issue`
2808
+ # @return [String]
2809
+ attr_accessor :issue
2810
+
2811
+ # Number of conversations attached to the issue at this point in time.
2812
+ # Corresponds to the JSON property `labeledConversationsCount`
2813
+ # @return [Fixnum]
2814
+ attr_accessor :labeled_conversations_count
2815
+
2816
+ def initialize(**args)
2817
+ update!(**args)
2818
+ end
2819
+
2820
+ # Update properties of this object
2821
+ def update!(**args)
2822
+ @issue = args[:issue] if args.key?(:issue)
2823
+ @labeled_conversations_count = args[:labeled_conversations_count] if args.key?(:labeled_conversations_count)
2824
+ end
2825
+ end
2826
+
2827
+ # Metadata for undeploying an issue model.
2828
+ class GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelMetadata
2829
+ include Google::Apis::Core::Hashable
2830
+
2831
+ # Output only. The time the operation was created.
2832
+ # Corresponds to the JSON property `createTime`
2833
+ # @return [String]
2834
+ attr_accessor :create_time
2835
+
2836
+ # Output only. The time the operation finished running.
2837
+ # Corresponds to the JSON property `endTime`
2838
+ # @return [String]
2839
+ attr_accessor :end_time
2840
+
2841
+ # The request to undeploy an issue model.
2842
+ # Corresponds to the JSON property `request`
2843
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest]
2844
+ attr_accessor :request
2845
+
2846
+ def initialize(**args)
2847
+ update!(**args)
2848
+ end
2849
+
2850
+ # Update properties of this object
2851
+ def update!(**args)
2852
+ @create_time = args[:create_time] if args.key?(:create_time)
2853
+ @end_time = args[:end_time] if args.key?(:end_time)
2854
+ @request = args[:request] if args.key?(:request)
2855
+ end
2856
+ end
2857
+
2858
+ # The request to undeploy an issue model.
2859
+ class GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelRequest
2860
+ include Google::Apis::Core::Hashable
2861
+
2862
+ # Required. The issue model to undeploy.
2863
+ # Corresponds to the JSON property `name`
2864
+ # @return [String]
2865
+ attr_accessor :name
2866
+
2867
+ def initialize(**args)
2868
+ update!(**args)
2869
+ end
2870
+
2871
+ # Update properties of this object
2872
+ def update!(**args)
2873
+ @name = args[:name] if args.key?(:name)
2874
+ end
2875
+ end
2876
+
2877
+ # The response to undeploy an issue model.
2878
+ class GoogleCloudContactcenterinsightsV1alpha1UndeployIssueModelResponse
2879
+ include Google::Apis::Core::Hashable
2880
+
2881
+ def initialize(**args)
2882
+ update!(**args)
2883
+ end
2884
+
2885
+ # Update properties of this object
2886
+ def update!(**args)
2887
+ end
2888
+ end
2889
+
2890
+ # The response message for Operations.ListOperations.
2891
+ class GoogleLongrunningListOperationsResponse
2892
+ include Google::Apis::Core::Hashable
2893
+
2894
+ # The standard List next-page token.
2895
+ # Corresponds to the JSON property `nextPageToken`
2896
+ # @return [String]
2897
+ attr_accessor :next_page_token
2898
+
2899
+ # A list of operations that matches the specified filter in the request.
2900
+ # Corresponds to the JSON property `operations`
2901
+ # @return [Array<Google::Apis::ContactcenterinsightsV1::GoogleLongrunningOperation>]
2902
+ attr_accessor :operations
2903
+
2904
+ def initialize(**args)
2905
+ update!(**args)
2906
+ end
2907
+
2908
+ # Update properties of this object
2909
+ def update!(**args)
2910
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2911
+ @operations = args[:operations] if args.key?(:operations)
2912
+ end
2913
+ end
2914
+
2915
+ # This resource represents a long-running operation that is the result of a
2916
+ # network API call.
2917
+ class GoogleLongrunningOperation
2918
+ include Google::Apis::Core::Hashable
2919
+
2920
+ # If the value is `false`, it means the operation is still in progress. If `true`
2921
+ # , the operation is completed, and either `error` or `response` is available.
2922
+ # Corresponds to the JSON property `done`
2923
+ # @return [Boolean]
2924
+ attr_accessor :done
2925
+ alias_method :done?, :done
2926
+
2927
+ # The `Status` type defines a logical error model that is suitable for different
2928
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2929
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2930
+ # data: error code, error message, and error details. You can find out more
2931
+ # about this error model and how to work with it in the [API Design Guide](https:
2932
+ # //cloud.google.com/apis/design/errors).
2933
+ # Corresponds to the JSON property `error`
2934
+ # @return [Google::Apis::ContactcenterinsightsV1::GoogleRpcStatus]
2935
+ attr_accessor :error
2936
+
2937
+ # Service-specific metadata associated with the operation. It typically contains
2938
+ # progress information and common metadata such as create time. Some services
2939
+ # might not provide such metadata. Any method that returns a long-running
2940
+ # operation should document the metadata type, if any.
2941
+ # Corresponds to the JSON property `metadata`
2942
+ # @return [Hash<String,Object>]
2943
+ attr_accessor :metadata
2944
+
2945
+ # The server-assigned name, which is only unique within the same service that
2946
+ # originally returns it. If you use the default HTTP mapping, the `name` should
2947
+ # be a resource name ending with `operations/`unique_id``.
2948
+ # Corresponds to the JSON property `name`
2949
+ # @return [String]
2950
+ attr_accessor :name
2951
+
2952
+ # The normal response of the operation in case of success. If the original
2953
+ # method returns no data on success, such as `Delete`, the response is `google.
2954
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
2955
+ # the response should be the resource. For other methods, the response should
2956
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
2957
+ # example, if the original method name is `TakeSnapshot()`, the inferred
2958
+ # response type is `TakeSnapshotResponse`.
2959
+ # Corresponds to the JSON property `response`
2960
+ # @return [Hash<String,Object>]
2961
+ attr_accessor :response
2962
+
2963
+ def initialize(**args)
2964
+ update!(**args)
2965
+ end
2966
+
2967
+ # Update properties of this object
2968
+ def update!(**args)
2969
+ @done = args[:done] if args.key?(:done)
2970
+ @error = args[:error] if args.key?(:error)
2971
+ @metadata = args[:metadata] if args.key?(:metadata)
2972
+ @name = args[:name] if args.key?(:name)
2973
+ @response = args[:response] if args.key?(:response)
2974
+ end
2975
+ end
2976
+
2977
+ # A generic empty message that you can re-use to avoid defining duplicated empty
2978
+ # messages in your APIs. A typical example is to use it as the request or the
2979
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
2980
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
2981
+ # `Empty` is empty JSON object ````.
2982
+ class GoogleProtobufEmpty
2983
+ include Google::Apis::Core::Hashable
2984
+
2985
+ def initialize(**args)
2986
+ update!(**args)
2987
+ end
2988
+
2989
+ # Update properties of this object
2990
+ def update!(**args)
2991
+ end
2992
+ end
2993
+
2994
+ # The `Status` type defines a logical error model that is suitable for different
2995
+ # programming environments, including REST APIs and RPC APIs. It is used by [
2996
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
2997
+ # data: error code, error message, and error details. You can find out more
2998
+ # about this error model and how to work with it in the [API Design Guide](https:
2999
+ # //cloud.google.com/apis/design/errors).
3000
+ class GoogleRpcStatus
3001
+ include Google::Apis::Core::Hashable
3002
+
3003
+ # The status code, which should be an enum value of google.rpc.Code.
3004
+ # Corresponds to the JSON property `code`
3005
+ # @return [Fixnum]
3006
+ attr_accessor :code
3007
+
3008
+ # A list of messages that carry the error details. There is a common set of
3009
+ # message types for APIs to use.
3010
+ # Corresponds to the JSON property `details`
3011
+ # @return [Array<Hash<String,Object>>]
3012
+ attr_accessor :details
3013
+
3014
+ # A developer-facing error message, which should be in English. Any user-facing
3015
+ # error message should be localized and sent in the google.rpc.Status.details
3016
+ # field, or localized by the client.
3017
+ # Corresponds to the JSON property `message`
3018
+ # @return [String]
3019
+ attr_accessor :message
3020
+
3021
+ def initialize(**args)
3022
+ update!(**args)
3023
+ end
3024
+
3025
+ # Update properties of this object
3026
+ def update!(**args)
3027
+ @code = args[:code] if args.key?(:code)
3028
+ @details = args[:details] if args.key?(:details)
3029
+ @message = args[:message] if args.key?(:message)
3030
+ end
3031
+ end
3032
+ end
3033
+ end
3034
+ end