use of com.google.cloud.dialogflow.cx.v3beta1.PagesClient in project java-dialogflow-cx by googleapis.
the class CreatePage method createPage.
// Create a page in the specified agent.
public static Page createPage(String displayName, String projectId, String locationId, String agentId, String flowId, List<String> entryTexts) throws IOException, ApiException {
PagesSettings.Builder pagesSettingsBuilder = PagesSettings.newBuilder();
if (locationId.equals("global")) {
pagesSettingsBuilder.setEndpoint("dialogflow.googleapis.com:443");
} else {
pagesSettingsBuilder.setEndpoint(locationId + "-dialogflow.googleapis.com:443");
}
PagesSettings pagesSettings = pagesSettingsBuilder.build();
// Instantiates a client
try (PagesClient pagesClient = PagesClient.create(pagesSettings)) {
// Set the flow name using the projectID (my-project-id), locationID (global), agentID (UUID)
// and flowID (UUID).
FlowName parent = FlowName.of(projectId, locationId, agentId, flowId);
// Build the entry fulfillment based on entry texts.
Fulfillment.Builder entryFulfillmentBuilder = Fulfillment.newBuilder();
for (String entryText : entryTexts) {
entryFulfillmentBuilder.addMessages(ResponseMessage.newBuilder().setText(Text.newBuilder().addText(entryText).build()).build());
}
Fulfillment entryFulfillment = entryFulfillmentBuilder.build();
// Build the form for the new page.
// Note: hard coding parameters for simplicity.
FillBehavior fillBehavior = FillBehavior.newBuilder().setInitialPromptFulfillment(Fulfillment.newBuilder().addMessages(ResponseMessage.newBuilder().setText(Text.newBuilder().addText("What would you like?").build()).build()).build()).build();
Form form = Form.newBuilder().addParameters(Parameter.newBuilder().setDisplayName("param").setRequired(true).setEntityType("projects/-/locations/-/agents/-/entityTypes/sys.any").setFillBehavior(fillBehavior).build()).build();
// Build the page.
Page page = Page.newBuilder().setDisplayName(displayName).setEntryFulfillment(entryFulfillment).setForm(form).build();
// Performs the create page request.
Page response = pagesClient.createPage(parent, page);
// TODO : Uncomment if you want to print response
// System.out.format("Page created: %s\n", response.toString());
pagesClient.shutdown();
return response;
}
}
use of com.google.cloud.dialogflow.cx.v3beta1.PagesClient in project java-dialogflow-cx by googleapis.
the class DeletePage method deletePage.
// DialogFlow API Delete Page Sample.
// Deletes a page from the provided parameters
public static void deletePage(String projectId, String agentId, String flowId, String pageId, String location) throws IOException {
try (PagesClient client = PagesClient.create()) {
Builder deleteRequestBuilder = DeletePageRequest.newBuilder();
deleteRequestBuilder.setName("projects/" + projectId + "/locations/" + location + "/agents/" + agentId + "/flows/" + flowId + "/pages/" + pageId);
// Make API request to delete page
client.deletePage(deleteRequestBuilder.build());
System.out.println("Successfully deleted page!");
}
}
use of com.google.cloud.dialogflow.cx.v3beta1.PagesClient in project java-dialogflow-cx by googleapis.
the class ITSystemTest method setUp.
@BeforeClass
public static void setUp() throws IOException, ExecutionException, InterruptedException {
/* create agents */
agentsClient = AgentsClient.create();
Agent agent = Agent.newBuilder().setDisplayName(DISPLAY_NAME).setDescription(DESCRIPTION).setTimeZone(AGENT_TIME_ZONE).setDefaultLanguageCode(DEFAULT_LANGUAGE_CODE).setStartFlow(ID).setEnableStackdriverLogging(true).build();
Agent response = agentsClient.createAgent(PARENT, agent);
agentName = response.getName();
/* create entity types */
entityTypesClient = EntityTypesClient.create();
EntityType entityType = EntityType.newBuilder().setAutoExpansionMode(EntityType.AutoExpansionMode.AUTO_EXPANSION_MODE_DEFAULT).setAutoExpansionModeValue(1).setDisplayName(DISPLAY_NAME).setEnableFuzzyExtraction(true).setKind(EntityType.Kind.KIND_LIST).build();
CreateEntityTypeRequest request = CreateEntityTypeRequest.newBuilder().setParent(agentName).setEntityType(entityType).build();
EntityType entityTypeResponse = entityTypesClient.createEntityType(request);
entityTypesName = entityTypeResponse.getName();
/* create flows */
flowsClient = FlowsClient.create();
Flow flow = Flow.newBuilder().setNluSettings(NLUSETTINGS).setDisplayName(DISPLAY_NAME).setDescription(DESCRIPTION).build();
CreateFlowRequest createFlowRequest = CreateFlowRequest.newBuilder().setParent(agentName).setFlow(flow).build();
Flow flowResponse = flowsClient.createFlow(createFlowRequest);
flowName = flowResponse.getName();
Flow trainFlow = Flow.newBuilder().setNluSettings(NLUSETTINGS).setDisplayName(DISPLAY_NAME2).setDescription(DESCRIPTION).build();
CreateFlowRequest createTrainFlowRequest = CreateFlowRequest.newBuilder().setParent(agentName).setFlow(trainFlow).build();
Flow trainFlowResponse = flowsClient.createFlow(createTrainFlowRequest);
trainFlowName = trainFlowResponse.getName();
/* create intents */
intentsClient = IntentsClient.create();
Intent intent = Intent.newBuilder().setDisplayName(DISPLAY_NAME).setPriority(1).build();
CreateIntentRequest createIntentRequest = CreateIntentRequest.newBuilder().setIntent(intent).setParent(agentName).build();
Intent intentResponse = intentsClient.createIntent(createIntentRequest);
intentsName = intentResponse.getName();
/* create pages */
pagesClient = PagesClient.create();
Page page = Page.newBuilder().setDisplayName(DISPLAY_NAME).build();
CreatePageRequest createPageRequest = CreatePageRequest.newBuilder().setPage(page).setParent(flowName).build();
Page pageResponse = pagesClient.createPage(createPageRequest);
pageName = pageResponse.getName();
/* create session */
sessionsClient = SessionsClient.create();
/* create transition route groups */
transitionRouteGroupsClient = TransitionRouteGroupsClient.create();
TransitionRouteGroup transitionRouteGroup = TransitionRouteGroup.newBuilder().setDisplayName(DISPLAY_NAME).build();
CreateTransitionRouteGroupRequest transitionRouteGroupRequest = CreateTransitionRouteGroupRequest.newBuilder().setParent(flowName).setTransitionRouteGroup(transitionRouteGroup).build();
TransitionRouteGroup transitionRouteGroupResponse = transitionRouteGroupsClient.createTransitionRouteGroup(transitionRouteGroupRequest);
transitionRouteGroupName = transitionRouteGroupResponse.getName();
/* create version */
versionsClient = VersionsClient.create();
Version version = Version.newBuilder().setStateValue(2).setDisplayName(DISPLAY_NAME).build();
CreateVersionRequest createVersionRequest = CreateVersionRequest.newBuilder().setParent(flowName).setVersion(version).build();
Version versionResponse = versionsClient.createVersionAsync(createVersionRequest).get();
versionName = versionResponse.getName();
}
use of com.google.cloud.dialogflow.cx.v3beta1.PagesClient in project java-dialogflow-cx by googleapis.
the class CreateSimplePage method createPage.
// DialogFlow API Create Page Sample.
// Creates a page from the provided parameters
public static Page createPage(String projectId, String agentId, String flowId, String location, String displayName) throws IOException {
Page response;
CreatePageRequest.Builder createRequestBuilder = CreatePageRequest.newBuilder();
Page.Builder pageBuilder = Page.newBuilder();
pageBuilder.setDisplayName(displayName);
createRequestBuilder.setParent("projects/" + projectId + "/locations/" + location + "/agents/" + agentId + "/flows/" + flowId).setPage(pageBuilder);
// Make API request to create page
try (PagesClient client = PagesClient.create()) {
response = client.createPage(createRequestBuilder.build());
System.out.println("Successfully created page!");
return response;
}
}
use of com.google.cloud.dialogflow.cx.v3beta1.PagesClient in project java-dialogflow-cx by googleapis.
the class ListPages method listPages.
// DialogFlow API List Pages Sample.
// Lists all pages from the provided parameters
public static void listPages(String projectId, String agentId, String flowId, String location) throws IOException {
PagesClient client = PagesClient.create();
Builder listRequestBuilder = ListPagesRequest.newBuilder();
listRequestBuilder.setParent("projects/" + projectId + "/locations/" + location + "/agents/" + agentId + "/flows/" + flowId);
listRequestBuilder.setLanguageCode("en");
// Make API request to list all pages in the project
for (Page element : client.listPages(listRequestBuilder.build()).iterateAll()) {
System.out.println(element);
}
}
Aggregations