1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.dialogflow.v2beta1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/context.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/intent.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/session.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/session_entity_type.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto"; 24*d5c09012SAndroid Build Coastguard Worker 25*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true; 26*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Dialogflow.V2Beta1"; 27*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dialogflow/apiv2beta1/dialogflowpb;dialogflowpb"; 28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "WebhookProto"; 30*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dialogflow.v2beta1"; 31*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DF"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Worker// The request message for a webhook call. 34*d5c09012SAndroid Build Coastguard Workermessage WebhookRequest { 35*d5c09012SAndroid Build Coastguard Worker // The unique identifier of detectIntent request session. 36*d5c09012SAndroid Build Coastguard Worker // Can be used to identify end-user inside webhook implementation. 37*d5c09012SAndroid Build Coastguard Worker // Supported formats: 38*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/sessions/<Session ID>, 39*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location ID>/agent/sessions/<Session 40*d5c09012SAndroid Build Coastguard Worker // ID>`, 41*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/environments/<Environment ID>/users/<User 42*d5c09012SAndroid Build Coastguard Worker // ID>/sessions/<Session ID>`, 43*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location 44*d5c09012SAndroid Build Coastguard Worker // ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session 45*d5c09012SAndroid Build Coastguard Worker // ID>`, 46*d5c09012SAndroid Build Coastguard Worker string session = 4; 47*d5c09012SAndroid Build Coastguard Worker 48*d5c09012SAndroid Build Coastguard Worker // The unique identifier of the response. Contains the same value as 49*d5c09012SAndroid Build Coastguard Worker // `[Streaming]DetectIntentResponse.response_id`. 50*d5c09012SAndroid Build Coastguard Worker string response_id = 1; 51*d5c09012SAndroid Build Coastguard Worker 52*d5c09012SAndroid Build Coastguard Worker // The result of the conversational query or event processing. Contains the 53*d5c09012SAndroid Build Coastguard Worker // same value as `[Streaming]DetectIntentResponse.query_result`. 54*d5c09012SAndroid Build Coastguard Worker QueryResult query_result = 2; 55*d5c09012SAndroid Build Coastguard Worker 56*d5c09012SAndroid Build Coastguard Worker // Alternative query results from KnowledgeService. 57*d5c09012SAndroid Build Coastguard Worker repeated QueryResult alternative_query_results = 5; 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker // Optional. The contents of the original request that was passed to 60*d5c09012SAndroid Build Coastguard Worker // `[Streaming]DetectIntent` call. 61*d5c09012SAndroid Build Coastguard Worker OriginalDetectIntentRequest original_detect_intent_request = 3; 62*d5c09012SAndroid Build Coastguard Worker} 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker// The response message for a webhook call. 65*d5c09012SAndroid Build Coastguard Worker// 66*d5c09012SAndroid Build Coastguard Worker// This response is validated by the Dialogflow server. If validation fails, 67*d5c09012SAndroid Build Coastguard Worker// an error will be returned in the 68*d5c09012SAndroid Build Coastguard Worker// [QueryResult.diagnostic_info][google.cloud.dialogflow.v2beta1.QueryResult.diagnostic_info] 69*d5c09012SAndroid Build Coastguard Worker// field. Setting JSON fields to an empty value with the wrong type is a common 70*d5c09012SAndroid Build Coastguard Worker// error. To avoid this error: 71*d5c09012SAndroid Build Coastguard Worker// 72*d5c09012SAndroid Build Coastguard Worker// - Use `""` for empty strings 73*d5c09012SAndroid Build Coastguard Worker// - Use `{}` or `null` for empty objects 74*d5c09012SAndroid Build Coastguard Worker// - Use `[]` or `null` for empty arrays 75*d5c09012SAndroid Build Coastguard Worker// 76*d5c09012SAndroid Build Coastguard Worker// For more information, see the 77*d5c09012SAndroid Build Coastguard Worker// [Protocol Buffers Language 78*d5c09012SAndroid Build Coastguard Worker// Guide](https://developers.google.com/protocol-buffers/docs/proto3#json). 79*d5c09012SAndroid Build Coastguard Workermessage WebhookResponse { 80*d5c09012SAndroid Build Coastguard Worker // Optional. The text response message intended for the end-user. 81*d5c09012SAndroid Build Coastguard Worker // It is recommended to use `fulfillment_messages.text.text[0]` instead. 82*d5c09012SAndroid Build Coastguard Worker // When provided, Dialogflow uses this field to populate 83*d5c09012SAndroid Build Coastguard Worker // [QueryResult.fulfillment_text][google.cloud.dialogflow.v2beta1.QueryResult.fulfillment_text] 84*d5c09012SAndroid Build Coastguard Worker // sent to the integration or API caller. 85*d5c09012SAndroid Build Coastguard Worker string fulfillment_text = 1; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // Optional. The rich response messages intended for the end-user. 88*d5c09012SAndroid Build Coastguard Worker // When provided, Dialogflow uses this field to populate 89*d5c09012SAndroid Build Coastguard Worker // [QueryResult.fulfillment_messages][google.cloud.dialogflow.v2beta1.QueryResult.fulfillment_messages] 90*d5c09012SAndroid Build Coastguard Worker // sent to the integration or API caller. 91*d5c09012SAndroid Build Coastguard Worker repeated Intent.Message fulfillment_messages = 2; 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // Optional. A custom field used to identify the webhook source. 94*d5c09012SAndroid Build Coastguard Worker // Arbitrary strings are supported. 95*d5c09012SAndroid Build Coastguard Worker // When provided, Dialogflow uses this field to populate 96*d5c09012SAndroid Build Coastguard Worker // [QueryResult.webhook_source][google.cloud.dialogflow.v2beta1.QueryResult.webhook_source] 97*d5c09012SAndroid Build Coastguard Worker // sent to the integration or API caller. 98*d5c09012SAndroid Build Coastguard Worker string source = 3; 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // Optional. This field can be used to pass custom data from your webhook to 101*d5c09012SAndroid Build Coastguard Worker // the integration or API caller. Arbitrary JSON objects are supported. When 102*d5c09012SAndroid Build Coastguard Worker // provided, Dialogflow uses this field to populate 103*d5c09012SAndroid Build Coastguard Worker // [QueryResult.webhook_payload][google.cloud.dialogflow.v2beta1.QueryResult.webhook_payload] 104*d5c09012SAndroid Build Coastguard Worker // sent to the integration or API caller. This field is also used by the 105*d5c09012SAndroid Build Coastguard Worker // [Google Assistant 106*d5c09012SAndroid Build Coastguard Worker // integration](https://cloud.google.com/dialogflow/docs/integrations/aog) 107*d5c09012SAndroid Build Coastguard Worker // for rich response messages. 108*d5c09012SAndroid Build Coastguard Worker // See the format definition at [Google Assistant Dialogflow webhook 109*d5c09012SAndroid Build Coastguard Worker // format](https://developers.google.com/assistant/actions/build/json/dialogflow-webhook-json) 110*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct payload = 4; 111*d5c09012SAndroid Build Coastguard Worker 112*d5c09012SAndroid Build Coastguard Worker // Optional. The collection of output contexts that will overwrite currently 113*d5c09012SAndroid Build Coastguard Worker // active contexts for the session and reset their lifespans. 114*d5c09012SAndroid Build Coastguard Worker // When provided, Dialogflow uses this field to populate 115*d5c09012SAndroid Build Coastguard Worker // [QueryResult.output_contexts][google.cloud.dialogflow.v2beta1.QueryResult.output_contexts] 116*d5c09012SAndroid Build Coastguard Worker // sent to the integration or API caller. 117*d5c09012SAndroid Build Coastguard Worker repeated Context output_contexts = 5; 118*d5c09012SAndroid Build Coastguard Worker 119*d5c09012SAndroid Build Coastguard Worker // Optional. Invokes the supplied events. 120*d5c09012SAndroid Build Coastguard Worker // When this field is set, Dialogflow ignores the `fulfillment_text`, 121*d5c09012SAndroid Build Coastguard Worker // `fulfillment_messages`, and `payload` fields. 122*d5c09012SAndroid Build Coastguard Worker EventInput followup_event_input = 6; 123*d5c09012SAndroid Build Coastguard Worker 124*d5c09012SAndroid Build Coastguard Worker // Indicates that a live agent should be brought in to handle the 125*d5c09012SAndroid Build Coastguard Worker // interaction with the user. In most cases, when you set this flag to true, 126*d5c09012SAndroid Build Coastguard Worker // you would also want to set end_interaction to true as well. Default is 127*d5c09012SAndroid Build Coastguard Worker // false. 128*d5c09012SAndroid Build Coastguard Worker bool live_agent_handoff = 7; 129*d5c09012SAndroid Build Coastguard Worker 130*d5c09012SAndroid Build Coastguard Worker // Optional. Indicates that this intent ends an interaction. Some integrations 131*d5c09012SAndroid Build Coastguard Worker // (e.g., Actions on Google or Dialogflow phone gateway) use this information 132*d5c09012SAndroid Build Coastguard Worker // to close interaction with an end user. Default is false. 133*d5c09012SAndroid Build Coastguard Worker bool end_interaction = 8; 134*d5c09012SAndroid Build Coastguard Worker 135*d5c09012SAndroid Build Coastguard Worker // Optional. Additional session entity types to replace or extend developer 136*d5c09012SAndroid Build Coastguard Worker // entity types with. The entity synonyms apply to all languages and persist 137*d5c09012SAndroid Build Coastguard Worker // for the session. Setting this data from a webhook overwrites 138*d5c09012SAndroid Build Coastguard Worker // the session entity types that have been set using `detectIntent`, 139*d5c09012SAndroid Build Coastguard Worker // `streamingDetectIntent` or 140*d5c09012SAndroid Build Coastguard Worker // [SessionEntityType][google.cloud.dialogflow.v2beta1.SessionEntityType] 141*d5c09012SAndroid Build Coastguard Worker // management methods. 142*d5c09012SAndroid Build Coastguard Worker repeated SessionEntityType session_entity_types = 10; 143*d5c09012SAndroid Build Coastguard Worker} 144*d5c09012SAndroid Build Coastguard Worker 145*d5c09012SAndroid Build Coastguard Worker// Represents the contents of the original request that was passed to 146*d5c09012SAndroid Build Coastguard Worker// the `[Streaming]DetectIntent` call. 147*d5c09012SAndroid Build Coastguard Workermessage OriginalDetectIntentRequest { 148*d5c09012SAndroid Build Coastguard Worker // The source of this request, e.g., `google`, `facebook`, `slack`. It is set 149*d5c09012SAndroid Build Coastguard Worker // by Dialogflow-owned servers. 150*d5c09012SAndroid Build Coastguard Worker string source = 1; 151*d5c09012SAndroid Build Coastguard Worker 152*d5c09012SAndroid Build Coastguard Worker // Optional. The version of the protocol used for this request. 153*d5c09012SAndroid Build Coastguard Worker // This field is AoG-specific. 154*d5c09012SAndroid Build Coastguard Worker string version = 2; 155*d5c09012SAndroid Build Coastguard Worker 156*d5c09012SAndroid Build Coastguard Worker // Optional. This field is set to the value of the `QueryParameters.payload` 157*d5c09012SAndroid Build Coastguard Worker // field passed in the request. Some integrations that query a Dialogflow 158*d5c09012SAndroid Build Coastguard Worker // agent may provide additional information in the payload. 159*d5c09012SAndroid Build Coastguard Worker // 160*d5c09012SAndroid Build Coastguard Worker // In particular, for the Dialogflow Phone Gateway integration, this field has 161*d5c09012SAndroid Build Coastguard Worker // the form: 162*d5c09012SAndroid Build Coastguard Worker // <pre>{ 163*d5c09012SAndroid Build Coastguard Worker // "telephony": { 164*d5c09012SAndroid Build Coastguard Worker // "caller_id": "+18558363987" 165*d5c09012SAndroid Build Coastguard Worker // } 166*d5c09012SAndroid Build Coastguard Worker // }</pre> 167*d5c09012SAndroid Build Coastguard Worker // Note: The caller ID field (`caller_id`) will be redacted for Trial 168*d5c09012SAndroid Build Coastguard Worker // Edition agents and populated with the caller ID in [E.164 169*d5c09012SAndroid Build Coastguard Worker // format](https://en.wikipedia.org/wiki/E.164) for Essentials Edition agents. 170*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct payload = 3; 171*d5c09012SAndroid Build Coastguard Worker} 172