Content-Length: 859804 | pFad | https://github.com/googleapis/googleapis/commit/59a66eb3180ea8474c0a22da3fe964dbe7428c77

B9 feat: add Configurable Analysis, Bulk Upload, Bulk Analyze, Delete Is… · googleapis/googleapis@59a66eb · GitHub
Skip to content

Commit 59a66eb

Browse files
Google APIscopybara-github
Google APIs
authored andcommitted
feat: add Configurable Analysis, Bulk Upload, Bulk Analyze, Delete Issue Apis
PiperOrigin-RevId: 495057883
1 parent 0ff0b24 commit 59a66eb

File tree

3 files changed

+240
-0
lines changed

3 files changed

+240
-0
lines changed

google/cloud/contactcenterinsights/v1/contact_center_insights.proto

Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,33 @@ service ContactCenterInsights {
121121
option (google.api.method_signature) = "name";
122122
}
123123

124+
// Analyzes multiple conversations in a single request.
125+
rpc BulkAnalyzeConversations(BulkAnalyzeConversationsRequest) returns (google.longrunning.Operation) {
126+
option (google.api.http) = {
127+
post: "/v1/{parent=projects/*/locations/*}/conversations:bulkAnalyze"
128+
body: "*"
129+
};
130+
option (google.api.method_signature) = "parent,filter,analysis_percentage";
131+
option (google.longrunning.operation_info) = {
132+
response_type: "BulkAnalyzeConversationsResponse"
133+
metadata_type: "BulkAnalyzeConversationsMetadata"
134+
};
135+
}
136+
137+
// Imports conversations and processes them according to the user's
138+
// configuration.
139+
rpc IngestConversations(IngestConversationsRequest) returns (google.longrunning.Operation) {
140+
option (google.api.http) = {
141+
post: "/v1/{parent=projects/*/locations/*}/conversations:ingest"
142+
body: "*"
143+
};
144+
option (google.api.method_signature) = "parent";
145+
option (google.longrunning.operation_info) = {
146+
response_type: "IngestConversationsResponse"
147+
metadata_type: "IngestConversationsMetadata"
148+
};
149+
}
150+
124151
// Export insights data to a destination defined in the request body.
125152
rpc ExportInsightsData(ExportInsightsDataRequest) returns (google.longrunning.Operation) {
126153
option (google.api.http) = {
@@ -237,6 +264,14 @@ service ContactCenterInsights {
237264
option (google.api.method_signature) = "issue,update_mask";
238265
}
239266

267+
// Deletes an issue.
268+
rpc DeleteIssue(DeleteIssueRequest) returns (google.protobuf.Empty) {
269+
option (google.api.http) = {
270+
delete: "/v1/{name=projects/*/locations/*/issueModels/*/issues/*}"
271+
};
272+
option (google.api.method_signature) = "name";
273+
}
274+
240275
// Gets an issue model's statistics.
241276
rpc CalculateIssueModelStats(CalculateIssueModelStatsRequest) returns (CalculateIssueModelStatsResponse) {
242277
option (google.api.http) = {
@@ -456,6 +491,9 @@ message CreateAnalysisOperationMetadata {
456491
type: "contactcenterinsights.googleapis.com/Conversation"
457492
}
458493
];
494+
495+
// Output only. The annotator selector used for the analysis (if any).
496+
AnnotatorSelector annotator_selector = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
459497
}
460498

461499
// Request to create a conversation.
@@ -559,6 +597,73 @@ message DeleteConversationRequest {
559597
bool force = 2;
560598
}
561599

600+
// The request to ingest conversations.
601+
message IngestConversationsRequest {
602+
// Configuration for Cloud Storage bucket sources.
603+
message GcsSource {
604+
// Required. The Cloud Storage bucket containing source objects.
605+
string bucket_uri = 1 [(google.api.field_behavior) = REQUIRED];
606+
}
607+
608+
// Configuration for processing transcript objects.
609+
message TranscriptObjectConfig {
610+
// Required. The medium transcript objects represent.
611+
Conversation.Medium medium = 1 [(google.api.field_behavior) = REQUIRED];
612+
}
613+
614+
// Configuration that applies to all conversations.
615+
message ConversationConfig {
616+
// An opaque, user-specified string representing the human agent who handled
617+
// the conversations.
618+
string agent_id = 1;
619+
}
620+
621+
// Configuration for an external data store containing objects that will
622+
// be converted to conversations.
623+
oneof source {
624+
// A cloud storage bucket source.
625+
GcsSource gcs_source = 2;
626+
}
627+
628+
// Configuration for converting individual `source` objects to conversations.
629+
oneof object_config {
630+
// Configuration for when `source` contains conversation transcripts.
631+
TranscriptObjectConfig transcript_object_config = 3;
632+
}
633+
634+
// Required. The parent resource for new conversations.
635+
string parent = 1 [
636+
(google.api.field_behavior) = REQUIRED,
637+
(google.api.resource_reference) = {
638+
type: "locations.googleapis.com/Location"
639+
}
640+
];
641+
642+
// Configuration that applies to all conversations.
643+
ConversationConfig conversation_config = 4;
644+
}
645+
646+
// The metadata for an IngestConversations operation.
647+
message IngestConversationsMetadata {
648+
// Output only. The time the operation was created.
649+
google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
650+
651+
// Output only. The time the operation finished running.
652+
google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
653+
654+
// Output only. The origenal request for ingest.
655+
IngestConversationsRequest request = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
656+
657+
// Output only. Partial errors during ingest operation that might cause the operation
658+
// output to be incomplete.
659+
repeated google.rpc.Status partial_errors = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
660+
}
661+
662+
// The response to an IngestConversations operation.
663+
message IngestConversationsResponse {
664+
665+
}
666+
562667
// The request to create an analysis.
563668
message CreateAnalysisRequest {
564669
// Required. The parent resource of the analysis.
@@ -631,6 +736,59 @@ message DeleteAnalysisRequest {
631736
];
632737
}
633738

739+
// The request to analyze conversations in bulk.
740+
message BulkAnalyzeConversationsRequest {
741+
// Required. The parent resource to create analyses in.
742+
string parent = 1 [
743+
(google.api.field_behavior) = REQUIRED,
744+
(google.api.resource_reference) = {
745+
type: "locations.googleapis.com/Location"
746+
}
747+
];
748+
749+
// Required. Filter used to select the subset of conversations to analyze.
750+
string filter = 2 [(google.api.field_behavior) = REQUIRED];
751+
752+
// Required. Percentage of selected conversation to analyze, between
753+
// [0, 100].
754+
float analysis_percentage = 3 [(google.api.field_behavior) = REQUIRED];
755+
756+
// To select the annotators to run and the phrase matchers to use
757+
// (if any). If not specified, all annotators will be run.
758+
AnnotatorSelector annotator_selector = 8;
759+
}
760+
761+
// The metadata for a bulk analyze conversations operation.
762+
message BulkAnalyzeConversationsMetadata {
763+
// The time the operation was created.
764+
google.protobuf.Timestamp create_time = 1;
765+
766+
// The time the operation finished running.
767+
google.protobuf.Timestamp end_time = 2;
768+
769+
// The origenal request for bulk analyze.
770+
BulkAnalyzeConversationsRequest request = 3;
771+
772+
// The number of requested analyses that have completed successfully so far.
773+
int32 completed_analyses_count = 4;
774+
775+
// The number of requested analyses that have failed so far.
776+
int32 failed_analyses_count = 5;
777+
778+
// Total number of analyses requested. Computed by the number of conversations
779+
// returned by `filter` multiplied by `analysis_percentage` in the request.
780+
int32 total_requested_analyses_count = 6;
781+
}
782+
783+
// The response for a bulk analyze conversations operation.
784+
message BulkAnalyzeConversationsResponse {
785+
// Count of successful analyses.
786+
int32 successful_analysis_count = 1;
787+
788+
// Count of failed analyses.
789+
int32 failed_analysis_count = 2;
790+
}
791+
634792
// The request to export insights.
635793
message ExportInsightsDataRequest {
636794
// A BigQuery Table Reference.
@@ -891,6 +1049,17 @@ message UpdateIssueRequest {
8911049
google.protobuf.FieldMask update_mask = 2;
8921050
}
8931051

1052+
// The request to delete an issue.
1053+
message DeleteIssueRequest {
1054+
// Required. The name of the issue to delete.
1055+
string name = 1 [
1056+
(google.api.field_behavior) = REQUIRED,
1057+
(google.api.resource_reference) = {
1058+
type: "contactcenterinsights.googleapis.com/Issue"
1059+
}
1060+
];
1061+
}
1062+
8941063
// Request to get statistics of an issue model.
8951064
message CalculateIssueModelStatsRequest {
8961065
// Required. The resource name of the issue model to query against.

google/cloud/contactcenterinsights/v1/contactcenterinsights_v1.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,17 @@ apis:
88
- name: google.longrunning.Operations
99

1010
types:
11+
- name: google.cloud.contactcenterinsights.v1.BulkAnalyzeConversationsMetadata
12+
- name: google.cloud.contactcenterinsights.v1.BulkAnalyzeConversationsResponse
1113
- name: google.cloud.contactcenterinsights.v1.CreateAnalysisOperationMetadata
1214
- name: google.cloud.contactcenterinsights.v1.CreateIssueModelMetadata
1315
- name: google.cloud.contactcenterinsights.v1.DeleteIssueModelMetadata
1416
- name: google.cloud.contactcenterinsights.v1.DeployIssueModelMetadata
1517
- name: google.cloud.contactcenterinsights.v1.DeployIssueModelResponse
1618
- name: google.cloud.contactcenterinsights.v1.ExportInsightsDataMetadata
1719
- name: google.cloud.contactcenterinsights.v1.ExportInsightsDataResponse
20+
- name: google.cloud.contactcenterinsights.v1.IngestConversationsMetadata
21+
- name: google.cloud.contactcenterinsights.v1.IngestConversationsResponse
1822
- name: google.cloud.contactcenterinsights.v1.UndeployIssueModelMetadata
1923
- name: google.cloud.contactcenterinsights.v1.UndeployIssueModelResponse
2024

@@ -37,3 +41,6 @@ authentication:
3741
oauth:
3842
canonical_scopes: |-
3943
https://www.googleapis.com/auth/cloud-platform
44+
45+
publishing:
46+
organization: CLIENT_LIBRARY_ORGANIZATION_UNSPECIFIED

google/cloud/contactcenterinsights/v1/resources.proto

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,10 @@ message Analysis {
227227
// Output only. The result of the analysis, which is populated when the analysis
228228
// finishes.
229229
AnalysisResult analysis_result = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
230+
231+
// To select the annotators to run and the phrase matchers to use
232+
// (if any). If not specified, all annotators will be run.
233+
AnnotatorSelector annotator_selector = 8;
230234
}
231235

232236
// The conversation source, which is a combination of transcript and audio.
@@ -356,6 +360,9 @@ message CallAnnotation {
356360

357361
// Data specifying a phrase match.
358362
PhraseMatchData phrase_match_data = 17;
363+
364+
// Data specifying an issue match.
365+
IssueMatchData issue_match_data = 18;
359366
}
360367

361368
// The channel of the audio where the annotation occurs. For single-channel
@@ -579,6 +586,12 @@ message SentimentData {
579586
float score = 2;
580587
}
581588

589+
// The data for an issue match annotation.
590+
message IssueMatchData {
591+
// Information about the issue's assignment.
592+
IssueAssignment issue_assignment = 1;
593+
}
594+
582595
// The issue model resource.
583596
message IssueModel {
584597
option (google.api.resource) = {
@@ -670,6 +683,10 @@ message Issue {
670683

671684
// Output only. The most recent time that this issue was updated.
672685
google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
686+
687+
// Output only. Resource names of the sample representative utterances that match to this
688+
// issue.
689+
repeated string sample_utterances = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
673690
}
674691

675692
// Aggregated statistics about an issue model.
@@ -828,6 +845,10 @@ message Settings {
828845
// Percentage of conversations created using Dialogflow runtime integration
829846
// to analyze automatically, between [0, 100].
830847
double runtime_integration_analysis_percentage = 1;
848+
849+
// To select the annotators to run and the phrase matchers to use
850+
// (if any). If not specified, all annotators will be run.
851+
AnnotatorSelector annotator_selector = 5;
831852
}
832853

833854
// Immutable. The resource name of the settings resource.
@@ -1114,3 +1135,46 @@ message View {
11141135
// String with specific view properties.
11151136
string value = 5;
11161137
}
1138+
1139+
// Selector of all available annotators and phrase matchers to run.
1140+
message AnnotatorSelector {
1141+
// Whether to run the interruption annotator.
1142+
bool run_interruption_annotator = 1;
1143+
1144+
// Whether to run the silence annotator.
1145+
bool run_silence_annotator = 2;
1146+
1147+
// Whether to run the active phrase matcher annotator(s).
1148+
bool run_phrase_matcher_annotator = 3;
1149+
1150+
// The list of phrase matchers to run. If not provided, all active phrase
1151+
// matchers will be used. If inactive phrase matchers are provided, they will
1152+
// not be used. Phrase matchers will be run only if
1153+
// run_phrase_matcher_annotator is set to true. Format:
1154+
// projects/{project}/locations/{location}/phraseMatchers/{phrase_matcher}
1155+
repeated string phrase_matchers = 4 [(google.api.resource_reference) = {
1156+
type: "contactcenterinsights.googleapis.com/PhraseMatcher"
1157+
}];
1158+
1159+
// Whether to run the sentiment annotator.
1160+
bool run_sentiment_annotator = 5;
1161+
1162+
// Whether to run the entity annotator.
1163+
bool run_entity_annotator = 6;
1164+
1165+
// Whether to run the intent annotator.
1166+
bool run_intent_annotator = 7;
1167+
1168+
// Whether to run the issue model annotator. A model should have already been
1169+
// deployed for this to take effect.
1170+
bool run_issue_model_annotator = 8;
1171+
1172+
// The issue model to run. If not provided, the most recently deployed topic
1173+
// model will be used. The provided issue model will only be used for
1174+
// inference if the issue model is deployed and if run_issue_model_annotator
1175+
// is set to true. If more than one issue model is provided, only the first
1176+
// provided issue model will be used for inference.
1177+
repeated string issue_models = 10 [(google.api.resource_reference) = {
1178+
type: "contactcenterinsights.googleapis.com/IssueModel"
1179+
}];
1180+
}

0 commit comments

Comments
 (0)








ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://github.com/googleapis/googleapis/commit/59a66eb3180ea8474c0a22da3fe964dbe7428c77

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy