From 33fd29dc08e1117cfd0cd6876aa3d5047be362fc Mon Sep 17 00:00:00 2001 From: Google APIs Date: Thu, 4 Nov 2021 12:46:21 -0700 Subject: [PATCH] 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 --- .../v1/contact_center_insights.proto | 130 ++++++++++++------ .../contactcenterinsights/v1/resources.proto | 3 + 2 files changed, 90 insertions(+), 43 deletions(-) diff --git a/google/cloud/contactcenterinsights/v1/contact_center_insights.proto b/google/cloud/contactcenterinsights/v1/contact_center_insights.proto index 6156d403bc..0ebb35ff64 100644 --- a/google/cloud/contactcenterinsights/v1/contact_center_insights.proto +++ b/google/cloud/contactcenterinsights/v1/contact_center_insights.proto @@ -39,7 +39,8 @@ option ruby_package = "Google::Cloud::ContactCenterInsights::V1"; // An API that lets users analyze and explore their business conversation data. service ContactCenterInsights { option (google.api.default_host) = "contactcenterinsights.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; // Creates a conversation. rpc CreateConversation(CreateConversationRequest) returns (Conversation) { @@ -47,7 +48,8 @@ service ContactCenterInsights { post: "/v1/{parent=projects/*/locations/*}/conversations" body: "conversation" }; - option (google.api.method_signature) = "parent,conversation,conversation_id"; + option (google.api.method_signature) = + "parent,conversation,conversation_id"; } // Updates a conversation. @@ -68,7 +70,8 @@ service ContactCenterInsights { } // Lists conversations. - rpc ListConversations(ListConversationsRequest) returns (ListConversationsResponse) { + rpc ListConversations(ListConversationsRequest) + returns (ListConversationsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/conversations" }; @@ -76,7 +79,8 @@ service ContactCenterInsights { } // Deletes a conversation. - rpc DeleteConversation(DeleteConversationRequest) returns (google.protobuf.Empty) { + rpc DeleteConversation(DeleteConversationRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/conversations/*}" }; @@ -85,7 +89,8 @@ service ContactCenterInsights { // Creates an analysis. The long running operation is done when the analysis // has completed. - rpc CreateAnalysis(CreateAnalysisRequest) returns (google.longrunning.Operation) { + rpc CreateAnalysis(CreateAnalysisRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*/conversations/*}/analyses" body: "analysis" @@ -122,7 +127,8 @@ service ContactCenterInsights { } // Export insights data to a destination defined in the request body. - rpc ExportInsightsData(ExportInsightsDataRequest) returns (google.longrunning.Operation) { + rpc ExportInsightsData(ExportInsightsDataRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/insightsdata:export" body: "*" @@ -135,7 +141,8 @@ service ContactCenterInsights { } // Creates an issue model. - rpc CreateIssueModel(CreateIssueModelRequest) returns (google.longrunning.Operation) { + rpc CreateIssueModel(CreateIssueModelRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/issueModels" body: "issue_model" @@ -165,7 +172,8 @@ service ContactCenterInsights { } // Lists issue models. - rpc ListIssueModels(ListIssueModelsRequest) returns (ListIssueModelsResponse) { + rpc ListIssueModels(ListIssueModelsRequest) + returns (ListIssueModelsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/issueModels" }; @@ -173,7 +181,8 @@ service ContactCenterInsights { } // Deletes an issue model. - rpc DeleteIssueModel(DeleteIssueModelRequest) returns (google.longrunning.Operation) { + rpc DeleteIssueModel(DeleteIssueModelRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/issueModels/*}" }; @@ -186,7 +195,8 @@ service ContactCenterInsights { // Deploys an issue model. Returns an error if a model is already deployed. // An issue model can only be used in analysis after it has been deployed. - rpc DeployIssueModel(DeployIssueModelRequest) returns (google.longrunning.Operation) { + rpc DeployIssueModel(DeployIssueModelRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{name=projects/*/locations/*/issueModels/*}:deploy" body: "*" @@ -200,7 +210,8 @@ service ContactCenterInsights { // Undeploys an issue model. // An issue model can not be used in analysis after it has been undeployed. - rpc UndeployIssueModel(UndeployIssueModelRequest) returns (google.longrunning.Operation) { + rpc UndeployIssueModel(UndeployIssueModelRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{name=projects/*/locations/*/issueModels/*}:undeploy" body: "*" @@ -238,7 +249,8 @@ service ContactCenterInsights { } // Gets an issue model's statistics. - rpc CalculateIssueModelStats(CalculateIssueModelStatsRequest) returns (CalculateIssueModelStatsResponse) { + rpc CalculateIssueModelStats(CalculateIssueModelStatsRequest) + returns (CalculateIssueModelStatsResponse) { option (google.api.http) = { get: "/v1/{issue_model=projects/*/locations/*/issueModels/*}:calculateIssueModelStats" }; @@ -263,7 +275,8 @@ service ContactCenterInsights { } // Lists phrase matchers. - rpc ListPhraseMatchers(ListPhraseMatchersRequest) returns (ListPhraseMatchersResponse) { + rpc ListPhraseMatchers(ListPhraseMatchersRequest) + returns (ListPhraseMatchersResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/phraseMatchers" }; @@ -271,13 +284,23 @@ service ContactCenterInsights { } // Deletes a phrase matcher. - rpc DeletePhraseMatcher(DeletePhraseMatcherRequest) returns (google.protobuf.Empty) { + rpc DeletePhraseMatcher(DeletePhraseMatcherRequest) + returns (google.protobuf.Empty) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/phraseMatchers/*}" }; option (google.api.method_signature) = "name"; } + // Updates a phrase matcher. + rpc UpdatePhraseMatcher(UpdatePhraseMatcherRequest) returns (PhraseMatcher) { + option (google.api.http) = { + patch: "/v1/{phrase_matcher.name=projects/*/locations/*/phraseMatchers/*}" + body: "phrase_matcher" + }; + option (google.api.method_signature) = "phrase_matcher,update_mask"; + } + // Gets conversation statistics. rpc CalculateStats(CalculateStatsRequest) returns (CalculateStatsResponse) { option (google.api.http) = { @@ -379,6 +402,11 @@ message CalculateStatsResponse { // Deprecated, use `issue_matches_stats` field instead. map issue_matches = 6 [deprecated = true]; + // A map associating each issue resource name with its respective number of + // matches in the set of conversations. Key has the format: + // `projects//locations//issueModels//issues/` + map issue_matches_stats = 8; + // A time series representing the count of conversations created over time // that match that requested filter criteria. TimeSeries conversation_count_time_series = 7; @@ -387,10 +415,12 @@ message CalculateStatsResponse { // Metadata for a create analysis operation. message CreateAnalysisOperationMetadata { // Output only. The time the operation was created. - google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time the operation finished running. - google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp end_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Conversation that this Analysis Operation belongs to. string conversation = 3 [ @@ -583,9 +613,9 @@ message ExportInsightsDataRequest { // the resource project will be used. string project_id = 3; - // Required. The name of the BigQuery dataset that the snapshot result should be - // exported to. If this dataset does not exist, the export call returns an - // INVALID_ARGUMENT error. + // Required. The name of the BigQuery dataset that the snapshot result + // should be exported to. If this dataset does not exist, the export call + // returns an INVALID_ARGUMENT error. string dataset = 1 [(google.api.field_behavior) = REQUIRED]; // The BigQuery table name to which the insights data should be written. @@ -621,10 +651,12 @@ message ExportInsightsDataRequest { // Metadata for an export insights operation. message ExportInsightsDataMetadata { // Output only. The time the operation was created. - google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time the operation finished running. - google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp end_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; // The original request for export. ExportInsightsDataRequest request = 3; @@ -635,9 +667,7 @@ message ExportInsightsDataMetadata { } // Response for an export insights operation. -message ExportInsightsDataResponse { - -} +message ExportInsightsDataResponse {} // The request to create an issue model. message CreateIssueModelRequest { @@ -656,10 +686,12 @@ message CreateIssueModelRequest { // Metadata for creating an issue model. message CreateIssueModelMetadata { // Output only. The time the operation was created. - google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time the operation finished running. - google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp end_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; // The original request for creation. CreateIssueModelRequest request = 3; @@ -716,10 +748,12 @@ message DeleteIssueModelRequest { // Metadata for deleting an issue model. message DeleteIssueModelMetadata { // Output only. The time the operation was created. - google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time the operation finished running. - google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp end_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; // The original request for deletion. DeleteIssueModelRequest request = 3; @@ -737,17 +771,17 @@ message DeployIssueModelRequest { } // The response to deploy an issue model. -message DeployIssueModelResponse { - -} +message DeployIssueModelResponse {} // Metadata for deploying an issue model. message DeployIssueModelMetadata { // Output only. The time the operation was created. - google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time the operation finished running. - google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp end_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; // The original request for deployment. DeployIssueModelRequest request = 3; @@ -765,17 +799,17 @@ message UndeployIssueModelRequest { } // The response to undeploy an issue model. -message UndeployIssueModelResponse { - -} +message UndeployIssueModelResponse {} // Metadata for undeploying an issue model. message UndeployIssueModelMetadata { // Output only. The time the operation was created. - google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time the operation finished running. - google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp end_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; // The original request for undeployment. UndeployIssueModelRequest request = 3; @@ -838,10 +872,10 @@ message CalculateIssueModelStatsResponse { // Request to create a phrase matcher. message CreatePhraseMatcherRequest { - // Required. The parent resource of the phrase matcher. Required. The location to create - // a phrase matcher for. - // Format: `projects//locations/` or - // `projects//locations/` + // Required. The parent resource of the phrase matcher. Required. The location + // to create a phrase matcher for. Format: `projects//locations/` or `projects//locations/` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { @@ -911,6 +945,15 @@ message DeletePhraseMatcherRequest { ]; } +// The request to update a phrase matcher. +message UpdatePhraseMatcherRequest { + // Required. The new values for the phrase matcher. + PhraseMatcher phrase_matcher = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of fields to be updated. + google.protobuf.FieldMask update_mask = 2; +} + // The request to get project-level settings. message GetSettingsRequest { // Required. The name of the settings resource to get. @@ -928,5 +971,6 @@ message UpdateSettingsRequest { Settings settings = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The list of fields to be updated. - google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; } diff --git a/google/cloud/contactcenterinsights/v1/resources.proto b/google/cloud/contactcenterinsights/v1/resources.proto index bafbd0750a..491106cb27 100644 --- a/google/cloud/contactcenterinsights/v1/resources.proto +++ b/google/cloud/contactcenterinsights/v1/resources.proto @@ -678,6 +678,9 @@ message IssueModelLabelStats { // Number of conversations attached to the issue at this point in time. int64 labeled_conversations_count = 2; + + // Display name of the issue. + string display_name = 3; } // Number of conversations the issue model has analyzed at this point in time.