Skip to content

Commit 33fd29d

Browse files
Google APIscopybara-github
authored andcommitted
feat: Add ability to update phrase matchers
feat: Add issue model stats to time series feat: Add display name to issue model stats PiperOrigin-RevId: 407647313
1 parent 25c7592 commit 33fd29d

2 files changed

Lines changed: 90 additions & 43 deletions

File tree

google/cloud/contactcenterinsights/v1/contact_center_insights.proto

Lines changed: 87 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,17 @@ option ruby_package = "Google::Cloud::ContactCenterInsights::V1";
3939
// An API that lets users analyze and explore their business conversation data.
4040
service ContactCenterInsights {
4141
option (google.api.default_host) = "contactcenterinsights.googleapis.com";
42-
option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
42+
option (google.api.oauth_scopes) =
43+
"https://www.googleapis.com/auth/cloud-platform";
4344

4445
// Creates a conversation.
4546
rpc CreateConversation(CreateConversationRequest) returns (Conversation) {
4647
option (google.api.http) = {
4748
post: "/v1/{parent=projects/*/locations/*}/conversations"
4849
body: "conversation"
4950
};
50-
option (google.api.method_signature) = "parent,conversation,conversation_id";
51+
option (google.api.method_signature) =
52+
"parent,conversation,conversation_id";
5153
}
5254

5355
// Updates a conversation.
@@ -68,15 +70,17 @@ service ContactCenterInsights {
6870
}
6971

7072
// Lists conversations.
71-
rpc ListConversations(ListConversationsRequest) returns (ListConversationsResponse) {
73+
rpc ListConversations(ListConversationsRequest)
74+
returns (ListConversationsResponse) {
7275
option (google.api.http) = {
7376
get: "/v1/{parent=projects/*/locations/*}/conversations"
7477
};
7578
option (google.api.method_signature) = "parent";
7679
}
7780

7881
// Deletes a conversation.
79-
rpc DeleteConversation(DeleteConversationRequest) returns (google.protobuf.Empty) {
82+
rpc DeleteConversation(DeleteConversationRequest)
83+
returns (google.protobuf.Empty) {
8084
option (google.api.http) = {
8185
delete: "/v1/{name=projects/*/locations/*/conversations/*}"
8286
};
@@ -85,7 +89,8 @@ service ContactCenterInsights {
8589

8690
// Creates an analysis. The long running operation is done when the analysis
8791
// has completed.
88-
rpc CreateAnalysis(CreateAnalysisRequest) returns (google.longrunning.Operation) {
92+
rpc CreateAnalysis(CreateAnalysisRequest)
93+
returns (google.longrunning.Operation) {
8994
option (google.api.http) = {
9095
post: "/v1/{parent=projects/*/locations/*/conversations/*}/analyses"
9196
body: "analysis"
@@ -122,7 +127,8 @@ service ContactCenterInsights {
122127
}
123128

124129
// Export insights data to a destination defined in the request body.
125-
rpc ExportInsightsData(ExportInsightsDataRequest) returns (google.longrunning.Operation) {
130+
rpc ExportInsightsData(ExportInsightsDataRequest)
131+
returns (google.longrunning.Operation) {
126132
option (google.api.http) = {
127133
post: "/v1/{parent=projects/*/locations/*}/insightsdata:export"
128134
body: "*"
@@ -135,7 +141,8 @@ service ContactCenterInsights {
135141
}
136142

137143
// Creates an issue model.
138-
rpc CreateIssueModel(CreateIssueModelRequest) returns (google.longrunning.Operation) {
144+
rpc CreateIssueModel(CreateIssueModelRequest)
145+
returns (google.longrunning.Operation) {
139146
option (google.api.http) = {
140147
post: "/v1/{parent=projects/*/locations/*}/issueModels"
141148
body: "issue_model"
@@ -165,15 +172,17 @@ service ContactCenterInsights {
165172
}
166173

167174
// Lists issue models.
168-
rpc ListIssueModels(ListIssueModelsRequest) returns (ListIssueModelsResponse) {
175+
rpc ListIssueModels(ListIssueModelsRequest)
176+
returns (ListIssueModelsResponse) {
169177
option (google.api.http) = {
170178
get: "/v1/{parent=projects/*/locations/*}/issueModels"
171179
};
172180
option (google.api.method_signature) = "parent";
173181
}
174182

175183
// Deletes an issue model.
176-
rpc DeleteIssueModel(DeleteIssueModelRequest) returns (google.longrunning.Operation) {
184+
rpc DeleteIssueModel(DeleteIssueModelRequest)
185+
returns (google.longrunning.Operation) {
177186
option (google.api.http) = {
178187
delete: "/v1/{name=projects/*/locations/*/issueModels/*}"
179188
};
@@ -186,7 +195,8 @@ service ContactCenterInsights {
186195

187196
// Deploys an issue model. Returns an error if a model is already deployed.
188197
// An issue model can only be used in analysis after it has been deployed.
189-
rpc DeployIssueModel(DeployIssueModelRequest) returns (google.longrunning.Operation) {
198+
rpc DeployIssueModel(DeployIssueModelRequest)
199+
returns (google.longrunning.Operation) {
190200
option (google.api.http) = {
191201
post: "/v1/{name=projects/*/locations/*/issueModels/*}:deploy"
192202
body: "*"
@@ -200,7 +210,8 @@ service ContactCenterInsights {
200210

201211
// Undeploys an issue model.
202212
// An issue model can not be used in analysis after it has been undeployed.
203-
rpc UndeployIssueModel(UndeployIssueModelRequest) returns (google.longrunning.Operation) {
213+
rpc UndeployIssueModel(UndeployIssueModelRequest)
214+
returns (google.longrunning.Operation) {
204215
option (google.api.http) = {
205216
post: "/v1/{name=projects/*/locations/*/issueModels/*}:undeploy"
206217
body: "*"
@@ -238,7 +249,8 @@ service ContactCenterInsights {
238249
}
239250

240251
// Gets an issue model's statistics.
241-
rpc CalculateIssueModelStats(CalculateIssueModelStatsRequest) returns (CalculateIssueModelStatsResponse) {
252+
rpc CalculateIssueModelStats(CalculateIssueModelStatsRequest)
253+
returns (CalculateIssueModelStatsResponse) {
242254
option (google.api.http) = {
243255
get: "/v1/{issue_model=projects/*/locations/*/issueModels/*}:calculateIssueModelStats"
244256
};
@@ -263,21 +275,32 @@ service ContactCenterInsights {
263275
}
264276

265277
// Lists phrase matchers.
266-
rpc ListPhraseMatchers(ListPhraseMatchersRequest) returns (ListPhraseMatchersResponse) {
278+
rpc ListPhraseMatchers(ListPhraseMatchersRequest)
279+
returns (ListPhraseMatchersResponse) {
267280
option (google.api.http) = {
268281
get: "/v1/{parent=projects/*/locations/*}/phraseMatchers"
269282
};
270283
option (google.api.method_signature) = "parent";
271284
}
272285

273286
// Deletes a phrase matcher.
274-
rpc DeletePhraseMatcher(DeletePhraseMatcherRequest) returns (google.protobuf.Empty) {
287+
rpc DeletePhraseMatcher(DeletePhraseMatcherRequest)
288+
returns (google.protobuf.Empty) {
275289
option (google.api.http) = {
276290
delete: "/v1/{name=projects/*/locations/*/phraseMatchers/*}"
277291
};
278292
option (google.api.method_signature) = "name";
279293
}
280294

295+
// Updates a phrase matcher.
296+
rpc UpdatePhraseMatcher(UpdatePhraseMatcherRequest) returns (PhraseMatcher) {
297+
option (google.api.http) = {
298+
patch: "/v1/{phrase_matcher.name=projects/*/locations/*/phraseMatchers/*}"
299+
body: "phrase_matcher"
300+
};
301+
option (google.api.method_signature) = "phrase_matcher,update_mask";
302+
}
303+
281304
// Gets conversation statistics.
282305
rpc CalculateStats(CalculateStatsRequest) returns (CalculateStatsResponse) {
283306
option (google.api.http) = {
@@ -379,6 +402,11 @@ message CalculateStatsResponse {
379402
// Deprecated, use `issue_matches_stats` field instead.
380403
map<string, int32> issue_matches = 6 [deprecated = true];
381404

405+
// A map associating each issue resource name with its respective number of
406+
// matches in the set of conversations. Key has the format:
407+
// `projects/<ProjectID>/locations/<LocationID>/issueModels/<IssueModelID>/issues/<IssueID>`
408+
map<string, IssueModelLabelStats.IssueStats> issue_matches_stats = 8;
409+
382410
// A time series representing the count of conversations created over time
383411
// that match that requested filter criteria.
384412
TimeSeries conversation_count_time_series = 7;
@@ -387,10 +415,12 @@ message CalculateStatsResponse {
387415
// Metadata for a create analysis operation.
388416
message CreateAnalysisOperationMetadata {
389417
// Output only. The time the operation was created.
390-
google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
418+
google.protobuf.Timestamp create_time = 1
419+
[(google.api.field_behavior) = OUTPUT_ONLY];
391420

392421
// Output only. The time the operation finished running.
393-
google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
422+
google.protobuf.Timestamp end_time = 2
423+
[(google.api.field_behavior) = OUTPUT_ONLY];
394424

395425
// Output only. The Conversation that this Analysis Operation belongs to.
396426
string conversation = 3 [
@@ -583,9 +613,9 @@ message ExportInsightsDataRequest {
583613
// the resource project will be used.
584614
string project_id = 3;
585615

586-
// Required. The name of the BigQuery dataset that the snapshot result should be
587-
// exported to. If this dataset does not exist, the export call returns an
588-
// INVALID_ARGUMENT error.
616+
// Required. The name of the BigQuery dataset that the snapshot result
617+
// should be exported to. If this dataset does not exist, the export call
618+
// returns an INVALID_ARGUMENT error.
589619
string dataset = 1 [(google.api.field_behavior) = REQUIRED];
590620

591621
// The BigQuery table name to which the insights data should be written.
@@ -621,10 +651,12 @@ message ExportInsightsDataRequest {
621651
// Metadata for an export insights operation.
622652
message ExportInsightsDataMetadata {
623653
// Output only. The time the operation was created.
624-
google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
654+
google.protobuf.Timestamp create_time = 1
655+
[(google.api.field_behavior) = OUTPUT_ONLY];
625656

626657
// Output only. The time the operation finished running.
627-
google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
658+
google.protobuf.Timestamp end_time = 2
659+
[(google.api.field_behavior) = OUTPUT_ONLY];
628660

629661
// The original request for export.
630662
ExportInsightsDataRequest request = 3;
@@ -635,9 +667,7 @@ message ExportInsightsDataMetadata {
635667
}
636668

637669
// Response for an export insights operation.
638-
message ExportInsightsDataResponse {
639-
640-
}
670+
message ExportInsightsDataResponse {}
641671

642672
// The request to create an issue model.
643673
message CreateIssueModelRequest {
@@ -656,10 +686,12 @@ message CreateIssueModelRequest {
656686
// Metadata for creating an issue model.
657687
message CreateIssueModelMetadata {
658688
// Output only. The time the operation was created.
659-
google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
689+
google.protobuf.Timestamp create_time = 1
690+
[(google.api.field_behavior) = OUTPUT_ONLY];
660691

661692
// Output only. The time the operation finished running.
662-
google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
693+
google.protobuf.Timestamp end_time = 2
694+
[(google.api.field_behavior) = OUTPUT_ONLY];
663695

664696
// The original request for creation.
665697
CreateIssueModelRequest request = 3;
@@ -716,10 +748,12 @@ message DeleteIssueModelRequest {
716748
// Metadata for deleting an issue model.
717749
message DeleteIssueModelMetadata {
718750
// Output only. The time the operation was created.
719-
google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
751+
google.protobuf.Timestamp create_time = 1
752+
[(google.api.field_behavior) = OUTPUT_ONLY];
720753

721754
// Output only. The time the operation finished running.
722-
google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
755+
google.protobuf.Timestamp end_time = 2
756+
[(google.api.field_behavior) = OUTPUT_ONLY];
723757

724758
// The original request for deletion.
725759
DeleteIssueModelRequest request = 3;
@@ -737,17 +771,17 @@ message DeployIssueModelRequest {
737771
}
738772

739773
// The response to deploy an issue model.
740-
message DeployIssueModelResponse {
741-
742-
}
774+
message DeployIssueModelResponse {}
743775

744776
// Metadata for deploying an issue model.
745777
message DeployIssueModelMetadata {
746778
// Output only. The time the operation was created.
747-
google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
779+
google.protobuf.Timestamp create_time = 1
780+
[(google.api.field_behavior) = OUTPUT_ONLY];
748781

749782
// Output only. The time the operation finished running.
750-
google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
783+
google.protobuf.Timestamp end_time = 2
784+
[(google.api.field_behavior) = OUTPUT_ONLY];
751785

752786
// The original request for deployment.
753787
DeployIssueModelRequest request = 3;
@@ -765,17 +799,17 @@ message UndeployIssueModelRequest {
765799
}
766800

767801
// The response to undeploy an issue model.
768-
message UndeployIssueModelResponse {
769-
770-
}
802+
message UndeployIssueModelResponse {}
771803

772804
// Metadata for undeploying an issue model.
773805
message UndeployIssueModelMetadata {
774806
// Output only. The time the operation was created.
775-
google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
807+
google.protobuf.Timestamp create_time = 1
808+
[(google.api.field_behavior) = OUTPUT_ONLY];
776809

777810
// Output only. The time the operation finished running.
778-
google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
811+
google.protobuf.Timestamp end_time = 2
812+
[(google.api.field_behavior) = OUTPUT_ONLY];
779813

780814
// The original request for undeployment.
781815
UndeployIssueModelRequest request = 3;
@@ -838,10 +872,10 @@ message CalculateIssueModelStatsResponse {
838872

839873
// Request to create a phrase matcher.
840874
message CreatePhraseMatcherRequest {
841-
// Required. The parent resource of the phrase matcher. Required. The location to create
842-
// a phrase matcher for.
843-
// Format: `projects/<Project ID>/locations/<Location ID>` or
844-
// `projects/<Project Number>/locations/<Location ID>`
875+
// Required. The parent resource of the phrase matcher. Required. The location
876+
// to create a phrase matcher for. Format: `projects/<Project
877+
// ID>/locations/<Location ID>` or `projects/<Project
878+
// Number>/locations/<Location ID>`
845879
string parent = 1 [
846880
(google.api.field_behavior) = REQUIRED,
847881
(google.api.resource_reference) = {
@@ -911,6 +945,15 @@ message DeletePhraseMatcherRequest {
911945
];
912946
}
913947

948+
// The request to update a phrase matcher.
949+
message UpdatePhraseMatcherRequest {
950+
// Required. The new values for the phrase matcher.
951+
PhraseMatcher phrase_matcher = 1 [(google.api.field_behavior) = REQUIRED];
952+
953+
// The list of fields to be updated.
954+
google.protobuf.FieldMask update_mask = 2;
955+
}
956+
914957
// The request to get project-level settings.
915958
message GetSettingsRequest {
916959
// Required. The name of the settings resource to get.
@@ -928,5 +971,6 @@ message UpdateSettingsRequest {
928971
Settings settings = 1 [(google.api.field_behavior) = REQUIRED];
929972

930973
// Required. The list of fields to be updated.
931-
google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
974+
google.protobuf.FieldMask update_mask = 2
975+
[(google.api.field_behavior) = REQUIRED];
932976
}

google/cloud/contactcenterinsights/v1/resources.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,9 @@ message IssueModelLabelStats {
678678

679679
// Number of conversations attached to the issue at this point in time.
680680
int64 labeled_conversations_count = 2;
681+
682+
// Display name of the issue.
683+
string display_name = 3;
681684
}
682685

683686
// Number of conversations the issue model has analyzed at this point in time.

0 commit comments

Comments
 (0)