conversation_profile.proto 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581
  1. // Copyright 2021 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. syntax = "proto3";
  15. package google.cloud.dialogflow.v2beta1;
  16. import "google/api/annotations.proto";
  17. import "google/api/client.proto";
  18. import "google/api/field_behavior.proto";
  19. import "google/api/resource.proto";
  20. import "google/cloud/dialogflow/v2beta1/audio_config.proto";
  21. import "google/cloud/dialogflow/v2beta1/document.proto";
  22. import "google/cloud/dialogflow/v2beta1/participant.proto";
  23. import "google/longrunning/operations.proto";
  24. import "google/protobuf/empty.proto";
  25. import "google/protobuf/field_mask.proto";
  26. import "google/protobuf/timestamp.proto";
  27. option cc_enable_arenas = true;
  28. option csharp_namespace = "Google.Cloud.Dialogflow.V2beta1";
  29. option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/v2beta1;dialogflow";
  30. option java_multiple_files = true;
  31. option java_outer_classname = "ConversationProfileProto";
  32. option java_package = "com.google.cloud.dialogflow.v2beta1";
  33. option objc_class_prefix = "DF";
  34. option (google.api.resource_definition) = {
  35. type: "dialogflow.googleapis.com/CXSecuritySettings"
  36. pattern: "projects/{project}/locations/{location}/securitySettings/{security_settings}"
  37. };
  38. option (google.api.resource_definition) = {
  39. type: "dialogflow.googleapis.com/ConversationModel"
  40. pattern: "projects/{project}/locations/{location}/conversationModels/{conversation_model}"
  41. };
  42. // Service for managing [ConversationProfiles][google.cloud.dialogflow.v2beta1.ConversationProfile].
  43. service ConversationProfiles {
  44. option (google.api.default_host) = "dialogflow.googleapis.com";
  45. option (google.api.oauth_scopes) =
  46. "https://www.googleapis.com/auth/cloud-platform,"
  47. "https://www.googleapis.com/auth/dialogflow";
  48. // Returns the list of all conversation profiles in the specified project.
  49. rpc ListConversationProfiles(ListConversationProfilesRequest) returns (ListConversationProfilesResponse) {
  50. option (google.api.http) = {
  51. get: "/v2beta1/{parent=projects/*}/conversationProfiles"
  52. additional_bindings {
  53. get: "/v2beta1/{parent=projects/*/locations/*}/conversationProfiles"
  54. }
  55. };
  56. option (google.api.method_signature) = "parent";
  57. }
  58. // Retrieves the specified conversation profile.
  59. rpc GetConversationProfile(GetConversationProfileRequest) returns (ConversationProfile) {
  60. option (google.api.http) = {
  61. get: "/v2beta1/{name=projects/*/conversationProfiles/*}"
  62. additional_bindings {
  63. get: "/v2beta1/{name=projects/*/locations/*/conversationProfiles/*}"
  64. }
  65. };
  66. option (google.api.method_signature) = "name";
  67. }
  68. // Creates a conversation profile in the specified project.
  69. //
  70. // [ConversationProfile.CreateTime][] and [ConversationProfile.UpdateTime][]
  71. // aren't populated in the response. You can retrieve them via
  72. // [GetConversationProfile][google.cloud.dialogflow.v2beta1.ConversationProfiles.GetConversationProfile] API.
  73. rpc CreateConversationProfile(CreateConversationProfileRequest) returns (ConversationProfile) {
  74. option (google.api.http) = {
  75. post: "/v2beta1/{parent=projects/*}/conversationProfiles"
  76. body: "conversation_profile"
  77. additional_bindings {
  78. post: "/v2beta1/{parent=projects/*/locations/*}/conversationProfiles"
  79. body: "conversation_profile"
  80. }
  81. };
  82. option (google.api.method_signature) = "parent,conversation_profile";
  83. }
  84. // Updates the specified conversation profile.
  85. //
  86. // [ConversationProfile.CreateTime][] and [ConversationProfile.UpdateTime][]
  87. // aren't populated in the response. You can retrieve them via
  88. // [GetConversationProfile][google.cloud.dialogflow.v2beta1.ConversationProfiles.GetConversationProfile] API.
  89. rpc UpdateConversationProfile(UpdateConversationProfileRequest) returns (ConversationProfile) {
  90. option (google.api.http) = {
  91. patch: "/v2beta1/{conversation_profile.name=projects/*/conversationProfiles/*}"
  92. body: "conversation_profile"
  93. additional_bindings {
  94. patch: "/v2beta1/{conversation_profile.name=projects/*/locations/*/conversationProfiles/*}"
  95. body: "conversation_profile"
  96. }
  97. };
  98. option (google.api.method_signature) = "conversation_profile,update_mask";
  99. }
  100. // Deletes the specified conversation profile.
  101. rpc DeleteConversationProfile(DeleteConversationProfileRequest) returns (google.protobuf.Empty) {
  102. option (google.api.http) = {
  103. delete: "/v2beta1/{name=projects/*/conversationProfiles/*}"
  104. additional_bindings {
  105. delete: "/v2beta1/{name=projects/*/locations/*/conversationProfiles/*}"
  106. }
  107. };
  108. option (google.api.method_signature) = "name";
  109. }
  110. }
  111. // Defines the services to connect to incoming Dialogflow conversations.
  112. message ConversationProfile {
  113. option (google.api.resource) = {
  114. type: "dialogflow.googleapis.com/ConversationProfile"
  115. pattern: "projects/{project}/conversationProfiles/{conversation_profile}"
  116. pattern: "projects/{project}/locations/{location}/conversationProfiles/{conversation_profile}"
  117. };
  118. // The unique identifier of this conversation profile.
  119. // Format: `projects/<Project ID>/locations/<Location
  120. // ID>/conversationProfiles/<Conversation Profile ID>`.
  121. string name = 1;
  122. // Required. Human readable name for this profile. Max length 1024 bytes.
  123. string display_name = 2 [(google.api.field_behavior) = REQUIRED];
  124. // Output only. Create time of the conversation profile.
  125. google.protobuf.Timestamp create_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
  126. // Output only. Update time of the conversation profile.
  127. google.protobuf.Timestamp update_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
  128. // Configuration for an automated agent to use with this profile.
  129. AutomatedAgentConfig automated_agent_config = 3;
  130. // Configuration for agent assistance to use with this profile.
  131. HumanAgentAssistantConfig human_agent_assistant_config = 4;
  132. // Configuration for connecting to a live agent.
  133. //
  134. // Currently, this feature is not general available, please contact Google
  135. // to get access.
  136. HumanAgentHandoffConfig human_agent_handoff_config = 5;
  137. // Configuration for publishing conversation lifecycle events.
  138. NotificationConfig notification_config = 6;
  139. // Configuration for logging conversation lifecycle events.
  140. LoggingConfig logging_config = 7;
  141. // Configuration for publishing new message events. Event will be sent in
  142. // format of [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent]
  143. NotificationConfig new_message_event_notification_config = 8;
  144. // Settings for speech transcription.
  145. SpeechToTextConfig stt_config = 9;
  146. // Language code for the conversation profile. If not specified, the language
  147. // is en-US. Language at ConversationProfile should be set for all non en-us
  148. // languages.
  149. string language_code = 10;
  150. }
  151. // Defines the Automated Agent to connect to a conversation.
  152. message AutomatedAgentConfig {
  153. // Required. ID of the Dialogflow agent environment to use.
  154. //
  155. // This project needs to either be the same project as the conversation or you
  156. // need to grant `service-<Conversation Project
  157. // Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow API
  158. // Service Agent` role in this project.
  159. //
  160. // - For ES agents, use format: `projects/<Project ID>/locations/<Location
  161. // ID>/agent/environments/<Environment ID or '-'>`. If environment is not
  162. // specified, the default `draft` environment is used. Refer to
  163. // [DetectIntentRequest](/dialogflow/docs/reference/rpc/google.cloud.dialogflow.v2beta1#google.cloud.dialogflow.v2beta1.DetectIntentRequest)
  164. // for more details.
  165. //
  166. // - For CX agents, use format `projects/<Project ID>/locations/<Location
  167. // ID>/agents/<Agent ID>/environments/<Environment ID
  168. // or '-'>`. If environment is not specified, the default `draft` environment
  169. // is used.
  170. string agent = 1 [
  171. (google.api.field_behavior) = REQUIRED,
  172. (google.api.resource_reference) = {
  173. type: "dialogflow.googleapis.com/Agent"
  174. }
  175. ];
  176. }
  177. // Defines the Human Agent Assistant to connect to a conversation.
  178. message HumanAgentAssistantConfig {
  179. // Settings of suggestion trigger.
  180. message SuggestionTriggerSettings {
  181. // Do not trigger if last utterance is small talk.
  182. bool no_small_talk = 1;
  183. // Only trigger suggestion if participant role of last utterance is
  184. // END_USER.
  185. bool only_end_user = 2;
  186. }
  187. // Config for suggestion features.
  188. message SuggestionFeatureConfig {
  189. // The suggestion feature.
  190. SuggestionFeature suggestion_feature = 5;
  191. // Automatically iterates all participants and tries to compile
  192. // suggestions.
  193. //
  194. // Supported features: ARTICLE_SUGGESTION, FAQ, DIALOGFLOW_ASSIST.
  195. bool enable_event_based_suggestion = 3;
  196. // Settings of suggestion trigger.
  197. //
  198. // Currently, only ARTICLE_SUGGESTION, FAQ, and DIALOGFLOW_ASSIST will use
  199. // this field.
  200. SuggestionTriggerSettings suggestion_trigger_settings = 10;
  201. // Configs of query.
  202. SuggestionQueryConfig query_config = 6;
  203. // Configs of custom conversation model.
  204. ConversationModelConfig conversation_model_config = 7;
  205. }
  206. // Detail human agent assistant config.
  207. message SuggestionConfig {
  208. // Configuration of different suggestion features. One feature can have only
  209. // one config.
  210. repeated SuggestionFeatureConfig feature_configs = 2;
  211. // If `group_suggestion_responses` is false, and there are multiple
  212. // `feature_configs` in `event based suggestion` or
  213. // StreamingAnalyzeContent, we will try to deliver suggestions to customers
  214. // as soon as we get new suggestion. Different type of suggestions based on
  215. // the same context will be in separate Pub/Sub event or
  216. // `StreamingAnalyzeContentResponse`.
  217. //
  218. // If `group_suggestion_responses` set to true. All the suggestions to the
  219. // same participant based on the same context will be grouped into a single
  220. // Pub/Sub event or StreamingAnalyzeContentResponse.
  221. bool group_suggestion_responses = 3;
  222. }
  223. // Config for suggestion query.
  224. message SuggestionQueryConfig {
  225. // Knowledge base source settings.
  226. //
  227. // Supported features: ARTICLE_SUGGESTION, FAQ.
  228. message KnowledgeBaseQuerySource {
  229. // Required. Knowledge bases to query. Format:
  230. // `projects/<Project ID>/locations/<Location
  231. // ID>/knowledgeBases/<Knowledge Base ID>`. Currently, only one knowledge
  232. // base is supported.
  233. repeated string knowledge_bases = 1 [
  234. (google.api.field_behavior) = REQUIRED,
  235. (google.api.resource_reference) = {
  236. type: "dialogflow.googleapis.com/KnowledgeBase"
  237. }
  238. ];
  239. }
  240. // Document source settings.
  241. //
  242. // Supported features: SMART_REPLY, SMART_COMPOSE.
  243. message DocumentQuerySource {
  244. // Required. Knowledge documents to query from. Format:
  245. // `projects/<Project ID>/locations/<Location
  246. // ID>/knowledgeBases/<KnowledgeBase ID>/documents/<Document ID>`.
  247. // Currently, only one document is supported.
  248. repeated string documents = 1 [
  249. (google.api.field_behavior) = REQUIRED,
  250. (google.api.resource_reference) = {
  251. type: "dialogflow.googleapis.com/Document"
  252. }
  253. ];
  254. }
  255. // Dialogflow source setting.
  256. //
  257. // Supported feature: DIALOGFLOW_ASSIST.
  258. message DialogflowQuerySource {
  259. // Required. The name of a dialogflow virtual agent used for end user side intent
  260. // detection and suggestion. Format: `projects/<Project Number /
  261. // ID>/locations/<Location ID>/agent`. When multiple agents are allowed in
  262. // the same Dialogflow project.
  263. string agent = 1 [
  264. (google.api.field_behavior) = REQUIRED,
  265. (google.api.resource_reference) = {
  266. type: "dialogflow.googleapis.com/Agent"
  267. }
  268. ];
  269. }
  270. // Settings that determine how to filter recent conversation context when
  271. // generating suggestions.
  272. message ContextFilterSettings {
  273. // If set to true, the last message from virtual agent (hand off message)
  274. // and the message before it (trigger message of hand off) are dropped.
  275. bool drop_handoff_messages = 1;
  276. // If set to true, all messages from virtual agent are dropped.
  277. bool drop_virtual_agent_messages = 2;
  278. // If set to true, all messages from ivr stage are dropped.
  279. bool drop_ivr_messages = 3;
  280. }
  281. // Source of query.
  282. oneof query_source {
  283. // Query from knowledgebase. It is used by:
  284. // ARTICLE_SUGGESTION, FAQ.
  285. KnowledgeBaseQuerySource knowledge_base_query_source = 1;
  286. // Query from knowledge base document. It is used by:
  287. // SMART_REPLY, SMART_COMPOSE.
  288. DocumentQuerySource document_query_source = 2;
  289. // Query from Dialogflow agent. It is used by DIALOGFLOW_ASSIST.
  290. DialogflowQuerySource dialogflow_query_source = 3;
  291. }
  292. // Maximum number of results to return. Currently, if unset, defaults to 10.
  293. // And the max number is 20.
  294. int32 max_results = 4;
  295. // Confidence threshold of query result.
  296. //
  297. // Agent Assist gives each suggestion a score in the range [0.0, 1.0], based
  298. // on the relevance between the suggestion and the current conversation
  299. // context. A score of 0.0 has no relevance, while a score of 1.0 has high
  300. // relevance. Only suggestions with a score greater than or equal to the
  301. // value of this field are included in the results.
  302. //
  303. // For a baseline model (the default), the recommended value is in the range
  304. // [0.05, 0.1].
  305. //
  306. // For a custom model, there is no recommended value. Tune this value by
  307. // starting from a very low value and slowly increasing until you have
  308. // desired results.
  309. //
  310. // If this field is not set, it is default to 0.0, which means that all
  311. // suggestions are returned.
  312. //
  313. // Supported features: ARTICLE_SUGGESTION, FAQ, SMART_REPLY, SMART_COMPOSE.
  314. float confidence_threshold = 5;
  315. // Determines how recent conversation context is filtered when generating
  316. // suggestions. If unspecified, no messages will be dropped.
  317. ContextFilterSettings context_filter_settings = 7;
  318. }
  319. // Custom conversation models used in agent assist feature.
  320. //
  321. // Supported feature: ARTICLE_SUGGESTION, SMART_COMPOSE, SMART_REPLY.
  322. message ConversationModelConfig {
  323. // Conversation model resource name. Format: `projects/<Project
  324. // ID>/conversationModels/<Model ID>`.
  325. string model = 1 [(google.api.resource_reference) = {
  326. type: "dialogflow.googleapis.com/ConversationModel"
  327. }];
  328. }
  329. // Configuration for analyses to run on each conversation message.
  330. message MessageAnalysisConfig {
  331. // Enable entity extraction in conversation messages on [agent assist
  332. // stage](https://cloud.google.com/dialogflow/priv/docs/contact-center/basics#stages).
  333. // If unspecified, defaults to false.
  334. //
  335. // Currently, this feature is not general available, please contact Google
  336. // to get access.
  337. bool enable_entity_extraction = 2;
  338. // Enable sentiment analysis in conversation messages on [agent assist
  339. // stage](https://cloud.google.com/dialogflow/priv/docs/contact-center/basics#stages).
  340. // If unspecified, defaults to false. Sentiment analysis inspects user input
  341. // and identifies the prevailing subjective opinion, especially to determine
  342. // a user's attitude as positive, negative, or neutral:
  343. // https://cloud.google.com/natural-language/docs/basics#sentiment_analysis
  344. // For [Participants.StreamingAnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.StreamingAnalyzeContent] method, result will be in
  345. // [StreamingAnalyzeContentResponse.message.SentimentAnalysisResult][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentResponse.message].
  346. // For [Participants.AnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent] method, result will be in
  347. // [AnalyzeContentResponse.message.SentimentAnalysisResult][google.cloud.dialogflow.v2beta1.AnalyzeContentResponse.message]
  348. // For [Conversations.ListMessages][google.cloud.dialogflow.v2beta1.Conversations.ListMessages] method, result will be in
  349. // [ListMessagesResponse.messages.SentimentAnalysisResult][google.cloud.dialogflow.v2beta1.ListMessagesResponse.messages]
  350. // If Pub/Sub notification is configured, result will be in
  351. // [ConversationEvent.new_message_payload.SentimentAnalysisResult][google.cloud.dialogflow.v2beta1.ConversationEvent.new_message_payload].
  352. bool enable_sentiment_analysis = 3;
  353. }
  354. // Pub/Sub topic on which to publish new agent assistant events.
  355. NotificationConfig notification_config = 2;
  356. // Configuration for agent assistance of human agent participant.
  357. SuggestionConfig human_agent_suggestion_config = 3;
  358. // Configuration for agent assistance of end user participant.
  359. //
  360. // Currently, this feature is not general available, please contact Google
  361. // to get access.
  362. SuggestionConfig end_user_suggestion_config = 4;
  363. // Configuration for message analysis.
  364. MessageAnalysisConfig message_analysis_config = 5;
  365. }
  366. // Defines the hand off to a live agent, typically on which external agent
  367. // service provider to connect to a conversation.
  368. //
  369. // Currently, this feature is not general available, please contact Google
  370. // to get access.
  371. message HumanAgentHandoffConfig {
  372. // Configuration specific to LivePerson (https://www.liveperson.com).
  373. message LivePersonConfig {
  374. // Required. Account number of the LivePerson account to connect. This is
  375. // the account number you input at the login page.
  376. string account_number = 1 [(google.api.field_behavior) = REQUIRED];
  377. }
  378. // Configuration specific to Salesforce Live Agent.
  379. message SalesforceLiveAgentConfig {
  380. // Required. The organization ID of the Salesforce account.
  381. string organization_id = 1 [(google.api.field_behavior) = REQUIRED];
  382. // Required. Live Agent deployment ID.
  383. string deployment_id = 2 [(google.api.field_behavior) = REQUIRED];
  384. // Required. Live Agent chat button ID.
  385. string button_id = 3 [(google.api.field_behavior) = REQUIRED];
  386. // Required. Domain of the Live Agent endpoint for this agent. You can find
  387. // the endpoint URL in the `Live Agent settings` page. For example if URL
  388. // has the form https://d.la4-c2-phx.salesforceliveagent.com/...,
  389. // you should fill in d.la4-c2-phx.salesforceliveagent.com.
  390. string endpoint_domain = 4 [(google.api.field_behavior) = REQUIRED];
  391. }
  392. // Required. Specifies which agent service to connect for human agent handoff.
  393. oneof agent_service {
  394. // Uses LivePerson (https://www.liveperson.com).
  395. LivePersonConfig live_person_config = 1;
  396. // Uses Salesforce Live Agent.
  397. SalesforceLiveAgentConfig salesforce_live_agent_config = 2;
  398. }
  399. }
  400. // Defines notification behavior.
  401. message NotificationConfig {
  402. // Format of cloud pub/sub message.
  403. enum MessageFormat {
  404. // If it is unspecified, PROTO will be used.
  405. MESSAGE_FORMAT_UNSPECIFIED = 0;
  406. // Pubsub message will be serialized proto.
  407. PROTO = 1;
  408. // Pubsub message will be json.
  409. JSON = 2;
  410. }
  411. // Name of the Pub/Sub topic to publish conversation
  412. // events like
  413. // [CONVERSATION_STARTED][google.cloud.dialogflow.v2beta1.ConversationEvent.Type.CONVERSATION_STARTED] as
  414. // serialized [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent] protos.
  415. //
  416. // Notification works for phone calls, if this topic either is in the same
  417. // project as the conversation or you grant `service-<Conversation Project
  418. // Number>@gcp-sa-dialogflow.iam.gserviceaccount.com` the `Dialogflow Service
  419. // Agent` role in the topic project.
  420. //
  421. // Format: `projects/<Project ID>/locations/<Location ID>/topics/<Topic ID>`.
  422. string topic = 1;
  423. // Format of message.
  424. MessageFormat message_format = 2;
  425. }
  426. // Defines logging behavior for conversation lifecycle events.
  427. message LoggingConfig {
  428. // Whether to log conversation events like
  429. // [CONVERSATION_STARTED][google.cloud.dialogflow.v2beta1.ConversationEvent.Type.CONVERSATION_STARTED] to
  430. // Stackdriver in the conversation project as JSON format
  431. // [ConversationEvent][google.cloud.dialogflow.v2beta1.ConversationEvent] protos.
  432. bool enable_stackdriver_logging = 3;
  433. }
  434. // The request message for [ConversationProfiles.ListConversationProfiles][google.cloud.dialogflow.v2beta1.ConversationProfiles.ListConversationProfiles].
  435. message ListConversationProfilesRequest {
  436. // Required. The project to list all conversation profiles from.
  437. // Format: `projects/<Project ID>/locations/<Location ID>`.
  438. string parent = 1 [
  439. (google.api.field_behavior) = REQUIRED,
  440. (google.api.resource_reference) = {
  441. child_type: "dialogflow.googleapis.com/ConversationProfile"
  442. }
  443. ];
  444. // The maximum number of items to return in a single page. By
  445. // default 100 and at most 1000.
  446. int32 page_size = 2;
  447. // The next_page_token value returned from a previous list request.
  448. string page_token = 3;
  449. }
  450. // The response message for [ConversationProfiles.ListConversationProfiles][google.cloud.dialogflow.v2beta1.ConversationProfiles.ListConversationProfiles].
  451. message ListConversationProfilesResponse {
  452. // The list of project conversation profiles. There is a maximum number
  453. // of items returned based on the page_size field in the request.
  454. repeated ConversationProfile conversation_profiles = 1;
  455. // Token to retrieve the next page of results, or empty if there are no
  456. // more results in the list.
  457. string next_page_token = 2;
  458. }
  459. // The request message for [ConversationProfiles.GetConversationProfile][google.cloud.dialogflow.v2beta1.ConversationProfiles.GetConversationProfile].
  460. message GetConversationProfileRequest {
  461. // Required. The resource name of the conversation profile.
  462. // Format: `projects/<Project ID>/locations/<Location
  463. // ID>/conversationProfiles/<Conversation Profile ID>`.
  464. string name = 1 [
  465. (google.api.field_behavior) = REQUIRED,
  466. (google.api.resource_reference) = {
  467. type: "dialogflow.googleapis.com/ConversationProfile"
  468. }
  469. ];
  470. }
  471. // The request message for [ConversationProfiles.CreateConversationProfile][google.cloud.dialogflow.v2beta1.ConversationProfiles.CreateConversationProfile].
  472. message CreateConversationProfileRequest {
  473. // Required. The project to create a conversation profile for.
  474. // Format: `projects/<Project ID>/locations/<Location ID>`.
  475. string parent = 1 [
  476. (google.api.field_behavior) = REQUIRED,
  477. (google.api.resource_reference) = {
  478. child_type: "dialogflow.googleapis.com/ConversationProfile"
  479. }
  480. ];
  481. // Required. The conversation profile to create.
  482. ConversationProfile conversation_profile = 2 [(google.api.field_behavior) = REQUIRED];
  483. }
  484. // The request message for [ConversationProfiles.UpdateConversationProfile][google.cloud.dialogflow.v2beta1.ConversationProfiles.UpdateConversationProfile].
  485. message UpdateConversationProfileRequest {
  486. // Required. The conversation profile to update.
  487. ConversationProfile conversation_profile = 1 [(google.api.field_behavior) = REQUIRED];
  488. // Required. The mask to control which fields to update.
  489. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED];
  490. }
  491. // The request message for [ConversationProfiles.DeleteConversationProfile][google.cloud.dialogflow.v2beta1.ConversationProfiles.DeleteConversationProfile].
  492. //
  493. // This operation fails if the conversation profile is still referenced from
  494. // a phone number.
  495. message DeleteConversationProfileRequest {
  496. // Required. The name of the conversation profile to delete.
  497. // Format: `projects/<Project ID>/locations/<Location
  498. // ID>/conversationProfiles/<Conversation Profile ID>`.
  499. string name = 1 [
  500. (google.api.field_behavior) = REQUIRED,
  501. (google.api.resource_reference) = {
  502. type: "dialogflow.googleapis.com/ConversationProfile"
  503. }
  504. ];
  505. }