Search in sources :

Example 1 with PagesClient

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;
    }
}
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)

Example 2 with PagesClient

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!");
    }
}
Also used : PagesClient(com.google.cloud.dialogflow.cx.v3.PagesClient) Builder(com.google.cloud.dialogflow.cx.v3.DeletePageRequest.Builder)

Example 3 with PagesClient

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();
}
Also used : Agent(com.google.cloud.dialogflow.cx.v3beta1.Agent) CreateEntityTypeRequest(com.google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest) CreatePageRequest(com.google.cloud.dialogflow.cx.v3beta1.CreatePageRequest) Intent(com.google.cloud.dialogflow.cx.v3beta1.Intent) Page(com.google.cloud.dialogflow.cx.v3beta1.Page) CreateTransitionRouteGroupRequest(com.google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest) Flow(com.google.cloud.dialogflow.cx.v3beta1.Flow) EntityType(com.google.cloud.dialogflow.cx.v3beta1.EntityType) Version(com.google.cloud.dialogflow.cx.v3beta1.Version) CreateFlowRequest(com.google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest) TransitionRouteGroup(com.google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup) CreateVersionRequest(com.google.cloud.dialogflow.cx.v3beta1.CreateVersionRequest) CreateIntentRequest(com.google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest) BeforeClass(org.junit.BeforeClass)

Example 4 with PagesClient

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;
    }
}
Also used : PagesClient(com.google.cloud.dialogflow.cx.v3.PagesClient) CreatePageRequest(com.google.cloud.dialogflow.cx.v3.CreatePageRequest) Page(com.google.cloud.dialogflow.cx.v3.Page)

Example 5 with PagesClient

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);
    }
}
Also used : PagesClient(com.google.cloud.dialogflow.cx.v3.PagesClient) Builder(com.google.cloud.dialogflow.cx.v3.ListPagesRequest.Builder) Page(com.google.cloud.dialogflow.cx.v3.Page)

Aggregations

PagesClient (com.google.cloud.dialogflow.cx.v3.PagesClient)3 Page (com.google.cloud.dialogflow.cx.v3.Page)2 Page (com.google.cloud.dialogflow.cx.v3beta1.Page)2 CreatePageRequest (com.google.cloud.dialogflow.cx.v3.CreatePageRequest)1 Builder (com.google.cloud.dialogflow.cx.v3.DeletePageRequest.Builder)1 Builder (com.google.cloud.dialogflow.cx.v3.ListPagesRequest.Builder)1 Agent (com.google.cloud.dialogflow.cx.v3beta1.Agent)1 CreateEntityTypeRequest (com.google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest)1 CreateFlowRequest (com.google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest)1 CreateIntentRequest (com.google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest)1 CreatePageRequest (com.google.cloud.dialogflow.cx.v3beta1.CreatePageRequest)1 CreateTransitionRouteGroupRequest (com.google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest)1 CreateVersionRequest (com.google.cloud.dialogflow.cx.v3beta1.CreateVersionRequest)1 EntityType (com.google.cloud.dialogflow.cx.v3beta1.EntityType)1 Flow (com.google.cloud.dialogflow.cx.v3beta1.Flow)1 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 Intent (com.google.cloud.dialogflow.cx.v3beta1.Intent)1