page.proto 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561
  1. // Copyright 2022 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.cx.v3;
  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/cx/v3/fulfillment.proto";
  21. import "google/protobuf/empty.proto";
  22. import "google/protobuf/field_mask.proto";
  23. import "google/protobuf/struct.proto";
  24. option cc_enable_arenas = true;
  25. option csharp_namespace = "Google.Cloud.Dialogflow.Cx.V3";
  26. option go_package = "google.golang.org/genproto/googleapis/cloud/dialogflow/cx/v3;cx";
  27. option java_multiple_files = true;
  28. option java_outer_classname = "PageProto";
  29. option java_package = "com.google.cloud.dialogflow.cx.v3";
  30. option objc_class_prefix = "DF";
  31. option ruby_package = "Google::Cloud::Dialogflow::CX::V3";
  32. // Service for managing [Pages][google.cloud.dialogflow.cx.v3.Page].
  33. service Pages {
  34. option (google.api.default_host) = "dialogflow.googleapis.com";
  35. option (google.api.oauth_scopes) =
  36. "https://www.googleapis.com/auth/cloud-platform,"
  37. "https://www.googleapis.com/auth/dialogflow";
  38. // Returns the list of all pages in the specified flow.
  39. rpc ListPages(ListPagesRequest) returns (ListPagesResponse) {
  40. option (google.api.http) = {
  41. get: "/v3/{parent=projects/*/locations/*/agents/*/flows/*}/pages"
  42. };
  43. option (google.api.method_signature) = "parent";
  44. }
  45. // Retrieves the specified page.
  46. rpc GetPage(GetPageRequest) returns (Page) {
  47. option (google.api.http) = {
  48. get: "/v3/{name=projects/*/locations/*/agents/*/flows/*/pages/*}"
  49. };
  50. option (google.api.method_signature) = "name";
  51. }
  52. // Creates a page in the specified flow.
  53. //
  54. // Note: You should always train a flow prior to sending it queries. See the
  55. // [training
  56. // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).
  57. rpc CreatePage(CreatePageRequest) returns (Page) {
  58. option (google.api.http) = {
  59. post: "/v3/{parent=projects/*/locations/*/agents/*/flows/*}/pages"
  60. body: "page"
  61. };
  62. option (google.api.method_signature) = "parent,page";
  63. }
  64. // Updates the specified page.
  65. //
  66. // Note: You should always train a flow prior to sending it queries. See the
  67. // [training
  68. // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).
  69. rpc UpdatePage(UpdatePageRequest) returns (Page) {
  70. option (google.api.http) = {
  71. patch: "/v3/{page.name=projects/*/locations/*/agents/*/flows/*/pages/*}"
  72. body: "page"
  73. };
  74. option (google.api.method_signature) = "page,update_mask";
  75. }
  76. // Deletes the specified page.
  77. //
  78. // Note: You should always train a flow prior to sending it queries. See the
  79. // [training
  80. // documentation](https://cloud.google.com/dialogflow/cx/docs/concept/training).
  81. rpc DeletePage(DeletePageRequest) returns (google.protobuf.Empty) {
  82. option (google.api.http) = {
  83. delete: "/v3/{name=projects/*/locations/*/agents/*/flows/*/pages/*}"
  84. };
  85. option (google.api.method_signature) = "name";
  86. }
  87. }
  88. // A Dialogflow CX conversation (session) can be described and visualized as a
  89. // state machine. The states of a CX session are represented by pages.
  90. //
  91. // For each flow, you define many pages, where your combined pages can handle a
  92. // complete conversation on the topics the flow is designed for. At any given
  93. // moment, exactly one page is the current page, the current page is considered
  94. // active, and the flow associated with that page is considered active. Every
  95. // flow has a special start page. When a flow initially becomes active, the
  96. // start page page becomes the current page. For each conversational turn, the
  97. // current page will either stay the same or transition to another page.
  98. //
  99. // You configure each page to collect information from the end-user that is
  100. // relevant for the conversational state represented by the page.
  101. //
  102. // For more information, see the
  103. // [Page guide](https://cloud.google.com/dialogflow/cx/docs/concept/page).
  104. message Page {
  105. option (google.api.resource) = {
  106. type: "dialogflow.googleapis.com/Page"
  107. pattern: "projects/{project}/locations/{location}/agents/{agent}/flows/{flow}/pages/{page}"
  108. };
  109. // The unique identifier of the page.
  110. // Required for the [Pages.UpdatePage][google.cloud.dialogflow.cx.v3.Pages.UpdatePage] method. [Pages.CreatePage][google.cloud.dialogflow.cx.v3.Pages.CreatePage]
  111. // populates the name automatically.
  112. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  113. // ID>/flows/<Flow ID>/pages/<Page ID>`.
  114. string name = 1;
  115. // Required. The human-readable name of the page, unique within the flow.
  116. string display_name = 2 [(google.api.field_behavior) = REQUIRED];
  117. // The fulfillment to call when the session is entering the page.
  118. Fulfillment entry_fulfillment = 7;
  119. // The form associated with the page, used for collecting parameters
  120. // relevant to the page.
  121. Form form = 4;
  122. // Ordered list of [`TransitionRouteGroups`][google.cloud.dialogflow.cx.v3.TransitionRouteGroup] associated
  123. // with the page. Transition route groups must be unique within a page.
  124. //
  125. // * If multiple transition routes within a page scope refer to the same
  126. // intent, then the precedence order is: page's transition route -> page's
  127. // transition route group -> flow's transition routes.
  128. //
  129. // * If multiple transition route groups within a page contain the same
  130. // intent, then the first group in the ordered list takes precedence.
  131. //
  132. // Format:`projects/<Project ID>/locations/<Location ID>/agents/<Agent
  133. // ID>/flows/<Flow ID>/transitionRouteGroups/<TransitionRouteGroup ID>`.
  134. repeated string transition_route_groups = 11 [(google.api.resource_reference) = {
  135. type: "dialogflow.googleapis.com/TransitionRouteGroup"
  136. }];
  137. // A list of transitions for the transition rules of this page.
  138. // They route the conversation to another page in the same flow, or another
  139. // flow.
  140. //
  141. // When we are in a certain page, the TransitionRoutes are evalauted in the
  142. // following order:
  143. //
  144. // * TransitionRoutes defined in the page with intent specified.
  145. // * TransitionRoutes defined in the
  146. // [transition route groups][google.cloud.dialogflow.cx.v3.Page.transition_route_groups] with intent
  147. // specified.
  148. // * TransitionRoutes defined in flow with intent specified.
  149. // * TransitionRoutes defined in the
  150. // [transition route groups][google.cloud.dialogflow.cx.v3.Flow.transition_route_groups] with intent
  151. // specified.
  152. // * TransitionRoutes defined in the page with only condition specified.
  153. // * TransitionRoutes defined in the
  154. // [transition route groups][google.cloud.dialogflow.cx.v3.Page.transition_route_groups] with only
  155. // condition specified.
  156. repeated TransitionRoute transition_routes = 9;
  157. // Handlers associated with the page to handle events such as webhook errors,
  158. // no match or no input.
  159. repeated EventHandler event_handlers = 10;
  160. }
  161. // A form is a data model that groups related parameters that can be collected
  162. // from the user. The process in which the agent prompts the user and collects
  163. // parameter values from the user is called form filling. A form can be added to
  164. // a [page][google.cloud.dialogflow.cx.v3.Page]. When form filling is done, the filled parameters will be
  165. // written to the [session][google.cloud.dialogflow.cx.v3.SessionInfo.parameters].
  166. message Form {
  167. // Represents a form parameter.
  168. message Parameter {
  169. // Configuration for how the filling of a parameter should be handled.
  170. message FillBehavior {
  171. // Required. The fulfillment to provide the initial prompt that the agent
  172. // can present to the user in order to fill the parameter.
  173. Fulfillment initial_prompt_fulfillment = 3 [(google.api.field_behavior) = REQUIRED];
  174. // The handlers for parameter-level events, used to provide reprompt for
  175. // the parameter or transition to a different page/flow. The supported
  176. // events are:
  177. // * `sys.no-match-<N>`, where N can be from 1 to 6
  178. // * `sys.no-match-default`
  179. // * `sys.no-input-<N>`, where N can be from 1 to 6
  180. // * `sys.no-input-default`
  181. // * `sys.invalid-parameter`
  182. //
  183. // `initial_prompt_fulfillment` provides the first prompt for the
  184. // parameter.
  185. //
  186. // If the user's response does not fill the parameter, a
  187. // no-match/no-input event will be triggered, and the fulfillment
  188. // associated with the `sys.no-match-1`/`sys.no-input-1` handler (if
  189. // defined) will be called to provide a prompt. The
  190. // `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond to
  191. // the next no-match/no-input event, and so on.
  192. //
  193. // A `sys.no-match-default` or `sys.no-input-default` handler will be used
  194. // to handle all following no-match/no-input events after all numbered
  195. // no-match/no-input handlers for the parameter are consumed.
  196. //
  197. // A `sys.invalid-parameter` handler can be defined to handle the case
  198. // where the parameter values have been `invalidated` by webhook. For
  199. // example, if the user's response fill the parameter, however the
  200. // parameter was invalidated by webhook, the fulfillment associated with
  201. // the `sys.invalid-parameter` handler (if defined) will be called to
  202. // provide a prompt.
  203. //
  204. // If the event handler for the corresponding event can't be found on the
  205. // parameter, `initial_prompt_fulfillment` will be re-prompted.
  206. repeated EventHandler reprompt_event_handlers = 5;
  207. }
  208. // Required. The human-readable name of the parameter, unique within the
  209. // form.
  210. string display_name = 1 [(google.api.field_behavior) = REQUIRED];
  211. // Indicates whether the parameter is required. Optional parameters will not
  212. // trigger prompts; however, they are filled if the user specifies them.
  213. // Required parameters must be filled before form filling concludes.
  214. bool required = 2;
  215. // Required. The entity type of the parameter.
  216. // Format: `projects/-/locations/-/agents/-/entityTypes/<System Entity Type
  217. // ID>` for system entity types (for example,
  218. // `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
  219. // `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  220. // ID>/entityTypes/<Entity Type ID>` for developer entity types.
  221. string entity_type = 3 [
  222. (google.api.field_behavior) = REQUIRED,
  223. (google.api.resource_reference) = {
  224. type: "dialogflow.googleapis.com/EntityType"
  225. }
  226. ];
  227. // Indicates whether the parameter represents a list of values.
  228. bool is_list = 4;
  229. // Required. Defines fill behavior for the parameter.
  230. FillBehavior fill_behavior = 7 [(google.api.field_behavior) = REQUIRED];
  231. // The default value of an optional parameter. If the parameter is required,
  232. // the default value will be ignored.
  233. google.protobuf.Value default_value = 9;
  234. // Indicates whether the parameter content should be redacted in log. If
  235. // redaction is enabled, the parameter content will be replaced by parameter
  236. // name during logging.
  237. // Note: the parameter content is subject to redaction if either parameter
  238. // level redaction or [entity type level redaction][google.cloud.dialogflow.cx.v3.EntityType.redact] is
  239. // enabled.
  240. bool redact = 11;
  241. }
  242. // Parameters to collect from the user.
  243. repeated Parameter parameters = 1;
  244. }
  245. // An event handler specifies an [event][google.cloud.dialogflow.cx.v3.EventHandler.event] that can be handled
  246. // during a session. When the specified event happens, the following actions are
  247. // taken in order:
  248. //
  249. // * If there is a
  250. // [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3.EventHandler.trigger_fulfillment] associated with
  251. // the event, it will be called.
  252. // * If there is a [`target_page`][google.cloud.dialogflow.cx.v3.EventHandler.target_page] associated
  253. // with the event, the session will transition into the specified page.
  254. // * If there is a [`target_flow`][google.cloud.dialogflow.cx.v3.EventHandler.target_flow] associated
  255. // with the event, the session will transition into the specified flow.
  256. message EventHandler {
  257. // Output only. The unique identifier of this event handler.
  258. string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  259. // Required. The name of the event to handle.
  260. string event = 4 [(google.api.field_behavior) = REQUIRED];
  261. // The fulfillment to call when the event occurs.
  262. // Handling webhook errors with a fulfillment enabled with webhook could
  263. // cause infinite loop. It is invalid to specify such fulfillment for a
  264. // handler handling webhooks.
  265. Fulfillment trigger_fulfillment = 5;
  266. // The target to transition to, either a page in the same host flow (the flow
  267. // that owns this [TransitionRoute][google.cloud.dialogflow.cx.v3.TransitionRoute]), or another flow in the same agent.
  268. oneof target {
  269. // The target page to transition to.
  270. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  271. // ID>/flows/<Flow ID>/pages/<Page ID>`.
  272. string target_page = 2 [(google.api.resource_reference) = {
  273. type: "dialogflow.googleapis.com/Page"
  274. }];
  275. // The target flow to transition to.
  276. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  277. // ID>/flows/<Flow ID>`.
  278. string target_flow = 3 [(google.api.resource_reference) = {
  279. type: "dialogflow.googleapis.com/Flow"
  280. }];
  281. }
  282. }
  283. // A transition route specifies a [intent][google.cloud.dialogflow.cx.v3.Intent] that can be matched and/or a
  284. // data condition that can be evaluated during a session. When a specified
  285. // transition is matched, the following actions are taken in order:
  286. //
  287. // * If there is a
  288. // [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3.TransitionRoute.trigger_fulfillment] associated with
  289. // the transition, it will be called.
  290. // * If there is a [`target_page`][google.cloud.dialogflow.cx.v3.TransitionRoute.target_page] associated
  291. // with the transition, the session will transition into the specified page.
  292. // * If there is a [`target_flow`][google.cloud.dialogflow.cx.v3.TransitionRoute.target_flow] associated
  293. // with the transition, the session will transition into the specified flow.
  294. message TransitionRoute {
  295. // Output only. The unique identifier of this transition route.
  296. string name = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  297. // The unique identifier of an [Intent][google.cloud.dialogflow.cx.v3.Intent].
  298. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  299. // ID>/intents/<Intent ID>`.
  300. // Indicates that the transition can only happen when the given intent is
  301. // matched.
  302. // At least one of `intent` or `condition` must be specified. When both
  303. // `intent` and `condition` are specified, the transition can only happen
  304. // when both are fulfilled.
  305. string intent = 1 [(google.api.resource_reference) = {
  306. type: "dialogflow.googleapis.com/Intent"
  307. }];
  308. // The condition to evaluate against [form parameters][google.cloud.dialogflow.cx.v3.Form.parameters] or
  309. // [session parameters][google.cloud.dialogflow.cx.v3.SessionInfo.parameters].
  310. //
  311. // See the [conditions
  312. // reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
  313. // At least one of `intent` or `condition` must be specified. When both
  314. // `intent` and `condition` are specified, the transition can only happen
  315. // when both are fulfilled.
  316. string condition = 2;
  317. // The fulfillment to call when the condition is satisfied. At least one of
  318. // `trigger_fulfillment` and `target` must be specified. When both are
  319. // defined, `trigger_fulfillment` is executed first.
  320. Fulfillment trigger_fulfillment = 3;
  321. // The target to transition to, either a page in the same host flow (the flow
  322. // that owns this [TransitionRoute][google.cloud.dialogflow.cx.v3.TransitionRoute]), or another flow in the same agent.
  323. oneof target {
  324. // The target page to transition to.
  325. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  326. // ID>/flows/<Flow ID>/pages/<Page ID>`.
  327. string target_page = 4 [(google.api.resource_reference) = {
  328. type: "dialogflow.googleapis.com/Page"
  329. }];
  330. // The target flow to transition to.
  331. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  332. // ID>/flows/<Flow ID>`.
  333. string target_flow = 5 [(google.api.resource_reference) = {
  334. type: "dialogflow.googleapis.com/Flow"
  335. }];
  336. }
  337. }
  338. // The request message for [Pages.ListPages][google.cloud.dialogflow.cx.v3.Pages.ListPages].
  339. message ListPagesRequest {
  340. // Required. The flow to list all pages for.
  341. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  342. // ID>/flows/<Flow ID>`.
  343. string parent = 1 [
  344. (google.api.field_behavior) = REQUIRED,
  345. (google.api.resource_reference) = {
  346. child_type: "dialogflow.googleapis.com/Page"
  347. }
  348. ];
  349. // The language to list pages for. The following fields are language
  350. // dependent:
  351. //
  352. // * `Page.entry_fulfillment.messages`
  353. // * `Page.entry_fulfillment.conditional_cases`
  354. // * `Page.event_handlers.trigger_fulfillment.messages`
  355. // * `Page.event_handlers.trigger_fulfillment.conditional_cases`
  356. // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages`
  357. // *
  358. // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases`
  359. // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
  360. // *
  361. // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases`
  362. // * `Page.transition_routes.trigger_fulfillment.messages`
  363. // * `Page.transition_routes.trigger_fulfillment.conditional_cases`
  364. //
  365. // If not specified, the agent's default language is used.
  366. // [Many
  367. // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
  368. // are supported.
  369. // Note: languages must be enabled in the agent before they can be used.
  370. string language_code = 2;
  371. // The maximum number of items to return in a single page. By default 100 and
  372. // at most 1000.
  373. int32 page_size = 3;
  374. // The next_page_token value returned from a previous list request.
  375. string page_token = 4;
  376. }
  377. // The response message for [Pages.ListPages][google.cloud.dialogflow.cx.v3.Pages.ListPages].
  378. message ListPagesResponse {
  379. // The list of pages. There will be a maximum number of items returned based
  380. // on the page_size field in the request.
  381. repeated Page pages = 1;
  382. // Token to retrieve the next page of results, or empty if there are no more
  383. // results in the list.
  384. string next_page_token = 2;
  385. }
  386. // The request message for [Pages.GetPage][google.cloud.dialogflow.cx.v3.Pages.GetPage].
  387. message GetPageRequest {
  388. // Required. The name of the page.
  389. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  390. // ID>/flows/<Flow ID>/pages/<Page ID>`.
  391. string name = 1 [
  392. (google.api.field_behavior) = REQUIRED,
  393. (google.api.resource_reference) = {
  394. type: "dialogflow.googleapis.com/Page"
  395. }
  396. ];
  397. // The language to retrieve the page for. The following fields are language
  398. // dependent:
  399. //
  400. // * `Page.entry_fulfillment.messages`
  401. // * `Page.entry_fulfillment.conditional_cases`
  402. // * `Page.event_handlers.trigger_fulfillment.messages`
  403. // * `Page.event_handlers.trigger_fulfillment.conditional_cases`
  404. // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages`
  405. // *
  406. // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases`
  407. // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
  408. // *
  409. // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases`
  410. // * `Page.transition_routes.trigger_fulfillment.messages`
  411. // * `Page.transition_routes.trigger_fulfillment.conditional_cases`
  412. //
  413. // If not specified, the agent's default language is used.
  414. // [Many
  415. // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
  416. // are supported.
  417. // Note: languages must be enabled in the agent before they can be used.
  418. string language_code = 2;
  419. }
  420. // The request message for [Pages.CreatePage][google.cloud.dialogflow.cx.v3.Pages.CreatePage].
  421. message CreatePageRequest {
  422. // Required. The flow to create a page for.
  423. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  424. // ID>/flows/<Flow ID>`.
  425. string parent = 1 [
  426. (google.api.field_behavior) = REQUIRED,
  427. (google.api.resource_reference) = {
  428. child_type: "dialogflow.googleapis.com/Page"
  429. }
  430. ];
  431. // Required. The page to create.
  432. Page page = 2 [(google.api.field_behavior) = REQUIRED];
  433. // The language of the following fields in `page`:
  434. //
  435. // * `Page.entry_fulfillment.messages`
  436. // * `Page.entry_fulfillment.conditional_cases`
  437. // * `Page.event_handlers.trigger_fulfillment.messages`
  438. // * `Page.event_handlers.trigger_fulfillment.conditional_cases`
  439. // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages`
  440. // *
  441. // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases`
  442. // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
  443. // *
  444. // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases`
  445. // * `Page.transition_routes.trigger_fulfillment.messages`
  446. // * `Page.transition_routes.trigger_fulfillment.conditional_cases`
  447. //
  448. // If not specified, the agent's default language is used.
  449. // [Many
  450. // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
  451. // are supported.
  452. // Note: languages must be enabled in the agent before they can be used.
  453. string language_code = 3;
  454. }
  455. // The request message for [Pages.UpdatePage][google.cloud.dialogflow.cx.v3.Pages.UpdatePage].
  456. message UpdatePageRequest {
  457. // Required. The page to update.
  458. Page page = 1 [(google.api.field_behavior) = REQUIRED];
  459. // The language of the following fields in `page`:
  460. //
  461. // * `Page.entry_fulfillment.messages`
  462. // * `Page.entry_fulfillment.conditional_cases`
  463. // * `Page.event_handlers.trigger_fulfillment.messages`
  464. // * `Page.event_handlers.trigger_fulfillment.conditional_cases`
  465. // * `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages`
  466. // *
  467. // `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases`
  468. // * `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
  469. // *
  470. // `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases`
  471. // * `Page.transition_routes.trigger_fulfillment.messages`
  472. // * `Page.transition_routes.trigger_fulfillment.conditional_cases`
  473. //
  474. // If not specified, the agent's default language is used.
  475. // [Many
  476. // languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
  477. // are supported.
  478. // Note: languages must be enabled in the agent before they can be used.
  479. string language_code = 2;
  480. // The mask to control which fields get updated. If the mask is not present,
  481. // all fields will be updated.
  482. google.protobuf.FieldMask update_mask = 3;
  483. }
  484. // The request message for [Pages.DeletePage][google.cloud.dialogflow.cx.v3.Pages.DeletePage].
  485. message DeletePageRequest {
  486. // Required. The name of the page to delete.
  487. // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
  488. // ID>/Flows/<flow ID>/pages/<Page ID>`.
  489. string name = 1 [
  490. (google.api.field_behavior) = REQUIRED,
  491. (google.api.resource_reference) = {
  492. type: "dialogflow.googleapis.com/Page"
  493. }
  494. ];
  495. // This field has no effect for pages with no incoming transitions.
  496. // For pages with incoming transitions:
  497. //
  498. // * If `force` is set to false, an error will be returned with message
  499. // indicating the incoming transitions.
  500. // * If `force` is set to true, Dialogflow will remove the page, as well as
  501. // any transitions to the page (i.e. [Target
  502. // page][EventHandler.target_page] in event handlers or [Target
  503. // page][TransitionRoute.target_page] in transition routes that point to
  504. // this page will be cleared).
  505. bool force = 2;
  506. }