Search in sources :

Example 1 with PagesSettings

use of com.google.cloud.dialogflow.cx.v3beta1.PagesSettings 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;
    }
}
Also used : PagesClient(com.google.cloud.dialogflow.cx.v3beta1.PagesClient) Fulfillment(com.google.cloud.dialogflow.cx.v3beta1.Fulfillment) FillBehavior(com.google.cloud.dialogflow.cx.v3beta1.Form.Parameter.FillBehavior) Form(com.google.cloud.dialogflow.cx.v3beta1.Form) FlowName(com.google.cloud.dialogflow.cx.v3beta1.FlowName) Page(com.google.cloud.dialogflow.cx.v3beta1.Page) PagesSettings(com.google.cloud.dialogflow.cx.v3beta1.PagesSettings)

Aggregations

FlowName (com.google.cloud.dialogflow.cx.v3beta1.FlowName)1 Form (com.google.cloud.dialogflow.cx.v3beta1.Form)1 FillBehavior (com.google.cloud.dialogflow.cx.v3beta1.Form.Parameter.FillBehavior)1 Fulfillment (com.google.cloud.dialogflow.cx.v3beta1.Fulfillment)1 Page (com.google.cloud.dialogflow.cx.v3beta1.Page)1 PagesClient (com.google.cloud.dialogflow.cx.v3beta1.PagesClient)1 PagesSettings (com.google.cloud.dialogflow.cx.v3beta1.PagesSettings)1