xref: /aosp_15_r20/external/googleapis/google/cloud/dialogflow/cx/v3/advanced_settings.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2023 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
15syntax = "proto3";
16
17package google.cloud.dialogflow.cx.v3;
18
19import "google/api/field_behavior.proto";
20import "google/cloud/dialogflow/cx/v3/gcs.proto";
21
22option cc_enable_arenas = true;
23option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3";
24option go_package = "cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb";
25option java_multiple_files = true;
26option java_outer_classname = "AdvancedSettingsProto";
27option java_package = "com.google.cloud.dialogflow.cx.v3";
28option objc_class_prefix = "DF";
29option ruby_package = "Google::Cloud::Dialogflow::CX::V3";
30
31// Hierarchical advanced settings for agent/flow/page/fulfillment/parameter.
32// Settings exposed at lower level overrides the settings exposed at higher
33// level. Overriding occurs at the sub-setting level. For example, the
34// playback_interruption_settings at fulfillment level only overrides the
35// playback_interruption_settings at the agent level, leaving other settings
36// at the agent level unchanged.
37//
38// DTMF settings does not override each other. DTMF settings set at different
39// levels define DTMF detections running in parallel.
40//
41// Hierarchy: Agent->Flow->Page->Fulfillment/Parameter.
42message AdvancedSettings {
43  // Define behaviors for DTMF (dual tone multi frequency).
44  message DtmfSettings {
45    // If true, incoming audio is processed for DTMF (dual tone multi frequency)
46    // events. For example, if the caller presses a button on their telephone
47    // keypad and DTMF processing is enabled, Dialogflow will detect the
48    // event (e.g. a "3" was pressed) in the incoming audio and pass the event
49    // to the bot to drive business logic (e.g. when 3 is pressed, return the
50    // account balance).
51    bool enabled = 1;
52
53    // Max length of DTMF digits.
54    int32 max_digits = 2;
55
56    // The digit that terminates a DTMF digit sequence.
57    string finish_digit = 3;
58  }
59
60  // Define behaviors on logging.
61  message LoggingSettings {
62    // If true, StackDriver logging is currently enabled.
63    bool enable_stackdriver_logging = 2;
64
65    // If true, DF Interaction logging is currently enabled.
66    bool enable_interaction_logging = 3;
67  }
68
69  // If present, incoming audio is exported by Dialogflow to the configured
70  // Google Cloud Storage destination.
71  // Exposed at the following levels:
72  // - Agent level
73  // - Flow level
74  GcsDestination audio_export_gcs_destination = 2;
75
76  // Settings for DTMF.
77  // Exposed at the following levels:
78  // - Agent level
79  // - Flow level
80  // - Page level
81  // - Parameter level.
82  DtmfSettings dtmf_settings = 5;
83
84  // Settings for logging.
85  // Settings for Dialogflow History, Contact Center messages, StackDriver logs,
86  // and speech logging.
87  // Exposed at the following levels:
88  // - Agent level.
89  LoggingSettings logging_settings = 6;
90}
91